Buscar

Trabalho de Sistemas a Microprocessadores - PIC

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

CENTRO UNIVERSITÁRIO RADIAL 
 
 
 
 
 
Sistemas a Microprocessadores 
PESQUISA DO PROJETO PIC 16F818 e LM35 
 
 
 
 
 
Prof. Sidnei Ravoni 
 
 
 
 
 
 
 
 
 
 
 
 
ENGENHARIA ELÉTRICA P9 
JOÃO MARCOS NASCIMENTO 
Matrícula: 201002255589 
 
 
TERMÔMETRO DIGITAL COM PIC 16F818 e LM35 
 
Introdução 
Neste trabalho vou descrever a construção de um dispositivo eletrônico para medir a 
temperatura ambiente, que é informada ao usuário por meio de um display de LED's 
do tipo 7-segmentos. 
Este projeto consiste de duas partes: hardware (menor complexidade) e software 
(maior complexidade). Na primeira descrevo o conceito, o funcionamento e a 
montagem do dispositivo. Na segunda faço o mesmo para o firmware (programa) 
que irá executar dentro do dispositivo. 
A principal vantagem da abordagem adotada neste projeto é o número reduzido de 
componentes utilizados na construção. Embora existam chips dedicados a esta 
tarefa, estes podem não ser muito facilmente encontrados e não podem ser 
modificados ou adaptados a uma utilização em particular. Além disso, a construção 
com PIC é bastante didática. 
Todos os arquivos necessários para realizar a construção e a programação, 
incluindo o esquema elétrico e o código fonte em assembler, podem ser encontrados 
neste arquivo compactado. 
Hardware 
O componente escolhido para ser o coração deste projeto foi o PIC16F818, que em 
seus 18 pinos apresenta uma quantidade suficiente de entradas e saídas (16), 
possui conversor A/D integrado, oscilador interno de 8MHz, pode armazenar até 1K 
palavras de programa, 128 bytes de RAM e 128 de EEPROM, bem mais do que o 
necessário para esta aplicação. Esse componente apresenta ainda outros recursos 
bem convenientes, como um módulo para comunicação serial síncrona e outro para 
PWM. Em outro projeto, utilizei o módulo de comunicação serial para implementar 
um bus I2C para que um componente mestre controle outros componentes 
escravos. 
O PIC16F818 é compatível pino-a-pino com seu ancestral direto, o popular 
PIC16F84, mas é muito mais versátil do que este. 
Dentre todos os tipos de sensores de temperatura, por causa do baixo preço, 
estabilidade, precisão e facilidade de uso, o LM35 foi escolhido. Este componente é 
um circuito integrado dotado de um sensor de temperatura e circuitos de 
compensação térmica e de potência, apresentando a temperatura medida como 
voltagem com resolução de 10mV de por grau Celsius. 
 
 
 
Protótipo montado em proto-board: 
 
Protótipo auto-iluminado: 
 
Versão final e sua caixa: 
 
 
 
 
 
Versão final, em seu local definitivo: 
 
 
Esquema elétrico: 
 
 
 
 
 
Versão em PDF. 
Arquivo fonte para o GEDA : Termometro.sch 
Arquivo de símbolos descrevendo o componente PIC16F818: pic16F818-1. sym 
 
Software 
O firmware para o termômetro foi escrito em linguagem assembly para PIC em 
PC/Linux usando as ferramentas de código aberto piklab e gputils. Os repositórios 
de algumas distros já vêm com esses pacotes, mas normalmente eles não são 
instalados por padrão. Apesar disso foi muito fácil instalá-los em meu Fedora usando 
yum: 
[waldeck@halpic]$ yum -y install piklab gputils 
O screenshot abaixo mostra o ambiente de desenvolvimento integrado do piklab, 
com um excerto do código fonte do termômetro visível na janela de editoração. Com 
o piklab é possível organizar os arquivos contendo o código fonte em um mesmo 
diretório, e incluí-los em um arquivo de projeto, que contém também detalhes e 
configurações sobre o hardware onde o programa irá executar. Após compilar o 
código fonte, pode-se transferir o executável para a memória flash do chip com 
apenas um clique do mouse. 
 
O software é responsável por fazer leituras digitais periódicas do sinal analógico 
fornecido pelo LM35, converter essa informação em uma temperatura segundo a 
escala Celsius, converter esse número de binário para decimal, exibir a temperatura 
no visor, memorizar na EEPROM as temperaturas mínimas e máximas observadas e 
responder à pressão de um botão. O software também permite exibir a temperatura 
em Fahrenheit, se desejado. Para algumas dessas conversões, foi necessário 
implementar rotinas de multiplicação e divisão eficientes, já que estas operações não 
estão presentes no hardware.

Outros materiais