andré brandão péres -...
TRANSCRIPT
1
CENTRO UNIVERSITÁRIO DE BRASÍLIA – UNICEUB
FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA – FAET
André Brandão Péres
MONITORADOR
DE
TEMPERATURA E UMIDADE DO AR
Brasília, julho de 2008.
2
ANDRÉ BRANDÃO PÉRES
MONITORADOR DE TEMPERATURA E UMIDADE DO AR
Trabalho apresentado ao Centro
Universitário de Brasília - UNICEUB
como pré-requisito para a obtenção de
Certificado de Conclusão de Curso de
Engenharia de Computação.
Orientadora: Maria Marony S.F.
Nascimento
Brasília, julho de 2008.
3
Tema: Monitoramento de temperatura e umidade do ar.
Autor: André Brandão Péres
Aprovada por:
Banca Examinadora:
Data:
4
RESUMO
Monitoramento de Temperatura e Umidade do Ar
É de suma importância analisar as condições climáticas ambientais,
principalmente, quando se trata de produção animal, vegetal, conservação de
acervos bibliotecários e mesmo no cotidiano dos seres vivos, portanto, controle
ambiental adequado. O trabalho apresenta e demonstra a construção de um
sistema de aquisição automatizada de dados de umidade relativa do ar e
temperatura, utilizando-se de microcontrolador de dimensões reduzidas e de
baixo custo. As etapas de testes, utilizando situações naturais e artificiais, bem
como as metodologias desenvolvidas, apresentaram resultados que permitem
concluir que o sistema pode ser utilizado com segurança e precisão no
monitoramento de inúmeras condições ambientais. Os dados são apresentados
em uma tela de LCD, onde poderá ser colhido, para análise das condições
ambientais.
Palavras Chaves: microcontrolador, sensor, temperatura, umidade.
5
ABSTRACT
It is of paramount importance to analyze the environmental weather
conditions, particularly when it comes to animal production, plant, conservation,
library collections and even in daily life of living beings, therefore, appropriate
environmental control. The work presents and demonstrates the construction of a
system of automated data acquisition of relative humidity and temperature, using
the microcontroller, small and low cost. The stages of testing, using natural and
artificial situations, and the methodologies developed, showed results that can be
concluded that the system can be used safely and accuracy in tracking many
ambient conditions. The data are presented on an LCD screen, which can be
collected for analysis of environmental conditions.
Keywords: microcontroller, sensor, temperature, humidity.
6
SUMÁRIO
Lista de Figuras ............................................................................................................................................ 8 Agradecimentos ........................................................................................................................................ 11 Capítulo 1 ................................................................................................................................................... 12 Introdução .................................................................................................................................................. 12
1.1 Motivação ..................................................................................................................................... 14 1.2 Aspectos Gerais ........................................................................................................................... 14 1.3 Objetivos ...................................................................................................................................... 15 1.4 Estrutura da Monografia .......................................................................................................... 16
Capítulo 2 ................................................................................................................................................... 17 Umidade Relativa do Ar, Temperatura e Instrumentos Utilizados Para Seu Monitoramento. . 17
2.1 Higrômetro ................................................................................................................................... 20 2.2 A Medição mecânica de umidade ............................................................................................ 22
2.2.1 Higrômetro de cabelo ...................................................................................................... 22 2.2.2 A medição psicrométrica de umidade ........................................................................... 23 2.2.3 Higrômetro de Espelho de Ponto de Orvalho ........................................................... 24 2.2.4 Comparação das Diferentes Técnicas de Medição ..................................................... 25
2.3 Termômetro ................................................................................................................................. 25 2.3.1 Termômetro Bimetálico .................................................................................................. 25 2.3.2 Termômetro digital .......................................................................................................... 27 2.3.3 Termômetro de mercúrio................................................................................................ 28
2.4 Instrumento para visualizar temperatura e umidade do ar .................................................. 29 Capítulo 3 ................................................................................................................................................... 30 Descrição do Hardware e Componentes ............................................................................................. 30
3.1 Funcionamento do Hardware .................................................................................................. 30 3.1.1 Introdução .......................................................................................................................... 30 3.1.2 Funcionamento do Circuito ........................................................................................... 31
3.2 O SISTEMA MÍNIMO .................................................................................................................... 33 3.2.1 Microcontrolador .................................................................................................................... 33
3.2.2 Microcontrolador PIC 16F628A (MICROSHIP) ..................................................... 34 3.2.3 Características .................................................................................................................... 34 3.2.4 Pinagem do PIC16F628A ............................................................................................... 35 3.2.5 Diagrama de Blocos do PIC16F628A .......................................................................... 36 3.2.6 Características Elétricas ................................................................................................... 37
3.3 Sensor de temperatura e umidade do ar (SHT11) ............................................................... 37 3.3.1 Dentro das aplicações típicas para o SHT11, se enquadram: ................................... 39 3.3.2 Características Técnicas: .................................................................................................. 39 3.3.3 Terminais Alimentação: ................................................................................................... 40 3.3.4 Terminais de Comunicação: ........................................................................................... 40 3.3.5 Diagrama de Blocos ......................................................................................................... 40 3.3.6 Especificações (Interface) ............................................................................................... 40 3.3.7 Comunicação com o SHT11 .......................................................................................... 41 Envio Comando ......................................................................................................................... 41 3.3.8 Seqüência da medição ...................................................................................................... 42
3.4 O display LCD ............................................................................................................................ 42 3.5 Montagem do Hardware ................................................................................................................... 45 Capítulo 4 ................................................................................................................................................... 47 Linguagem Utilizada e Programa Gravado no Microcontrolador .................................................. 47
7
4.1 Desenvolvimento do software do Monitorador de Temperatura e Umidade do Ar. ....... 47 Capítulo 5 ................................................................................................................................................... 51 Comparativo com Monitorador do Mercado...................................................................................... 51
5.1 SITUAÇÃO 1- Ambiente em uma sala de escritório ................................................... 52 5.2 SITUAÇÃO 2 - Ambiente de sala de escritório, com ar condicionado. ................... 53 5.3 SITUAÇÃO 3 – Interior de um refrigerador. ................................................................ 54
Capítulo 6 ................................................................................................................................................... 55 Testes, Validações e Resultados ............................................................................................................ 55
7.1 Considerações Finais .................................................................................................................. 57 7.2 Projetos Futuros .......................................................................................................................... 58
Referências Bibliográficas ....................................................................................................................... 59 APÉNDICE I – Código Fonte do Monitorador de Temperatura e Umidade do Ar ................. 61
8
Lista de Figuras
Figura 1 - Relação entre a quantidade de vapor de d'água que ele contém e o que conteria se
estivesse saturado. ......... ................................................................................................................. 16
Figura 2 - Umidade Global - 27/04/1995 ............................................................................................ 17
Figura 3 - Higrõmetro de bulbo seco. ................................................................................................. 18
Figura 4 - Higrômetro Grafoscópico ................................................................................................... 20
Figura 5 - Um higrômetro de cabelo .................................................................................................... 21
Figura 6 - Psicrômetro ........................................................................................................................ 22
Figura 7 - Termômetro bimetálico ....................................................................................................... 24
Figura 8 - Termômetro Digital ............................................................................................................. 25
Figura 9 - Termometro mercúrio ......................................................................................................... 26
Figura 10 - Termo-Higrômetro Minipa ................................................................................................ 27
Figura 11 - Foto do Hardware do projeto ........................................................................................... 29
Figura 12 - Foto do funcionamento do hardware do projeto ............................................................. 30
Figura 13 - Microcontrolado PIC16F628A .......................................................................................... 32
Figura 14 - Pinagem do PIC16F628A ................................................................................................ 33
Figura 15 - Diagrama de Blocos do PIC16F628A ............................................................................. 34
Figura 16 - – Pinagem do PIC16F628A e Respectivas Portas ......................................................... 34
Figura 17 - Sensor de temperatura e umiodade SHT11 ................................................................... 35
Figura 18 - Comparativo entre a cabeça de um fosforo e o SHT11. ................................................ 36
Figura 19 - Diagrama de Blocos do SHT11 ....................................................................................... 38
Figura 20 - Pinagem do SHT11 .......................................................................................................... 38
Figura 21 - Seqüência de início da comunicação. ............................................................................. 39
Figura 22 - LCD 16X2 .......................................................................................................................... 40
Figura 23 - Diagrama do hardware .................................................................................................... 42
Figura 24 – Criada no PCB .................................................................................................................. 43 Figura 25 - Placa de circuito impresso monitorador de temperatura e umidade do ar . ................43
Figura 26 – Comparativa dos monitoradores ...................................................................... 49
Figura 27 – Comparativo dos monitoradores ................................................................................. 50
Figura 28 – Comparativo dos monitoradores ................................................................................. 51
Figura 29 – Monitorador de temperatura ....................................................................................... 52
Figura 30 – Monitorador de temperatura ....................................................................................... 53
Figura 31 – Monitorador de temperatura ....................................................................................... 53
9
Lista de Tabelas
Tabela 1 – Comparação técnica de medição ..................................................................................... 23
Tabela 2 - Descrição dos pinos SHT11....................................................................................39
Tabela 3 - Comandos enviados ao SHT11...............................................................................39
Tabela 4 - Módulo LCD disponíveis..........................................................................................40
Tabela 5 - Descrição da função dos pinos........................................................................................41
10
Lista de Símbolos e Siglas
KB: KiloByte
m: mili
μ: mili
η: nano
W: Watt
A: Ampere
V: Volt
GND: 0 V
Vcc: 5 V
OE: Output Enable
ALE: Address Latch Enable
CI: Address Latch Enable
LCD: Liquid Cristal Display
RTC: Real Time Count
11
Agradecimentos
JESUS CRISTO por ter transformado minha vida, e nunca ter desistido
de mim, a minha mãe que sempre me apoiou em minhas decisões a minha
esposa pelo apoio e dedicação. A professora, Maria Marony, pela confiança e
orientação deste trabalho. Agradeço, também, ao professor Abiezer coordenador
do curso de engenharia a quem tenho admiração e respeito. Um agradecimento
especial aos meus amigos, hoje já Engenheiros Marcelo Granado e Bruno
Mesquita.
12
Capítulo 1
Introdução
A atmosfera possui propriedades e condições físicas, como
temperatura, umidade, pressão, direção e velocidade de deslocamento do ar,
grau de nebulosidade e quantidade de precipitação.
O conceito de ambiente é amplo, uma vez que inclui todas as
condições que influenciam no desenvolvimento dos animais (ROLLER &
STOMBAUGH, 1976). O ar atmosférico é um importante componente do
ambiente, sendo a temperatura e a umidade relativa do ar os principais
elementos psicrométricos responsáveis por dois processos importantes no
desenvolvimento da produção: o aquecimento e o resfriamento. Em países de
regime tropical, como o Brasil, o aquecimento torna-se o principal problema para
obter alto rendimento, e em países de clima temperado, o resfriamento é um
componente indesejável para o processo produtivo, pois, para cada fase da
produção, são exigidas diferentes faixas de temperatura e umidade relativa.
Essas medidas são de grande importância em áreas como agricultura, zootecnia
e engenharia, e os fabricantes de instrumentos têm-se preocupado em oferecer
grande variedade de equipamentos com aplicação nesses setores (NOBLE & LE
DIVICH, 1982; LE DIVICH & REINALDO, 1989).
Todas essas propriedades mutáveis devem ser medidas com precisão
toda vez que se deseje determinar o que ocorre no ar e como ele varia,
caracterizando, assim, o tempo num dado momento e lugar. A exatidão
13
das medidas vai depender, em grande parte, da precisão do instrumental
utilizado (SILVA, 2000).
A umidade relativa do ar é medida normalmente por psicrômetros1,
higrômetros2 e registrada por higrógrafos, embora, atualmente, existam sensores
eletroeletrônicos que também permitem o monitoramento da umidade
instantânea ou contínua, quando operados com sistemas de aquisição de dados
(SILVA, 2000).
Os sistemas de automação permitem monitorar e controlar o
funcionamento de um sistema físico de forma segura, rápida e automática. O
controle visa a monitorar tarefas rotineiras e respostas comuns a certas
características do ambiente (em que, ambiente significa tudo o que existe em
torno do sistema de controle, inclusive animais). Existem inúmeros exemplos de
sistemas de automação de aquisição de dados, com os mais variados graus de
complexidade. Todos eles, entretanto, têm alguns pontos comuns que os
caracterizam.
A automação na obtenção dos dados tem gerado avanços enormes
no controle de ambientes, pois permite rapidez e confiabilidade na aquisição dos
dados, contribuindo para a tomada rápida de decisões (DALLY et al.,1993).
A maioria dos sistemas de automação necessita de algum tipo de
parâmetro que lhes permita avaliar o estado atual do ambiente. Essa interface,
1 Psirômetros: Psicrômetro é o nome de um conjunto de termômetros usados em meteorologia. Ele é usado para medir a umidade relativa do ar e é composto por dois termômetros idênticos, um denominado termômetro de bulbo seco, e outro com o bulbo envolvido em gaze molhada, denominado termômetro de bulbo úmido(Clima Tempo, 2008 – WWW.climatempo.com.br).
2 Higrômetros: instrumentos para medir a umidade relativa do ar.
14
geralmente, consiste de sensores que medem características do local, tais como
temperatura, umidade relativa, intensidade luminosa e outros.
Dependendo do tipo de sensor, o sistema terá maior ou menor
precisão. Uma alternativa para evitar erros de leitura desse tipo é a utilização de
sensores digitais, mais modernos. O sistema digital oferece muitas vantagens
em relação ao sistema analógico, pois um sinal digital é menos sensível às
interferências eletromagnéticas e, além disso, o protocolo de comunicação
estabelece mecanismo que permite detectar e corrigir erros de transmissão
(SILVA, 2000).
1.1 Motivação
Existem no mercado brasileiro, vários outros tipos de sistemas de aquisição
de dados com a mesma finalidade de obter dados meteorológicos, sendo o preço e a
qualidade do produto, as características básicas para sua escolha.
A motivação para criar um sistema automatizado para medir temperatura e
umidade do ar, veio pelo fato de que o mercado brasileiro não dispõe de bons
monitoradores de ambientes, e os bons monitoradores são importados em sua maioria
são caros.
1.2 Aspectos Gerais
O PIC16F628A3 é um microcontrolador de dimensões reduzidas e de
baixo custo, facilmente programável em Assembly. Esse sistema pode ser
aplicado para resolver vasta gama de problemas de controle, como, por
exemplo, na indústria, em automação de processos, máquinas e equipamentos,
linhas de montagem, linhas de teste, banhos químicos, controle de nível de
3 PIC16F628A – É um microcontrolado fabricado pela Microchip Technology (www.microchip.com.br).
15
líquidos, controle de temperatura. No comércio, como miniterminal para
automação de controle de estoque, pedidos e vendas. Na segurança, no
controle de acesso, alarmes, simulações aleatórias de presença, controle de
portão automático. Na educação, no ensino de programação, eletrônica digital,
robótica e automação de processo, trabalhos e projetos disciplinares. No setor
automotivo, na confecção de alarme, bloqueador, conta-giros, medidor de
consumo. Em casa, no controle de eletrodomésticos, iluminação, nível de caixa
d’água, e no modelismo, como controle de mecanismos para aeromodelos,
automação de ferromodelismo e automação de maquetes (SILVA, 2000).
1.3 Objetivos
A análise de custos de um projeto passa a ser um dos critérios de
decisão para a sua implantação. Portanto, para atender às necessidades do
mercado, o produtor rural, por exemplo, tem de adequar sua produção cada vez
mais às exigências do consumidor, procurando sempre obter um produto de
qualidade e ofertá-lo com maior rapidez.
Tendo em vista as necessidades do setor produtivo em disponibilizar
no mercado produtos e serviços competitivos, ou seja, produtos com qualidade a
baixos custos, o controle ambiental assume posição de destaque. Diante da
importância desses fatores, o presente trabalho apresenta como objetivos, a
construção de um sistema de aquisição de dados de temperatura e umidade de
fácil utilização, utilizando linguagem de programação ASSEMBLY4, utilizando-se,
para tal, um microcontrolador de dimensões reduzidas e de baixo custo
(PIC16F628A), neste caso, buscando compará-lo com outros sistemas já
existentes. 4 Assembly: Linguagem programação de baixo nível, em que cada instrução é escrita por meio de abreviaturas e códigos mnemônicos.
16
1.4 Estrutura da Monografia
Com vista a atingir as metas supracitadas, este trabalho apresenta-se
desenvolvido com a seguinte estrutura:
CAPITULO 2 – Conceito sobre umidade relativa do ar, temperatura, e
instrumentos utilizados para seu monitoramento.
CAPITULO 3 – Descreve o hardware e seus componentes básicos, assim como
seu funcionamento.
CAPITULO 4 – Descreve as características da linguagem de programação
utilizada, e apresenta um trecho do código fonte.
CAPITULO 5 – Este capítulo faz um comparativo entre o monitorador construído
e um monitorador do mercado.
CAPITULO 6 – Descreve os testes e simulações feitas.
CAPITULO 7 – Conclusão.
17
Capítulo 2
Umidade Relativa do Ar, Temperatura e Instrumentos Utilizados Para Seu Monitoramento.
O ar atmosférico sempre contém quantidade variável de vapor de
água conforme a temperatura, região, estação, etc. Esse vapor, resultante da
evaporação das águas dos mares, rios e lagos, sobretudo pela ação do calor
solar, sobem na atmosfera e passa a fazer parte de sua composição. Deve-se
ao vapor de água diversos fenômenos relevantes na vida de animais e plantas,
como a chuva, neve, etc.
O tempo depende não apenas dos ventos, mas também da umidade e
temperatura. Muitas vezes no verão, nós dizemos que o ar está úmido, pesado.
O ar "pesado" tem grande umidade relativa ele contém quase tanta umidade
quanto pode conter. Quando um espaço contém todo o vapor d'água que pode
conter à sua temperatura, sua umidade relativa é de 100 por cento. Se um metro
cúbico de ar contém 7 gramas de vapor d'água, mas pode conter 14 gramas,
sua umidade relativa é de 50 por cento. Umidade relativa de um volume de ar é
a relação entre a quantidade de vapor de d'água que ele contém e o que
conteria se estivesse saturado. (GRALLA, Preston).
18
FIGURA 1 – Relação entre a quantidade de vapor de d'água que ele contém e o que conteria se estivesse saturado.
[GRALLA, Preston]. [O Meio ambiente]. [Quark Books],[Disponível em:<http://br.geocities.com/saladefisica>. Acesso em: 10 jan. 2008].
A quantidade de vapor d'água necessária para saturar um volume
aumenta com a temperatura. A temperatura em que o vapor d'água fica saturado
chama-se ponto de orvalho. No inverno rigoroso, ao ar livre, o ar que você expira
é tão úmido que, esfriando-se bastante, pode ficar abaixo do ponto de orvalho.
Então ele se condensa formando uma névoa. (GRALLA, Preston).
No frio do inverno, o ar pode conter pouca umidade; seu ponto de
orvalho é baixo. No verão, o ar pode conter mais vapor d'água; portanto seu
ponto de orvalho é mais alto.
Algumas vezes, no inverno, e mesmo no verão (em dias úmidos e
chuvosos), o vapor d'água do ar se condensa nos vidros dos automóveis, por
dentro, impedindo a boa visibilidade.
Os valores da umidade relativa, normalmente encontrados próximo à
superfície da terra estão em torno de 60%; já em um deserto, onde a
19
temperatura sobe, por vezes, a valores maiores que 45 Graus Celsius, a
umidade relativa gira em torno de apenas 15%.
FIGURA 2 - (Umidade Global - 27/04/1995 - Castanho corresponde à baixa umidade)
[GRALLA, Preston]. [O Meio ambiente]. [Quark Books],[Disponível em:<http://br.geocities.com/saladefisica>. Acesso em: 10 jan. 2008].
Um fato interessante ligado à umidade relativa é que o homem sente-
se melhor em um ambiente com umidade baixa - mesmo a despeito de forte
calor - do que em lugares de umidade relativa elevada e temperaturas menores.
Nestes últimos, o suor custa mais a evaporar, razão pela qual a sudorese, ainda
que abundante, não provoca resfriamento sensível. Uma sudorese muito menor
em ambiente de ar seco permite, ao contrário, uma evaporação rápida do suor e
uma conseqüente diminuição de temperatura.
Se o homem vive em um lugar em que o ar é seco no verão, isto é, a
umidade relativa é baixa, então ele sua livremente e pode suportar temperaturas
superiores a 37 Graus Celsius. Num lugar de muita umidade, o homem sente
calor mesmo a 25 Graus Celsius. Não é o calor, é a umidade que faz com que o
20
homem sinta-se mal. O conforto depende da temperatura do ar como de sua
umidade relativa.
2.1 Higrômetro
Algumas substâncias com capacidade de absorver a umidade
atmosférica servem como elemento básico para a construção de higrômetros.
Entre elas estão o cabelo humano e sais de lítio. No higrômetro construído com
cabelo humano, uma mecha de cabelos é colocada entre um ponto fixo e outro
móvel e, segundo a umidade a que está submetida, ela varia de comprimento,
arrastando o ponto móvel. Esse movimento é transmitido a um ponteiro que se
desloca sobre uma escala, na qual estão os valores da umidade relativa. Outro
tipo de higrômetro é o que se baseia na variação de condutividade de sais de
lítio, os quais apresentam uma resistência variável de acordo com a água
absorvida. Um amperímetro5 com sua escala devidamente calibrada fornece os
valores de umidade do ar.
FIGURA 3 – Higrõmetro de bulbo seco.
[GRALLA, Preston]. [O Meio ambiente]. [Quark Books],[Disponível em:<http://br.geocities.com/saladefisica>. Acesso em: 10 jan. 2008].
5 Amperímetro: é um instrumento utilizado para fazer a medida da intensidade no fluxo da corrente elétrica que passa através
da sessão transversal de um condutor.
21
Outra maneira de medir a umidade relativa é calcular a velocidade de
evaporação da água. Para isso, dois termômetros idênticos são expostos ao ar:
um traz o bulbo descoberto; outro tem o bulbo coberto por gaze umedecida. A
temperatura do segundo termômetro é, pelo arranjo, inferior à do primeiro,
porque a água evaporada da gaze resfria o bulbo. Quanto menor a umidade do
ar, tanto maior é o resfriamento da gaze. A partir da diferença de leitura entre os
dois termômetros, e com a ajuda de uma tabela, pode ser encontrado o valor da
umidade relativa (GRALLA, 2002).
O ar contém um valor definido de vapor de água (g/m3); este valor
significa a umidade absoluta.
Existe um valor máximo admissível de vapor no ar. Se este valor for
ultrapassado, o vapor se transformará em neblina ou, conforme o caso, em
chuva.
O máximo vapor que o ar consegue absorver (100%) depende da
temperatura ambiente. A umidade relativa do ar nada mais é que uma
porcentagem do valor máximo admissível. A quantidade máxima possível
depende principalmente da temperatura e é importante ressaltar que a umidade
relativa esta sempre relacionada com a temperatura.
22
FIGURA 4 – Higrômetro Grafoscópico.< www.arikah.net> Acesso em: 15 jan. 2008.
2.2 A Medição mecânica de umidade
2.2.1 Higrômetro de cabelo
Os higrômetros de cabelo requerem manutenção regular. Para evitar
o ressecamento e a quebra dos fios, os higrômetros de cabelo devem ter seus
elementos de medição tratados regularmente. Este tratamento deve ser feito
envolvendo a mecha de cabelo em um pano umedecido com água destilada ou
borrifado com água destilada, de modo que ocorra a saturação. Após
aproximadamente uma hora, se obtém o valor de medida de 98% u.r.
aproximadamente. Na maioria dos instrumentos, pode-se fazer o ajuste de um
ponto, através de um pequeno parafuso no mecanismo do instrumento.
23
FIGURA 5 - Um higrômetro de cabelo. O cabelo se contrai quando o ar fica mais seco e move o ponteiro.
<www.jgarraio.pt> Acesso em 12 de abril de 2008.
2.2.2 A medição psicrométrica de umidade
Os psicrômetros funcionam com dois termômetros idênticos, muito
precisos, ao longo dos quais o ar que se mede é conduzido a uma velocidade
definida ou acima da velocidade na qual o ar circula. O primeiro termômetro
mede o ar ambiente e o segundo a chamada temperatura de bulbo úmido. Para
este propósito, o ponto de medida do termômetro é coberto por uma malha
(mecha) de algodão e umedecido com água destilada. Ambos os termômetros
são colocados em uma circulação de ar ou em meio de ar circulante, protegidos
de calor radiante. Devido ao calor de evaporação latente, a temperatura do
termômetro de bulbo úmido baixa, e baixa mais à medida que o ar estiver mais
seco. Depois de um curto tempo ( 1 ou 2 minutos) a temperatura do termômetro
de bulbo úmido permanece constante e os valores de medição dos dois
termômetros (bulbo úmido e bulbo seco) podem ser lidos.
24
FIGURA 6 – Psicrômetro < www.labcaa.ufjf.br> Acesso em 20 de maio de 2008>
2.2.3 Higrômetro de Espelho de Ponto de Orvalho
O espelho de ponto de orvalho é um procedimento muito preciso de
medição para ler a umidade relativa, onde se avalia a condensação do vapor de
água quando sua temperatura abaixa além do ponto de orvalho. A temperatura
de uma superfície refletida (espelho) se esfria até o ponto onde começa a
condensação. A temperatura medida neste momento por uma termoresistência
PT-100,corresponde à temperatura do ponto de orvalho, da qual se pode
calcular a umidade relativa, por meio do cruzamento de informação com a
medição da pressão de saturação e temperatura do ar. Um elemento Peltier é
instalado para esfriar e se avalia a superfície refletida, usando um procedimento
opticoeletrônico.
25
2.2.4 Comparação das Diferentes Técnicas de Medição
TABELA 1 - Comparação tecnicas de medição
2.3 Termômetro
Termômetro é todo instrumento capaz de medir a temperatura dos
sistemas físicos. Os tipos mais comuns de termômetros são os que se baseiam
na dilatação do mercúrio. Outros determinam o intervalo de temperatura
mediante o aumento da pressão de um gás ou pela curvatura de uma lâmina bi
metálica. Alguns empregam efeitos elétricos, traduzidos pelo aparecimento de
correntes elétricas quando o ponto de solda de dois metais diferentes é
aquecido.
2.3.1 Termômetro Bimetálico
Os mais conhecidos termômetros metálicos baseiam-se no
fenômeno da deformação termodinâmica, esse efeito acontece quando uma
26
barra de metal é ligada a outra de coeficientes diferente, a corrente ao
atravessar (ou ser aquecida por chama) irá aquecer o conjunto de forma
desigual resultando diferentes dilatações o que resultará num arqueamento da
barra que pode ser usado, tanto para abrir ou fechar válvulas bem como ligar ou
desligar circuitos eletricos ou no caso registrar a quantidade de corrente que
atravessa a barra. Os do primeiro tipo podem ser construídos de forma
semelhante aos termômetros a líquido: uma barra, retilínea ou não, ao dilatar-se,
move um ponteiro registrador. Os mais usados e precisos termômetros desse
tipo exploram a diferença de dilatabilidade entre materiais como latão e partes
de carros, ferro e cobre, etc. Para isso, constroem-se lâminas bimetálicas de
forma espiralada que se curvam conforme aumenta ou diminue a temperatura.
Nesse movimento, a lâmina arrasta, em sua extremidade, um ponteiro que
percorre uma escala graduada ou registra graficamente a variação de
temperatura num papel em movimento. Nesse último caso, tem-se um
termógrafo.
FIGURA 7 - Termômetro bimetálico< www.termometal.com> Acesso em maio de 2008.
27
2.3.2 Termômetro digital
Os termômetros digitais são instrumentos amplamente utilizados em
empresas, destinados a medir temperatura em processos e produtos diversos,
que não necessitam de uma medição constante, apenas esporádica.
Um termômetro infravermelho (também denominado de pirómetro
óptico) é um dispositivo que mede temperatura sem contacto com o corpo/meio
do qual se pretende conhecer a temperatura. Geralmente este termo é aplicado
a instrumentos que medem temperaturas superiores a 600 graus celsius. Uma
utilização típica é a medição da temperatura de metais incandescentes em fundições.
Há também os modelos de termômetros por contacto, que utilizam pontas
sensoras, geralmente intercambiáveis, com modelos diferentes de sensores para cada
aplicação. Exemplos de aplicações de termômetros digitais: medição de temperatura em
fundições, em alimentos em restaurantes ou indústrias, em processos químicos, em
estruturas, em fornos, em produtos diversos.
FIGURA 8 – Termômetro Digital< www.labmais.com.br> Acesso em abril de 2008.
Os termômetros digitais em geral podem ter aplicação industrial ou
não, para monitoração constante e precisa das temperaturas de determinados
equipamentos que sejam esses sensíveis a alterações de seu funcionamento,
28
em função de sua temperatura e/ou ambientes que necessitam de cuidados com
a temperatura a exemplo disso temos a conservação de alimentos a baixas
temperaturas em supermercados, como também em laboratórios biológicos para
cultivo de bactérias ou outras espécies. É também utilizado versões deste
equipamento com interface de raio infravermelho (INFRARED), para verificação
esporádica de temperatura sem contato físico com o objeto, exemplo industrias,
fórmula1, etc.
2.3.3 Termômetro de mercúrio
O termômetro de mercúrio é o mais comum. Ele consiste basicamente
de um tubo capilar (fino como cabelo) de vidro, fechado a vácuo, e um bulbo
(espécie de bolha arredondada) em uma extremidade contendo mercúrio.
FIGURA 9 – Termometro mercúrio<www. mateboatica.blogspot.com>Acesso maio de 2008.
O mercúrio, como todos os materiais, dilata se quando aumenta a
temperatura. Por ser extremamente sensível, ele aumenta de volume à menor
variação de temperatura, mesmo próxima à do corpo humano. O volume do
mercúrio aquecido se expande no tubo capilar do termômetro. E essa expansão
é medida pela variação do comprimento, numa escala graduada que pode ter
uma precisão de 0,05ºC. É dessa forma, pela expansão do líquido, que
observamos a variação da temperatura.
29
2.4 Instrumento para visualizar temperatura e umidade do
ar
Termo-higrômetro
O termo-higrômetro é um instrumento de dupla função que indica a
temperatura e umidade relativa do ar ambiente. O seu campo de aplicação é
muito vasto, tais como: transporte de alimentos, armazéns de perecíveis,
frigoríficos, hospitais e laboratórios, sala de computadores, etc.
FIGURA 10 – Termo-Higrômetro Minipa< www.planetanews.com>Acesso em janeiro de 2008
30
Capítulo 3
Descrição do Hardware e Componentes
A importância de manter níveis corretos de umidade relativa em
ambientes climatizados ou refrigerados é tão grande quanto à preocupação com
a temperatura.
É muito agradável entrar num ambiente com temperatura adequada e
constante, mas nem sempre encontramos essa situação nos locais de trabalho.
Do mesmo modo, grandes indústrias ou pequenos estabelecimentos comerciais
poderiam conservar por mais tempo seus produtos, evitando o desperdício de
energia, se estivessem atentos à importância do controle da umidade.
Nas grandes cidades, alterações no grau de umidade do ar podem ser
notadas freqüentemente. Foi isso que aconteceu há alguns meses, quando o ar
da cidade de São Paulo acusou um dos mais baixos índices de umidade já
registrados e isso causou alergias respiratórias, irritações nos olhos e garganta,
mal-estar.
Hoje já se sabe que o conforto térmico garante o bem-estar e está
ligada diretamente a um melhor desempenho e maior produtividade no ambiente
de trabalho.
3.1 Funcionamento do Hardware
3.1.1 Introdução
O projeto tem como objetivo a construção de um monitorador para a
aquisição de dados de umidade e temperatura do ar utilizando um
31
microcontrolador de dimensões reduzidas de baixo custo e facilmente
programável.
3.1.2 Funcionamento do Circuito
Ao ligar o circuito, o sistema começa fazer a leitura de temperatura e
umidade através do sensor SHT116 (fabricado pela alemã SENSIRION7), e a
mostrar esses valores lidos na tela do display.
FIGURA 11 - Foto do Hardware do projeto.
FIGURA 12 - Foto do funcionamento do hardware do projeto.
6 SHT11: Sensor de temperatura e umidade relativa do ar digital.
7 Sensirion: Fabricante de produtos eletrônicos.
32
Devido à precisão do sensor, a temperatura fica alternando
constantemente, medindo a cada segundo os novos valores e apresentando no
LCD.
33
3.2 O SISTEMA MÍNIMO
O Sistema Microcontrolado e o corpo do projeto a parte central, e é
responsável pela execução das principais funções, o monitoramento da
temperatura e umidade relativa do ar. O sistema é composto um microcontrolador
PIC16F628A, o sensor de umidade e temperatura SHT11, LCD 16X2 (dezesseis
colunas por duas linhas), placa de circuito impresso e componentes, tais como
resistores capacitores e regulador de tensão.
3.2.1 Microcontrolador
Um microcontrolador é um componente que tem, num único chip, além
de uma CPU, elementos tais como memórias ROM e RAM,
temporizadores/contadores, PWM, conversor A/D, canais de comunicação e
conversores analógico-digitais. Esta característica diferencia os sistemas
baseados em microcontroladores daqueles baseados em microprocessadores,
onde normalmente se utilizam vários componentes para implementar essas
funções. Com isso, os microcontroladores permitem a implementação de
sistemas mais compactos e baratos do que aqueles baseados em
microprocessadores.
Em contrapartida, as CPUs dos microcontroladores são, menos
poderosas do que os microprocessadores. Seu conjunto de instruções costuma
se limitar às instruções mais simples, sua freqüência de clock é mais baixa e o
espaço de memória endereçável costuma ser bem menor. Vê-se daí que o
campo de aplicação dos microcontroladores é diferente daquele dos
microprocessadores, e que um sistema que possa ser controlado por um
microcontrolador tende a ter menor complexidade e menor custo do que um
sistema que exija a capacidade de processamento de um microprocessador.
34
3.2.2 Microcontrolador PIC 16F628A (MICROSHIP)
O PIC16F628A é um microcontrolador fabricado pela MICROSHIP
TECNOLOGY, com as seguintes características:
FIGURA 13 – Microcontrolado PIC16F628A< www.engcomper.com.br> Acesso em junho de 2008.
3.2.3 Características
Composto de 18 pinos;
Possui somente 35 instruções no seu microcódigo;
Sinal de clock de freqüência de até 20 MHZ;
Memória de programa do tipo FLASH de 20 48 words (1 word= 32bits);
224 bytes de memória RAM para dados;
128 bytes de memória EPROM para dados;
Instrução de 14 bits, com 20 ns de execução;
Dados de 8 bits para endereço de memória;
15 registradores especiais;
16 pinos os quais pode ser configurados com entrada e/ou saída.
35
3.2.4 Pinagem do PIC16F628A
FIGURA 14 – Pinagem do PIC16F628A < www.antrak.org.tr> Acesso em maio de 2008.
Os pinos de RA0 a RA7 pode ser configurados como entradas ou
saídas digitais. A alimentação se da pelo pino Vdd, ligado normalmente a 5 volts
com faixa de tolerância de 2V a 6V e o pino Vss é o referência de terra. O pino
OSC1/CLKIN é utilizado para o sinal de clock produzido por um cristal externo e
o pino OSC2/CLKOUT para sinal de clock por cristal. O pino MCLR é uma
entrada de sinal de reset em nível baixo (zero). O PIC16F628A é composto
pelos sub sistemas digitais conforme diagrama de blocos da figura 15.
36
3.2.5 Diagrama de Blocos do PIC16F628A
FIGURA 15 – Diagrama de Blocos do PIC16F628A < www.leopoldina.cefetmg.br> Acesso em maio 2008.
FIGURA 16 – Pinagem do PIC16F628A e Respectivas Portas. < www.leopoldina.cefetmg.br> Acesso em maio 2008.
37
3.2.6 Características Elétricas
Temperatura de trabalho -40ºC até +125ºC
Temperatura de armazenamento -65ºC até 150ºC
Tensão de trabalho 3.0V a 5.5V
Voltagem máxima no pino Vdd (em relação ao Vss) -0.3V até 6.5V
V. máxima no pino MCRL (em relação ao Vss) -0.3V até 14V
V. max. nos demais pinos (em relação ao Vss) -0.3V até (Vdd + 0.3V)
Dissipação máxima de energia 800 mW
Corrente máxima de saída no pino Vss 300 mA
Corrente máxima de entrada no pino Vdd 250 mA
Corrente máxima de entrada de um pino (quando em Vss)
25 mA
Corrente máxima de saída de um pino (quando em Vdd)
25 mA
Corrente máxima de entrada do PORTA 200 mA
Corrente máxima de saída do PORTA 200 mA
Corrente máxima de entrada do PORTB 200 mA
Corrente máxima de saída do PORTB 200 mA
3.3 Sensor de temperatura e umidade do ar (SHT11)
FIGURA 17 – Sensor de temperatura e umidade SHT11<www. avrtools.co.kr> Acesso em março de 2007.
38
O Sensor SHT11 é um circuito integrado para a medição de temperatura
e umidade relativa de alta precisão, com uma saída digital de fácil leitura e
interpretação.
Este dispositivo inclui um elemento sensor de polímero capacitivo para a
medição da umidade. Ambos os elementos de medição estão conectados a um
conversor analógico digital de 14 bits e a um circuito de interface serial contido
dentro do mesmo chip. Com isso se obtém medições rápidas, precisas e imunes
a perturbações externas, tudo isso com um preço muito competitivo, se
comparado a outros sensores do mercado.
Cada sensor SHT11 é calibrado de forma individual, utilizando um
higrômetro de alta precisão como referência, para obter uma série de
coeficientes de calibração, que são gravados em uma memória OTP e utilizados
durante a medição, a fim de calibrar o sinal da saída do módulo.
O circuito tem uma interface simples, muito adequado para utilização em
sistemas baseados em microcontroladores, tem um tamanho reduzido, baixo
consumo de energia.
FUGURA 18 – Comparativo entre a cabeça de um fosforo e o SHT11.<www.octopart.com>Acesso em março
de 2007.
39
3.3.1 Dentro das aplicações típicas para o SHT11, se
enquadram:
Indústria automotiva;
Estações metrológicas;
Umidificadores;
Desumidificadores;
Sistemas de medição;
Registradores de temperatura e umidade;
Automação;
Equipamentos médicos.
3.3.2 Características Técnicas:
Voltagem de Alimentação = 2.4 – 5.5 VDC.
Variação de temperatura = -40ºC a 123.8 ºC
Precisão (Temp.) = + / - 0,5 º C a 25 ° C
Variação de umidade = 0% o 100%
Precisão (unidade) = +/- 3.5% UR
Reduzido consumo de Energia (30 μW tip.)
2 linhas de comunicação serial.
Geração automática do CRC.
O SHT11 utilizado apenas quatro (04) terminais, dois (02) para a
alimentação e dois (02) para a comunicação.
40
3.3.3 Terminais Alimentação:
O SHT11 requer uma fonte alimentar VDC entre 2,4 e 5,5 VDC que
conecta VDD entre os terminais (positivo) e GND (Referência). Depois ignição
requer um 11 ms pendentes antes de começar a enviar comandos.
3.3.4 Terminais de Comunicação:
A interface de comunicação serial síncrona usada pelo SHT11 é
otimizada para leitura do sensor. Ele identifica dois terminais: SCK e dados. O
terminal SCK é usado para sincronizar comunicação entre um microcontrolador
e do módulo.
3.3.5 Diagrama de Blocos
FIGURA 19– Diagrama de Blocos do SHT11< ww.sensirion.com.br> Acesso em março de 2007.
3.3.6 Especificações (Interface)
FIGURA 20 – Pinagem do SHT11< ww.sensirion.com.br> Acesso em março de 2007.
TABELA 2 –Descrição dos Pinos SHT11 < ww.sensirion.com.br> Acesso em março de 2007.
41
3.3.7 Comunicação com o SHT11
Envio Comando
Para iniciar uma transferência, envia-se o boot seqüência mostrado na
figura. 21. Este consiste no seguinte procedimento:
Coloca-se a linha SCK em estado alto e posteriormente no pino DATA e baixo.
Produz-se um pulso em SCK (alta e baixa - e, em seguida, baixa a alta).
Na linha DATA, se coloca novamente em alto preservando o estado do
SCK.
Figura 21 – Seqüência de início da comunicação. < ww.sensirion.com.br> Acesso em março de 2007.
Posteriormente, se deve enviar um comando cujos primeiros bits são
“000” e os seguintes cinco bits (05) dependerão da ação realizada conforme se
mostra na figura 5. Por exemplo, para efetuar a medição da temperatura no
microcontrolador deve ser enviado o comando “00000101”
42
Tabela 3 - Comandos enviados ao SHT11. < ww.sensirion.com.br> Acesso em março de 2007.
3.3.8 Seqüência da medição
Logo que for enviado o comando de medição (ver figura das linhas), o
microcontrolado deve esperar que a medição seja completada, o que demora
por volta de 11ms a 210ms.
3.4 O display LCD
Os módulos LCD são interfaces de saída muito úteis em sistemas
micro processados. Estes módulos podem ser gráficos e a caráter. Os módulos
LCD gráficos são encontrados com resoluções de 122x32, 128x64, 240x64 e
240x128 dos pixel, e geralmente estão disponíveis com 20 pinos para conexão.
Os LCD comuns (tipo caráter) são especificados em número de linhas por
colunas e são encontrados nas configurações previstas na Tabela 1.
FIGURA 22 – LCD 16X2< www.soldafria.com.br> Acesso em fevereiro de 2008>
43
Os módulos podem ser encontrados com LED backligh8t (com uma
iluminação de fundo) para facilitar as leituras durante a noite. Neste caso, a
alimentação deste led9 faz-se normalmente pelos pinos 15 e 16 para os módulos
comuns e 19 e 20 para os módulos gráficos, sendo os pinos 15 e 19 para ligação
ao anodo e os pinos 16 e 20 para o catodo. A corrente de alimentação deste led
varia de 100 a 200mA, dependendo do modelo.
Estes módulos utilizam um controlador próprio, permitindo sua
interligação com outras placas através de seus pinos, onde deve ser alimentado
o módulo e interligado o barramento de dados e controle do módulo com a placa
do usuário.
Naturalmente que além de alimentar e conectar os pinos do módulo
com a placa do usuário deverá haver um protocolo de comunicação entre as
partes, que envolve o envio de bytes de instruções e bytes de dados pelo
sistema do usuário.
A Tabela 5 descreve cada pino do módulo ou do display para conexão deste e outras placas:
8 Backlight: Luz de fundo (iluminação do LCD).
9 LED: é a sigla em inglês para Light Emitting Diode, ou Diodo Emissor de Luz.
44
Tabela 5 – Descrição da função dos Pinos
45
3.5 Montagem do Hardware
O microcontrolador é responsável por obter as leituras da umidade e
temperatura do sensor SHT11. Na figura 23 temos o esquema de como foi
montado o circuito, que consta basicamente de um PIC16F628A e o sensor
SHT11. No esquema pode-se observar que toda montagem foi feita de acordo
com as orientações dos fabricantes, do sensor e do microcontrolador.
Figura 23 - Diagrama do hardware < www.turkengineers.com> Acesso em maio de 2007.
Na figura, segue o desenho da placa feita no software PCB. Este
programa gera também o desenho para ser impressos em uma transparência
adesiva, onde podemos passar para uma placa de fenolite10, e mergulhá-la em
uma solução acida, para a imagem ficar gravada na placa para montagem do
circuito. Depois de confeccionada a placa, foi soldado todos os componentes de
acordo com a instrução dos fabricantes.
10
Fenolite: é um laminado industrial, duro e denso, feito por aplicação de calor e pressão em camadas de celulose
impregnadas com resinas sintéticas (fenólicas).
46
Figura 24 - criada no PCB – Maio de 2008
Na figura 25, é apresentada a placa de circuito impressa confeccionada
Figura 25 – Placa de circuito impresso monitorador de temperatura e umidade do ar. <Tirada por Andre
Brandão Maio de 2008>
47
Capítulo 4
Linguagem Utilizada e Programa Gravado no Microcontrolador
A principal motivação para o uso da linguagem assembly, deve-se a
quantidade de bibliografias existentes e por ser uma linguagem de programação
que permite comunicação fácil e clara com a máquina. Outra razão e que
programas assembly são mais rápidos, menores e mais poderosos do que os
criados com outras linguagens.
Uma das características da linguagem assembly, é que cada linha de
código fonte possui apenas uma instrução para o processador. Por exemplo,
MOV EAX,EDX irá MOVer o conteúdo do registrador EDX para o registrador
EAX. Neste caso, a instrução "MOV" é chamada de mneumônico. Os
mneumônicos são os "apelidos" das instruções, mais fáceis de guardar na
memória do que seu valor hexadecimal exigido pelo processador (Manzano,
1998).
Dessa forma, escreve-se o código fonte e a máquina faz exatamente
o que é programado, assegurando maior controle, e tornando o programa
enxuto, rápido e altamente eficiente (Manzano, 1998).
4.1 Desenvolvimento do software do Monitorador de
Temperatura e Umidade do Ar.
Para o desenvolvimento do software empregou-se a ferramenta de
desenvolvimento “Mplab”. Essa ferramenta apresenta grande facilidade na
48
programação. Para o desenvolvimento do software do monitorador fez-se
pesquisa, da linguagem de programação em C e Assembly. A utilizada foi o
Assembly.
Com a inicialização do monitorador (ligando na fonte de alimentação),
o software, colhe os dados captados pelo sensor. A partir deste processo,
inicializa o processo de leitura da umidade relativa e temperatura, após
finalização desse processo, o dados são enviados ao microcontrolador que
calcula dos dados em algoritmo pré estabelecido, logo após, o microcontrolador
envia os dados onde serão apresentados em uma tela de LCD (16X2). Abaixo
trecho do código fonte.
;******************** Monitorador de Temperatura e Umidade ***********
;---------- ROTINAS DO SENSOR UMEDADE E TEMPERATURA SHT11 ----
;*********************************************************************
;Comandos:
;sht11_Humedad :Leitura da Umidade em 16bits monstrando a ;umidade em RH
;sht11_Set8bits :Configurando o Sensor pra trabalhar em modo de ;8 bits
;sht11_Set14bits : Configurando o Sensor pra trabalhar em modo de 14 ;bits
;sht11_Reset :Reinicia do sensor SHT11
;
;
;---------------------------------------------------------------------
; Revision : 1.00 Feito: 6/1/2005 Programa para : PIC16F628
; CPU Clock : 4 MHz tempo de Instrução : 1uS
; Code Prot : OFF cfg USART rs232 ; none
; Autor : Daniel C. Martin PIC 16F877/ Adaptado para o PIC 16F628A por André ;Brandâo
;****************************************************************************************************************
sincbit EQU 0x50 ;contador envio de bits
49
Wdata EQU 0x51 ;variavel de intercambio de datos
CMData EQU 0x52 ;variável de comandos
RXmsb EQU 0x53 ;registros de repetição de dados
RXlsb EQU 0x54
RH EQU 0x55 ;Porcentagem de Umidade Relativa
ACCaLO equ 0x61 ;Variável de Calculo
ACCaHI equ 0x60
ACCbLO equ 0x63
ACCbHI equ 0x62
ACCcLO equ 0x65
ACCcHI equ 0x64
ACCdLO equ 0x67
ACCdHI equ 0x66
temp equ 0x68
Flags equ 0x69
;Comandos rapidos-------------------------------------------------------------
sht11_Humidad ;LEITURA UMIDADE 2 bytes
call SHT11_start ;Inicio de transmição
movlw b'00000101'
call SHT11_CMD ;Envio: Leitura da Umidade
call waitACK ; sensor
call adqtime ;espera para passar tempo aquisição dados
call readMSB ;lê byte alto
call setACK
call readLSB ;lê byte baixo
call setNACK
call CalcRH ;Calcula %RH e ajusta linearidade
;retorna variavel RH com dado
return ;Retorna
50
No trecho de código fonte acima é possível ver como se dá início a
leitura da umidade e temperatura através do sensor SHT11. Após dá se início ao
comando de inicialização do LCD, para apresentação dos dados.
51
Capítulo 5
Comparativo com Monitorador do Mercado
Hoje no mercado brasileiro, existe uma infinidade de monitoradores de
temperatura e umidade do ar, muitos deles, conjugado em um só aparelho a
medição de temperatura e umidade do ar, mais conhecidos como termo-
higrômetro. Vale ressaltar que existem bons aparelhos, mas em sua maioria são
aparelhos caros, e os que possuem preços acessíveis, possuem baixa precisão e
retorno dos dados.
Para fazer este comparativo, foi realizada a monitoração de uma
sala, e o monitorador desenvolvido está em condições iguais a outro
monitorador, o MINIPA MT-242, adquirido, para a comparação no projeto. A
seguir são apresentadas as situações as quais foram submetidas os dois
monitoradores. Nesta, o monitorador do projeto é chamado de MTP e o
monitorador comercial de MINIPA. A hora registrada é a mesma para os dois
monitoradores.
Abaixo algumas características do termo-higrômetro MINIPA MT-242:
Termo Higrômetro destinado para medida e monitoramento de
temperatura e umidade ambiental. Possui função Máx/Mín de leitura e relógio integrado.
Display: Triplo
Ambiente de Operação: De 0°C a 50°C RH: < 95%
Ambiente de Armazenamento: De -20°C a 60°C RH: < 95%
Alimentação: 1 Pilha AAA Faixa de Temperatura: 0°C ~ 50°C (32°F ~ 122°F)
Precisão: 0°C ~ 40°C ± 1°C 40°C ~ 50°C ± 2°C 32°F ~ 104°F ± 2°F 104°F ~ 122°F ± 4°F
Resolução: 0.1°C / 0.1°F Umidade: Faixa: 5% ~ 19% (Indicação LO) 20% ~ 90% (Display
com Dois Dígitos) 91% ~ 95% (Indicação HI) Precisão: 5% ~
52
24% ± 10% 25% ~ 80% ± 5% somente para 20°C ~ 30°C
25% ~ 60% ± 5% 61% ~ 95% ± 10% Resolução: 1% Função Máx/Mín: Leitura Máxima e Mínima
5.1 SITUAÇÃO 1- Ambiente em uma sala de escritório .
FIGURA 26 – Comparativo dos monitoradores<Foto tirada por André Brandão>
MTP
Hora do registro: 16hs 14min 36s
TEMP: 26,9 °C
HUMID: 42,1 %
MINIPA
Hora do registro: 16hs 14min 36s
TEMP: 26,6 °C
HUMID: 43%
Observações Situação 1: Em situações normais, a diferença nas medições de
temperatura é pequena, e a umidade tem uma variação acima de 1%.
53
5.2 SITUAÇÃO 2 - Ambiente de sala de escritório, com ar
condicionado.
Figura 27 – Comparativo dos monitoradores<Foto tirada por André Brandão>
MTP
Hora do registro: 16 hs 22m e 44s
TEMP: 17,9 °C
HUMID: 54.5 %
MINIPA
Hora do registro: 16 hs 22m e 44s
TEMP: 21,4 °C
HUMID: 42%
Observações Situação 2: Nesta ocasião, ficou claro que os monitoradores
exposto a variação de temperatura brusca, o MTP, se sai melhor, pois apresenta
um tempo de resposta imediato a variação da temperatura e umidade, já o
MINIPA, demora para marcar a real temperatura.
54
5.3 SITUAÇÃO 3 – Interior de um refrigerador.
FIGURA 28 – Comparativo dos monitoradores<Foto tirada por André Brandão>
MTP
Hora do registro: 21hs 55min 15s
TEMP: -12,0 °C
HUMID: 53.1%
MINIPA
Hora do registro: 21hs 55min 15s
TEMP: 21,8 °C
HUMID: 22%
Observações Situação 3: Os dois monitoradores, foram colocados
dentro do refrigerador por aproximadamente um minuto, sendo que o MTP,
registrou temperaturas negativa, e o MINIPA, demorou para ter sua temperatura
diminuída. Foi observado também que o MTP, apresentou algumas falhas em
apresentar os dados a temperaturas muito baixas, por períodos prolongados,
houve falhas nos pixels do LCD.
55
Capítulo 6
Testes, Validações e Resultados
Foi possível realizar o monitoramento da temperatura e umidade do
ar com o hardware construído, os dados foram apresentados com precisão no
display de LCD, conforme o objetivo deste projeto, a seguir as amostras dos
resultados.
Primeira Leitura de temperatura e umidade realizada em meu escritório no dia 18
de maio de 2008:
FIGURA 29 - Monitorador de Temperatura<Foto tirada por André Brandão>
Medidas feitas pelo monitorados às 15hs e 29 min.
TEMPERATURA: 18,6 °C UMIDADE: 53,5%
Segunda Leitura de temperatura e umidade realizada em minha empresa
(SRTVS 701 BL “O” SALA 334) no dia 25 de maio de 2008, nesta ocasião o
condicionador de ar estava ligado em sua potência máxima.
56
FIGURA 30 - Monitorador de Temperatura<Foto tirada por André Brandão>
Medidas feitas pelo monitorados às 16hs e 35 min.
TEMPERATURA INSTANTÂNEA: 26,9 °C UMIDADE: 45%
Terceira Leitura de temperatura e umidade realizada em minha empresa no dia
25 de maio de 2008, nesta ocasião monitorador foi exposto a temperaturas do
meio externo.
FIGURA 31 - Monitorador de Temperatura<Foto tirada por André Brandão>
Medidas feitas pelo monitorados às 16hs e 55 min.
TEMPERATURA INSTANTÂNEA: 26,9 °C UMIDADE: 42,1%
57
Capítulo 7
Conclusão
7.1 Considerações Finais
Os progressos industriais, agrícolas, científicos, e a exigência cada
vez maior na qualidade dos produtos desenvolvidos ou cultivados, trazem a
necessidade constante de desenvolvimento de novos sistemas de controle e
principalmente o emprego de sistemas digitais.
Com a utilização do sensor SHT11, microcontrolador PIC16F628A, e
outros componentes, juntamente com o software desenvolvido para o
Monitorador, e a tecnologia digital reunida, resultou-se em um sistema
automatizado de coleta de dados de temperatura e umidade relativa do ar de
alta precisão.
Por fim, o Monitorador de Temperatura e Umidade do Ar, demonstrou
ser um projeto com a necessidade de um enorme esforço e uma grande
quantidade de horas de pesquisa para alcanças os resultados buscados.
Contudo, os objetivos inicias foram atingidos satisfatoriamente, foi
possível testar e validar todas as etapas do projeto, o monitorador foi exposto a
condições ambientais diferentes, e foi aprovado em todas elas. Constatou-se um
grande aprendizado na área da tecnologia para desenvolvimento de softwares e
para controle de dispositivos. Aprendeu-se também a trabalhar com o software
Mplab 6.1 que é uma ótima plataforma para o desenvolvimento de soluções para
microcontroladores.
O desenvolvimento desse trabalho foi uma experiência muito
produtiva, proporcionando um contato intenso com o ambiente de pesquisa.
58
Ademais, trouxe um grande aprendizado para a vida e para o crescimento de
minha carreira profissional.
7.2 Projetos Futuros
Diante do cenário exposto nas conclusões do projeto, a seguir,
apresenta-se as sugestões para trabalhos futuros:
• Desenvolvimento de software de interface gráfica, para coleta e análise das
informações colhidas pelo Monitorador;
• Desenvolver o código fonte da interface gráfica para ser usado em PDA;
• Implementação de um sistema de gerenciamento de banco de dados tipo
MySQL11, para facilitar a obtenção de dados;
• Desenvolvimento de sistemas automatizado para controle de ambientes.
11
MySQL: é um sistema de gerenciamento de banco de dados (SGBD), que utiliza a linguagem SQL (Structured Query
Language - Linguagem de Consulta Estruturada) como interface.
59
Referências Bibliográficas
BATES, Martin. Interfacing PIC microcontrollers: Embedded design by interactive
simulation. Newnes (Elsevier), 2006.
BATES, Martin. PIC microcontrollers: An introduction to microelectronics.
Newnes (Elsevier), 2004.
BARBACENA, Ilton L.; FLEURY, Cláudio Afonso. Display LCD. São Paulo,
Disponível em: <www2.eletronica.org/apostilas-e-
ebooks/components/LCD_30324b.pdf>. Acesso em: 06 mai. 2008.
EME SYSTEMS. Sensors: Interface to the sensirion SHTxx humidity and
temperature chip, with dewpoint calwlation. Berkeley CA U.S.A., Disponível em:
<http://www.emesystems.com/OLZsht1x.htm>. Acesso em: 10 jan.2008.
EMBEDDED HADWARE SOLUTIONS E PRAKTIKUM GROUP. Projekti: SHT11
RTIV. Turquia, Disponível em:
<http://www.epraktikum.co.yu/projekti/sht11_lcd/sht11_lcd.php>. Acesso em: 10
jan. 2008.
GRALLA, Preston. O Meio ambiente. Quark Books,Disponível
em:<http://br.geocities.com/saladefisica>. Acesso em: 10 jan. 2008.
IBRAHIM, Dogan. PIC Basic: Programming and projects. Newnes (Elsevier),
2001.
IBRAHIM, Dogan. PIC Basic projects: 30 projects using PIC basic and PIC basic
PRO. Newnes (Elsevier), 2006.
IBRAHIN, Dogan; WILMSHURST. Tim; DI JASIO, Lucio. PIC microcontrollers .
Newnes (Elsevier), 2007.
NORTON, John. PIC microcontrollers: The your personal introductory course.
Newnes (Elsevier), 2005.
PEREIRA, Fábio. Microcontroladores PIC – programação em C. Erica, 2003.
PEREIRA, Fábio. Microcontroladores PIC- técnicas avançadas. Erica, 2002.
RUDOLPH, T. 1-Wire/HiMD projects: 1-Wire IOPort.html. Turquia, Disponível
em: <http://home.hetnet.nl/~thomas_7/1Wire/1-wire.html>. Acesso em: 10
jan.2008.
SENSIRION THE SENSOR COMPANY. Humidity Sensors: Humidity Sensor
SHT11: Sample Code humidity sensor SHTxx. Switzerland, Disponível em:
<www.sensirion.com>. Acesso em: 10 jan. 2008.
60
SMITH, David W.. PIC in practice: A project basic approach. Newnes (Elsevier),
2006.
SILVA, Renato A.. Programando microcontroladores PIC- linguagem C. Ensino
Profissional, 2007.
SOUZA, David José de; LAVINIA, Nicolas Cesar. Conectando o PIC – recursos
avançados. Erica, 2003.
SOUZA, David José de. Desbravando o PIC – aplicado e atualizado. Erica, 2007.
TECHTOYS COMPANY. Components: Sensores. Hong Kong, Disponível em:
<http://www.techtoys.com.hk/Componentes?SHT1x/SHT1.htm>. Acesso em: 10
jan. 2008.
TUTORIAL MICROCONTROLLER MCS – 51 ATMEL ISP. Projects: Humidity &
Temperature Sensmitter SHTxx trough Serial RS232. Dalam Bahasa Indonésia,
Disponível
em:<http://www.mytutorialcafe.com/Microcontroller%20thesis%20SHTxx1.htm.>.
Acesso em: 10 jan.2008.
TURKENGINEERS.COM SINIRSIZ ÇÖZÜMELER SUNAR. Makaleler: SHT11
ILE Sicaklik + Nem Olcumu. Turquia, Disponível em:
<http://www.turkengineers.com/metin.php?metin=51>. Acesso em: 11 jan. 2008.
WILMSHURST, Tim. Designing embedded systems eith PIC: Principles and
applications. Newnes (Elsevier), 2006.
ZANCO, Wagner da Silva. Microcontroladores PIC- tecnicas de software e
hardware para projetos de circuitos eletrônicos. Erica, 2006.
61
APÉNDICE I – Código Fonte do Monitorador de Temperatura e Umidade do Ar
;=======================================================================
; MONITORADOR DE TEMPERATURA E UMIDADE DO AR
; ANDRE BRANDAO PERES
; VERSÃO 1.0
;===============================================================================
;===============================================================================
LIST P=16F628, F=INHX8M
include "P16FXX.inc"
ORG 0x0000
CLRF 0x32
GOTO Label_0001
MOVF FSR , W
Label_002A MOVWF 0x27
BCF PORTB , 02
BCF PORTB , 03
BCF PORTB , 03
BSF STATUS , RP0
BCF TRISB , 02
BCF TRISB , 03
BCF TRISB , 03
MOVLW 0x0F
ANDWF TRISB , f
BCF STATUS , RP0
MOVF 0x27 , W
BTFSC 0x32 , 01
GOTO Label_0002
MOVLW 0x3A
62
MOVWF 0x21
MOVLW 0x98
CALL Label_0003
MOVLW 0x33
MOVWF 0x26
CALL Label_0004
MOVLW 0x13
MOVWF 0x21
MOVLW 0x88
CALL Label_0003
CALL Label_0004
MOVLW 0x64
CALL Label_0005
CALL Label_0004
MOVLW 0x64
CALL Label_0005
MOVLW 0x22
MOVWF 0x26
CALL Label_0004
MOVLW 0x28
CALL Label_0006
MOVLW 0x0C
CALL Label_0006
MOVLW 0x06
CALL Label_0006
BSF 0x32 , 01
MOVF 0x27 , W
GOTO Label_0002
Label_0006 BSF 0x32 , 00
Label_0002 MOVWF 0x26
BTFSS 0x32 , 00
GOTO Label_0007
63
BCF PORTB , 03
SUBLW 0x03
BTFSS STATUS , C
GOTO Label_0008
CALL Label_0008
MOVLW 0x07
MOVWF 0x21
MOVLW 0xD0
CALL Label_0003
BSF STATUS , C
RETURN
Label_0007 BSF 0x32 , 00
SUBLW 0xFE
BTFSC STATUS , Z
GOTO Label_0009
BSF PORTB , 03
Label_0008 BTFSS 0x32 , 00
Label_0004 BCF 0x32 , 00
BSF PORTB , 02
MOVLW 0x0F
ANDWF PORTB , f
MOVF 0x26 , W
ANDLW 0xF0
IORWF PORTB , f
BCF PORTB , 02
SWAPF 0x26 , f
BTFSC 0x32 , 00
GOTO Label_0004
MOVLW 0x32
CALL Label_0005
BSF STATUS , C
RETURN
64
Label_003F MOVWF 0x34
CALL Label_000A
MOVF 0x20 , W
IORWF 0x21 , W
BTFSC STATUS , Z
GOTO Label_0009
CALL Label_000B
BCF FSR , 07
MOVF 0x34 , W
XORWF INDF , f
Label_000E CLRWDT
GOTO Label_000C
Label_000C GOTO Label_000D
Label_000D INCF 0x20 , f
BTFSC STATUS , Z
INCFSZ 0x21 , f
GOTO Label_000E
XORWF INDF , f
GOTO Label_0009
Label_0036 BCF 0x33 , 07
MOVF 0x29 , W
BTFSC STATUS , Z
BSF 0x33 , 07
MOVLW 0x05
MOVWF 0x28
MOVLW 0x27
MOVWF 0x23
MOVLW 0x10
CALL Label_000F
MOVLW 0x03
MOVWF 0x23
MOVLW 0xE8
65
CALL Label_000F
CLRF 0x23
MOVLW 0x64
CALL Label_000F
CLRF 0x23
MOVLW 0x0A
CALL Label_000F
MOVF 0x24 , W
GOTO Label_0010
Label_000F MOVWF 0x22
MOVF 0x25 , W
MOVWF 0x21
MOVF 0x24 , W
MOVWF 0x20
CALL Label_0011
MOVF 0x20 , W
Label_0010 MOVWF 0x20
DECF 0x28 , f
BTFSC STATUS , Z
BCF 0x33 , 07
MOVF 0x29 , W
BTFSC STATUS , Z
GOTO Label_0012
SUBWF 0x28 , W
BTFSC STATUS , C
RETURN
Label_0012 MOVF 0x20 , W
BTFSS STATUS , Z
BCF 0x33 , 07
BTFSC 0x33 , 07
RETURN
ADDLW 0x30
66
GOTO Label_0013
Label_003E MOVLW 0x08
MOVWF 0x26
MOVWF 0x27
MOVF 0x37 , W
MOVWF FSR
MOVF 0x35 , W
BTFSC 0x33 , 02
CALL Label_0014
BTFSS 0x33 , 02
CALL Label_0015
MOVF 0x36 , W
MOVWF FSR
MOVF 0x34 , W
CALL Label_0016
CLRF 0x20
CLRF 0x21
MOVF 0x26 , W
BTFSC STATUS , Z
GOTO Label_0009
Label_0018 BTFSC 0x33 , 01
CALL Label_0017
MOVF 0x36 , W
MOVWF FSR
MOVF INDF , W
ANDWF 0x34 , W
ADDLW 0xFF
RLF 0x20 , f
RLF 0x21 , f
BTFSS 0x33 , 01
CALL Label_0017
DECFSZ 0x26 , f
67
GOTO Label_0018
MOVF 0x27 , W
BTFSC 0x33 , 00
GOTO Label_0019
MOVF 0x20 , W
GOTO Label_0009
Label_0042 MOVLW 0x08
Label_0040 MOVWF 0x26
MOVF 0x37 , W
MOVWF FSR
MOVF 0x35 , W
BTFSC 0x33 , 02
CALL Label_0014
BTFSS 0x33 , 02
CALL Label_0015
MOVF 0x36 , W
MOVWF FSR
COMF 0x34 , W
CALL Label_001A
MOVF 0x26 , W
BTFSC STATUS , Z
GOTO Label_0009
BTFSC 0x33 , 00
CALL Label_0019
Label_001B MOVF 0x36 , W
MOVWF FSR
RRF 0x21 , f
RRF 0x20 , f
MOVF INDF , W
IORWF 0x34 , W
BTFSS STATUS , C
XORWF 0x34 , W
68
MOVWF INDF
CALL Label_0017
DECFSZ 0x26 , f
GOTO Label_001B
GOTO Label_0009
Label_0017 MOVF 0x37 , W
MOVWF FSR
MOVF 0x35 , W
XORWF INDF , f
NOP
XORWF INDF , f
RETURN
Label_0014 IORWF INDF , f
GOTO Label_000A
Label_0015 XORLW 0xFF
ANDWF INDF , f
GOTO Label_001A
Label_0016 BSF FSR , 07
IORWF INDF , f
GOTO Label_0009
Label_000A XORLW 0xFF
Label_001A BSF FSR , 07
ANDWF INDF , f
GOTO Label_0009
CLRF 0x23
Label_002B MOVWF 0x22
Label_001C MOVLW 0xFF
ADDWF 0x22 , f
BTFSS STATUS , C
ADDWF 0x23 , f
BTFSS STATUS , C
GOTO Label_0009
69
MOVLW 0x03
MOVWF 0x21
MOVLW 0xDF
CALL Label_0003
GOTO Label_001C
Label_0005 CLRF 0x21
Label_0003 ADDLW 0xE8
MOVWF 0x20
COMF 0x21 , f
MOVLW 0xFC
BTFSS STATUS , C
GOTO Label_001D
Label_001E ADDWF 0x20 , f
BTFSC STATUS , C
GOTO Label_001E
Label_001D ADDWF 0x20 , f
CLRWDT
INCFSZ 0x21 , f
GOTO Label_001E
BTFSC 0x20 , 00
GOTO Label_001F
Label_001F BTFSS 0x20 , 01
GOTO Label_0020
NOP
GOTO Label_0020
Label_0020 RETURN
Label_0035 ADDLW 0x01
MOVWF 0x27
MOVLW 0x0A
MOVWF 0x22
CLRF 0x23
Label_0021 CALL Label_0011
70
DECFSZ 0x27 , f
GOTO Label_0021
MOVF 0x24 , W
RETURN
Label_0019 CLRF 0x22
CLRF 0x23
GOTO Label_0022
Label_0023 RRF 0x21 , f
RRF 0x20 , f
RLF 0x22 , f
RLF 0x23 , f
Label_0022 ADDLW 0xFF
BTFSC STATUS , C
GOTO Label_0023
MOVF 0x23 , W
MOVWF 0x21
MOVF 0x22 , W
MOVWF 0x20
GOTO Label_0009
Label_0032 MOVWF 0x22
MOVLW 0x06
GOTO Label_0024
Label_0024 MOVWF 0x28
MOVF 0x23 , W
SUBWF 0x21 , W
BTFSS STATUS , Z
GOTO Label_0025
MOVF 0x22 , W
SUBWF 0x20 , W
Label_0025 MOVLW 0x04
BTFSC STATUS , C
MOVLW 0x01
71
BTFSC STATUS , Z
MOVLW 0x02
ANDWF 0x28 , W
BTFSS STATUS , Z
MOVLW 0xFF
GOTO Label_0009
Label_0011 CLRF 0x25
CLRF 0x24
MOVLW 0x10
MOVWF 0x26
Label_0027 RLF 0x21 , W
RLF 0x24 , f
RLF 0x25 , f
MOVF 0x22 , W
SUBWF 0x24 , f
MOVF 0x23 , W
BTFSS STATUS , C
INCFSZ 0x23 , W
SUBWF 0x25 , f
BTFSC STATUS , C
GOTO Label_0026
MOVF 0x22 , W
ADDWF 0x24 , f
MOVF 0x23 , W
BTFSC STATUS , C
INCFSZ 0x23 , W
ADDWF 0x25 , f
BCF STATUS , C
Label_0026 RLF 0x20 , f
RLF 0x21 , f
DECFSZ 0x26 , f
GOTO Label_0027
72
MOVF 0x20 , W
GOTO Label_0009
Label_0037 MOVLW 0x10
MOVWF 0x28
CLRF 0x21
CLRF 0x20
Label_0029 RRF 0x27 , f
RRF 0x26 , f
BTFSS STATUS , C
GOTO Label_0028
MOVF 0x22 , W
ADDWF 0x20 , f
MOVF 0x23 , W
BTFSC STATUS , C
INCFSZ 0x23 , W
ADDWF 0x21 , f
Label_0028 RRF 0x21 , f
RRF 0x20 , f
RRF 0x25 , f
RRF 0x24 , f
DECFSZ 0x28 , f
GOTO Label_0029
MOVF 0x24 , W
GOTO Label_0009
Label_000B COMF 0x20 , f
COMF 0x21 , f
INCF 0x20 , f
BTFSC STATUS , Z
INCF 0x21 , f
RETURN
Label_0013 MOVWF FSR
MOVF 0x31 , W
73
MOVWF PCLATH
MOVF 0x30 , W
MOVWF PCL
Label_0009 BCF STATUS , IRP
BCF STATUS , RP1
BCF STATUS , RP0
CLRWDT
RETURN
Label_0001 MOVLW 0x07
MOVWF 0x1F
BCF PORTA , 00
BSF PORTA , 01
MOVLW 0x55
MOVWF 0x39
MOVLW 0x56
MOVWF 0x3A
MOVLW 0x57
MOVWF 0x3B
MOVLW 0x58
MOVWF 0x3C
MOVLW 0x59
MOVWF 0x3D
MOVLW 0x5A
MOVWF 0x3E
MOVLW 0x5B
MOVWF 0x3F
MOVLW 0x5C
MOVWF 0x40
MOVLW 0x5D
MOVWF 0x41
MOVLW 0x5E
MOVWF 0x42
74
MOVLW 0x5F
MOVWF 0x43
MOVLW 0x60
MOVWF 0x44
MOVLW 0x61
MOVWF 0x45
MOVLW 0x62
MOVWF 0x46
MOVLW 0x63
MOVWF 0x47
MOVLW 0x64
MOVWF 0x48
MOVLW 0xFE
CALL Label_002A
MOVLW 0x40
CALL Label_002A
MOVLW 0x00
CALL Label_002A
MOVLW 0x00
CALL Label_002A
MOVLW 0x0C
CALL Label_002A
MOVLW 0x04
CALL Label_002A
MOVLW 0x04
CALL Label_002A
MOVLW 0x04
CALL Label_002A
MOVLW 0x0E
CALL Label_002A
MOVLW 0x00
CALL Label_002A
75
MOVLW 0xFE
CALL Label_002A
MOVLW 0x48
CALL Label_002A
MOVLW 0x04
CALL Label_002A
MOVLW 0x0A
CALL Label_002A
MOVLW 0x0A
CALL Label_002A
MOVLW 0x0A
CALL Label_002A
MOVLW 0x0A
CALL Label_002A
MOVLW 0x0A
CALL Label_002A
MOVLW 0x0A
CALL Label_002A
MOVLW 0x0A
CALL Label_002A
MOVLW 0xFE
CALL Label_002A
MOVLW 0x50
CALL Label_002A
MOVLW 0x0E
CALL Label_002A
MOVLW 0x0E
CALL Label_002A
MOVLW 0x0E
CALL Label_002A
MOVLW 0x0E
CALL Label_002A
76
MOVLW 0x1F
CALL Label_002A
MOVLW 0x1F
CALL Label_002A
MOVLW 0x1F
CALL Label_002A
MOVLW 0x0E
CALL Label_002A
MOVLW 0xFE
CALL Label_002A
MOVLW 0x58
CALL Label_002A
MOVLW 0x04
CALL Label_002A
MOVLW 0x0A
CALL Label_002A
MOVLW 0x0A
CALL Label_002A
MOVLW 0x0A
CALL Label_002A
MOVLW 0x0A
CALL Label_002A
MOVLW 0x0A
CALL Label_002A
MOVLW 0x0E
CALL Label_002A
MOVLW 0x0E
CALL Label_002A
MOVLW 0xFE
CALL Label_002A
MOVLW 0x60
CALL Label_002A
77
MOVLW 0x04
CALL Label_002A
MOVLW 0x0A
CALL Label_002A
MOVLW 0x0A
CALL Label_002A
MOVLW 0x0A
CALL Label_002A
MOVLW 0x0E
CALL Label_002A
MOVLW 0x0E
CALL Label_002A
MOVLW 0x0E
CALL Label_002A
MOVLW 0x0E
CALL Label_002A
MOVLW 0xFE
CALL Label_002A
MOVLW 0x68
CALL Label_002A
MOVLW 0x04
CALL Label_002A
MOVLW 0x0A
CALL Label_002A
MOVLW 0x0E
CALL Label_002A
MOVLW 0x0E
CALL Label_002A
MOVLW 0x0E
CALL Label_002A
MOVLW 0x0E
CALL Label_002A
78
MOVLW 0x0E
CALL Label_002A
MOVLW 0x0E
CALL Label_002A
MOVLW 0xFE
CALL Label_002A
MOVLW 0x01
CALL Label_002A
MOVLW 0xEF
ADDWF 0x39 , W
MOVWF 0x50
MOVLW 0xFF
BTFSC STATUS , C
ADDLW 0x01
MOVWF 0x51
MOVF 0x50 , W
CALL Label_002A
MOVLW 0x0F
ADDWF 0x3A , W
MOVWF 0x50
CLRF 0x51
RLF 0x51 , f
MOVF 0x50 , W
CALL Label_002A
MOVLW 0x17
ADDWF 0x3B , W
MOVWF 0x50
CLRF 0x51
RLF 0x51 , f
MOVF 0x50 , W
CALL Label_002A
MOVLW 0x11
79
ADDWF 0x3C , W
MOVWF 0x50
CLRF 0x51
RLF 0x51 , f
MOVF 0x50 , W
CALL Label_002A
MOVLW 0x21
ADDWF 0x3D , W
MOVWF 0x50
CLRF 0x51
RLF 0x51 , f
MOVF 0x50 , W
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0xEB
ADDWF 0x3E , W
MOVWF 0x50
MOVLW 0xFF
BTFSC STATUS , C
ADDLW 0x01
MOVWF 0x51
MOVF 0x50 , W
CALL Label_002A
MOVLW 0x11
ADDWF 0x3F , W
MOVWF 0x50
CLRF 0x51
RLF 0x51 , f
MOVF 0x50 , W
CALL Label_002A
MOVLW 0x0F
80
ADDWF 0x3A , W
MOVWF 0x50
CLRF 0x51
RLF 0x51 , f
MOVF 0x50 , W
CALL Label_002A
MOVLW 0x0F
ADDWF 0x40 , W
MOVWF 0x50
CLRF 0x51
RLF 0x51 , f
MOVF 0x50 , W
CALL Label_002A
MOVLW 0x17
ADDWF 0x41 , W
MOVWF 0x50
CLRF 0x51
RLF 0x51 , f
MOVF 0x50 , W
CALL Label_002A
MOVLW 0x14
ADDWF 0x42 , W
MOVWF 0x50
CLRF 0x51
RLF 0x51 , f
MOVF 0x50 , W
CALL Label_002A
MOVLW 0x10
ADDWF 0x43 , W
MOVWF 0x50
CLRF 0x51
RLF 0x51 , f
81
MOVF 0x50 , W
CALL Label_002A
MOVLW 0x17
ADDWF 0x3B , W
MOVWF 0x50
CLRF 0x51
RLF 0x51 , f
MOVF 0x50 , W
CALL Label_002A
MOVLW 0x11
ADDWF 0x3C , W
MOVWF 0x50
CLRF 0x51
RLF 0x51 , f
MOVF 0x50 , W
CALL Label_002A
MOVLW 0x0F
ADDWF 0x40 , W
MOVWF 0x50
CLRF 0x51
RLF 0x51 , f
MOVF 0x50 , W
CALL Label_002A
MOVLW 0xFE
CALL Label_002A
MOVLW 0xC0
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x17
82
ADDWF 0x44 , W
MOVWF 0x50
CLRF 0x51
RLF 0x51 , f
MOVF 0x50 , W
CALL Label_002A
MOVLW 0x17
ADDWF 0x44 , W
MOVWF 0x50
CLRF 0x51
RLF 0x51 , f
MOVF 0x50 , W
CALL Label_002A
MOVLW 0x17
ADDWF 0x44 , W
MOVWF 0x50
CLRF 0x51
RLF 0x51 , f
MOVF 0x50 , W
CALL Label_002A
MOVLW 0x2E
CALL Label_002A
MOVLW 0x03
ADDWF 0x45 , W
MOVWF 0x50
CLRF 0x51
RLF 0x51 , f
MOVF 0x50 , W
CALL Label_002A
MOVLW 0x45
CALL Label_002A
MOVLW 0xEA
83
ADDWF 0x46 , W
MOVWF 0x50
MOVLW 0xFF
BTFSC STATUS , C
ADDLW 0x01
MOVWF 0x51
MOVF 0x50 , W
CALL Label_002A
MOVLW 0x41
CALL Label_002A
MOVLW 0x62
CALL Label_002A
MOVLW 0x2E
CALL Label_002A
MOVLW 0x12
ADDWF 0x47 , W
MOVWF 0x50
CLRF 0x51
RLF 0x51 , f
MOVF 0x50 , W
CALL Label_002A
MOVLW 0x0F
ADDWF 0x48 , W
MOVWF 0x50
CLRF 0x51
RLF 0x51 , f
MOVF 0x50 , W
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
84
MOVLW 0x05
MOVWF 0x23
MOVLW 0xDC
CALL Label_002B
MOVLW 0xFE
CALL Label_002A
MOVLW 0x01
CALL Label_002A
MOVLW 0x54
CALL Label_002A
MOVLW 0x65
CALL Label_002A
MOVLW 0x6D
CALL Label_002A
MOVLW 0x70
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x3A
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
85
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0xFE
CALL Label_002A
MOVLW 0xC0
CALL Label_002A
MOVLW 0x48
CALL Label_002A
MOVLW 0x75
CALL Label_002A
MOVLW 0x6D
CALL Label_002A
MOVLW 0x69
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x3A
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
86
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
CALL Label_002C
CLRF 0x59
Label_003C INCF 0x59 , f
CLRWDT
MOVF 0x59 , W
SUBLW 0x01
BTFSS STATUS , Z
GOTO Label_002D
MOVLW 0xFE
CALL Label_002A
MOVLW 0x87
CALL Label_002A
MOVLW 0x01
CALL Label_002A
MOVLW 0xFE
CALL Label_002A
MOVLW 0xC7
CALL Label_002A
MOVLW 0x02
CALL Label_002A
87
Label_002D CLRWDT
MOVF 0x59 , W
SUBLW 0x02
BTFSS STATUS , Z
GOTO Label_002E
MOVLW 0xFE
CALL Label_002A
MOVLW 0x87
CALL Label_002A
MOVLW 0x03
CALL Label_002A
MOVLW 0xFE
CALL Label_002A
MOVLW 0xC7
CALL Label_002A
MOVLW 0x02
CALL Label_002A
Label_002E CLRWDT
MOVF 0x59 , W
SUBLW 0x03
BTFSS STATUS , Z
GOTO Label_002F
MOVLW 0xFE
CALL Label_002A
MOVLW 0x87
CALL Label_002A
MOVLW 0x04
CALL Label_002A
MOVLW 0xFE
CALL Label_002A
MOVLW 0xC7
CALL Label_002A
88
MOVLW 0x02
CALL Label_002A
Label_002F CLRWDT
MOVF 0x59 , W
SUBLW 0x04
BTFSS STATUS , Z
GOTO Label_0030
MOVLW 0xFE
CALL Label_002A
MOVLW 0x87
CALL Label_002A
MOVLW 0x05
CALL Label_002A
MOVLW 0xFE
CALL Label_002A
MOVLW 0xC7
CALL Label_002A
MOVLW 0x02
CALL Label_002A
CLRF 0x59
Label_0030 MOVLW 0x03
MOVWF 0x55
CALL Label_0031
MOVLW 0xA0
SUBWF 0x4A , W
MOVWF 0x48
MOVLW 0x0F
BTFSS STATUS , C
ADDLW 0x01
SUBWF 0x4B , W
MOVWF 0x49
MOVF 0x48 , W
89
MOVWF 0x20
MOVF 0x49 , W
MOVWF 0x21
MOVLW 0x75
MOVWF 0x23
MOVLW 0x30
CALL Label_0032
BTFSS STATUS , Z
GOTO Label_0033
MOVF 0x48 , W
SUBLW 0xFF
MOVWF 0x48
MOVF 0x49 , W
BTFSS STATUS , C
ADDLW 0x01
SUBLW 0xFF
MOVWF 0x49
MOVLW 0x2D
MOVWF 0x56
GOTO Label_0034
Label_0033 MOVLW 0x20
MOVWF 0x56
Label_0034 MOVLW 0xFE
CALL Label_002A
MOVLW 0x89
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
90
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0xFE
CALL Label_002A
MOVLW 0x89
CALL Label_002A
MOVF 0x56 , W
CALL Label_002A
CLRF 0x29
MOVF 0x48 , W
MOVWF 0x20
MOVF 0x49 , W
MOVWF 0x21
MOVLW 0x03
CALL Label_0035
MOVWF 0x50
CLRF 0x51
MOVF 0x50 , W
91
MOVWF 0x24
MOVF 0x51 , W
MOVWF 0x25
MOVLW 0x02
MOVWF 0x30
CLRF 0x31
CALL Label_0036
CLRF 0x29
MOVF 0x48 , W
MOVWF 0x20
MOVF 0x49 , W
MOVWF 0x21
MOVLW 0x02
CALL Label_0035
MOVWF 0x50
CLRF 0x51
MOVF 0x50 , W
MOVWF 0x24
MOVF 0x51 , W
MOVWF 0x25
MOVLW 0x02
MOVWF 0x30
CLRF 0x31
CALL Label_0036
MOVLW 0x2E
CALL Label_002A
CLRF 0x29
MOVF 0x48 , W
MOVWF 0x20
MOVF 0x49 , W
MOVWF 0x21
MOVLW 0x01
92
CALL Label_0035
MOVWF 0x50
CLRF 0x51
MOVF 0x50 , W
MOVWF 0x24
MOVF 0x51 , W
MOVWF 0x25
MOVLW 0x02
MOVWF 0x30
CLRF 0x31
CALL Label_0036
MOVLW 0xDF
CALL Label_002A
MOVLW 0x43
CALL Label_002A
MOVLW 0x05
MOVWF 0x55
CALL Label_0031
MOVLW 0xC2
MOVWF 0x26
MOVLW 0xD5
MOVWF 0x27
MOVF 0x4A , W
MOVWF 0x22
MOVF 0x4B , W
MOVWF 0x23
CALL Label_0037
MOVF 0x20 , W
MOVWF 0x50
MOVF 0x21 , W
MOVWF 0x51
MOVF 0x4A , W
93
ADDWF 0x50 , f
MOVF 0x4B , W
BTFSC STATUS , C
ADDLW 0x01
ADDWF 0x51 , f
MOVF 0x50 , W
SUBLW 0xAE
MOVWF 0x50
MOVF 0x51 , W
BTFSS STATUS , C
ADDLW 0x01
SUBLW 0x67
MOVWF 0x51
MOVF 0x50 , W
MOVWF 0x26
MOVF 0x51 , W
MOVWF 0x27
MOVF 0x4A , W
MOVWF 0x22
MOVF 0x4B , W
MOVWF 0x23
CALL Label_0037
MOVF 0x20 , W
MOVWF 0x50
MOVF 0x21 , W
MOVWF 0x51
MOVLW 0x28
SUBWF 0x50 , W
MOVWF 0x4C
MOVLW 0x00
BTFSS STATUS , C
ADDLW 0x01
94
SUBWF 0x51 , W
MOVWF 0x4D
MOVF 0x4A , W
MOVWF 0x26
MOVF 0x4B , W
MOVWF 0x27
MOVLW 0x05
MOVWF 0x22
CLRF 0x23
CALL Label_0037
MOVWF 0x50
MOVF 0x25 , W
MOVWF 0x51
MOVLW 0x8F
ADDWF 0x50 , f
MOVLW 0x02
BTFSC STATUS , C
ADDLW 0x01
ADDWF 0x51 , f
MOVF 0x4A , W
MOVWF 0x26
MOVF 0x4B , W
MOVWF 0x27
MOVLW 0x2D
MOVWF 0x22
MOVLW 0x3E
MOVWF 0x23
CALL Label_0037
MOVF 0x20 , W
MOVWF 0x52
MOVF 0x21 , W
MOVWF 0x53
95
MOVF 0x50 , W
ADDWF 0x52 , W
MOVWF 0x4E
MOVF 0x51 , W
BTFSC STATUS , C
ADDLW 0x01
ADDWF 0x53 , W
MOVWF 0x4F
MOVF 0x48 , W
MOVWF 0x20
MOVF 0x49 , W
MOVWF 0x21
MOVLW 0x0A
MOVWF 0x22
CLRF 0x23
CALL Label_0011
MOVWF 0x50
MOVF 0x21 , W
MOVWF 0x51
MOVLW 0xB0
ADDWF 0x50 , f
MOVLW 0x09
BTFSC STATUS , C
ADDLW 0x01
ADDWF 0x51 , f
MOVF 0x4E , W
MOVWF 0x26
MOVF 0x4F , W
MOVWF 0x27
MOVF 0x50 , W
MOVWF 0x22
MOVF 0x51 , W
96
MOVWF 0x23
CALL Label_0037
MOVF 0x20 , W
MOVWF 0x50
MOVF 0x21 , W
MOVWF 0x51
MOVF 0x4E , W
MOVWF 0x26
MOVF 0x4F , W
MOVWF 0x27
MOVLW 0xAA
MOVWF 0x22
MOVLW 0x0A
MOVWF 0x23
CALL Label_0037
MOVF 0x20 , W
MOVWF 0x52
MOVF 0x21 , W
MOVWF 0x53
MOVF 0x52 , W
SUBWF 0x50 , W
MOVWF 0x52
MOVF 0x53 , W
BTFSS STATUS , C
ADDLW 0x01
SUBWF 0x51 , W
MOVWF 0x53
MOVF 0x52 , W
ADDWF 0x4C , W
MOVWF 0x4E
MOVF 0x53 , W
BTFSC STATUS , C
97
ADDLW 0x01
ADDWF 0x4D , W
MOVWF 0x4F
MOVF 0x4E , W
MOVWF 0x20
MOVF 0x4F , W
MOVWF 0x21
MOVLW 0x03
MOVWF 0x23
MOVLW 0xE8
CALL Label_0032
BTFSS STATUS , Z
GOTO Label_0038
MOVLW 0xE8
MOVWF 0x4E
MOVLW 0x03
MOVWF 0x4F
Label_0038 MOVLW 0xFE
CALL Label_002A
MOVLW 0xCA
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
98
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0xFE
CALL Label_002A
MOVLW 0xCA
CALL Label_002A
CLRF 0x29
MOVF 0x4E , W
MOVWF 0x20
MOVF 0x4F , W
MOVWF 0x21
MOVLW 0x0A
MOVWF 0x22
CLRF 0x23
CALL Label_0011
MOVWF 0x50
MOVF 0x21 , W
MOVWF 0x51
MOVF 0x50 , W
MOVWF 0x24
MOVF 0x51 , W
MOVWF 0x25
MOVLW 0x02
MOVWF 0x30
CLRF 0x31
99
CALL Label_0036
MOVLW 0x2E
CALL Label_002A
MOVLW 0x01
MOVWF 0x29
MOVF 0x4E , W
MOVWF 0x24
MOVF 0x4F , W
MOVWF 0x25
MOVLW 0x02
MOVWF 0x30
CLRF 0x31
CALL Label_0036
MOVLW 0x25
CALL Label_002A
MOVLW 0x07
MOVWF 0x55
CALL Label_0039
CLRWDT
BTFSS 0x5A , 06
GOTO Label_003A
INCF 0x54 , f
Label_003A CLRWDT
MOVF 0x54 , W
SUBLW 0x14
BTFSS STATUS , Z
GOTO Label_003B
MOVLW 0xFE
CALL Label_002A
MOVLW 0xC0
CALL Label_002A
MOVLW 0x20
100
CALL Label_002A
MOVLW 0x4C
CALL Label_002A
MOVLW 0x6F
CALL Label_002A
MOVLW 0x77
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x62
CALL Label_002A
MOVLW 0x61
CALL Label_002A
MOVLW 0x74
CALL Label_002A
MOVLW 0x74
CALL Label_002A
MOVLW 0x65
CALL Label_002A
MOVLW 0x72
CALL Label_002A
MOVLW 0x79
CALL Label_002A
MOVLW 0x21
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x01
101
MOVWF 0x23
MOVLW 0x2C
CALL Label_002B
MOVLW 0xFE
CALL Label_002A
MOVLW 0xC0
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
102
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x01
MOVWF 0x23
MOVLW 0x2C
CALL Label_002B
MOVLW 0xFE
CALL Label_002A
MOVLW 0xC0
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x4C
CALL Label_002A
MOVLW 0x6F
CALL Label_002A
MOVLW 0x77
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x62
CALL Label_002A
MOVLW 0x61
CALL Label_002A
MOVLW 0x74
CALL Label_002A
MOVLW 0x74
103
CALL Label_002A
MOVLW 0x65
CALL Label_002A
MOVLW 0x72
CALL Label_002A
MOVLW 0x79
CALL Label_002A
MOVLW 0x21
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x01
MOVWF 0x23
MOVLW 0x2C
CALL Label_002B
MOVLW 0xFE
CALL Label_002A
MOVLW 0xC0
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
104
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x01
MOVWF 0x23
MOVLW 0x2C
CALL Label_002B
MOVLW 0xFE
CALL Label_002A
MOVLW 0xC0
CALL Label_002A
MOVLW 0x20
105
CALL Label_002A
MOVLW 0x4C
CALL Label_002A
MOVLW 0x6F
CALL Label_002A
MOVLW 0x77
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x62
CALL Label_002A
MOVLW 0x61
CALL Label_002A
MOVLW 0x74
CALL Label_002A
MOVLW 0x74
CALL Label_002A
MOVLW 0x65
CALL Label_002A
MOVLW 0x72
CALL Label_002A
MOVLW 0x79
CALL Label_002A
MOVLW 0x21
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x03
106
MOVWF 0x23
MOVLW 0xE8
CALL Label_002B
MOVLW 0xFE
CALL Label_002A
MOVLW 0xC0
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
107
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0xFE
CALL Label_002A
MOVLW 0xC0
CALL Label_002A
MOVLW 0x48
CALL Label_002A
MOVLW 0x75
CALL Label_002A
MOVLW 0x6D
CALL Label_002A
MOVLW 0x69
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x3A
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
CALL Label_002A
MOVLW 0x20
108
CALL Label_002A
CLRF 0x54
Label_003B GOTO Label_003C
Label_0039 CALL Label_003D
MOVLW 0x05
MOVWF 0x36
MOVLW 0x01
MOVWF 0x34
MOVLW 0x05
MOVWF 0x37
MOVLW 0x02
MOVWF 0x35
CLRF 0x33
CALL Label_003E
MOVWF 0x5A
BSF STATUS , RP0
BSF TRISA , 00
BCF STATUS , RP0
MOVLW 0x0A
MOVWF 0x20
CLRF 0x21
MOVLW 0x05
MOVWF FSR
MOVLW 0x02
CALL Label_003F
RETURN
Label_002C MOVLW 0x05
MOVWF 0x36
MOVLW 0x01
MOVWF 0x34
MOVLW 0x05
MOVWF 0x37
109
MOVLW 0x02
MOVWF 0x35
CLRF 0x33
MOVLW 0xFF
MOVWF 0x20
MOVLW 0xFF
MOVWF 0x21
MOVLW 0x10
CALL Label_0040
RETURN
Label_0031 CALL Label_003D
CALL Label_0041
MOVLW 0x05
MOVWF 0x36
MOVLW 0x01
MOVWF 0x34
MOVLW 0x05
MOVWF 0x37
MOVLW 0x02
MOVWF 0x35
CLRF 0x33
CALL Label_003E
MOVWF 0x4B
BCF PORTA , 00
BSF STATUS , RP0
BCF TRISA , 00
BCF STATUS , RP0
MOVLW 0x0A
MOVWF 0x20
CLRF 0x21
MOVLW 0x05
MOVWF FSR
110
MOVLW 0x02
CALL Label_003F
BSF STATUS , RP0
BSF TRISA , 00
MOVLW 0x05
BCF STATUS , RP0
MOVWF 0x36
MOVLW 0x01
MOVWF 0x34
MOVLW 0x05
MOVWF 0x37
MOVLW 0x02
MOVWF 0x35
CLRF 0x33
CALL Label_003E
MOVWF 0x4A
BSF STATUS , RP0
BSF TRISA , 00
BCF STATUS , RP0
MOVLW 0x0A
MOVWF 0x20
CLRF 0x21
MOVLW 0x05
MOVWF FSR
MOVLW 0x02
CALL Label_003F
RETURN
Label_003D BSF STATUS , RP0
BSF TRISA , 00
BCF STATUS , RP0
BSF PORTA , 01
BSF STATUS , RP0
111
BCF TRISA , 01
BCF STATUS , RP0
BCF PORTA , 00
BSF STATUS , RP0
BCF TRISA , 00
BCF STATUS , RP0
BCF PORTA , 01
BSF STATUS , RP0
BCF TRISA , 01
BCF STATUS , RP0
BSF PORTA , 01
BSF STATUS , RP0
BCF TRISA , 01
BSF TRISA , 00
BCF STATUS , RP0
BCF PORTA , 01
BSF STATUS , RP0
BCF TRISA , 01
BCF STATUS , RP0
MOVLW 0x05
MOVWF 0x36
MOVLW 0x01
MOVWF 0x34
MOVLW 0x05
MOVWF 0x37
MOVLW 0x02
MOVWF 0x35
MOVLW 0x01
MOVWF 0x33
MOVF 0x55 , W
MOVWF 0x20
CLRF 0x21
112
CALL Label_0042
BSF STATUS , RP0
BSF TRISA , 00
BCF STATUS , RP0
MOVLW 0x0A
MOVWF 0x20
CLRF 0x21
MOVLW 0x05
MOVWF FSR
MOVLW 0x02
CALL Label_003F
RETURN
Label_0041 CLRF 0x4A
MOVLW 0x10
MOVWF 0x4B
Label_0043 MOVLW 0x01
SUBWF 0x4A , f
MOVLW 0x00
BTFSS STATUS , C
ADDLW 0x01
SUBWF 0x4B , f
BTFSC PORTA , 00
GOTO Label_0043
BTFSC 0x4B , 03
GOTO Label_0043
RETURN
ORG 0x2000
DATA 0x0F
DATA 0x0F
DATA 0x0F
DATA 0x0F
113
ORG 0x2007
DATA 0x09
ORG 0x2100
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
114
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
115
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
116
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
117
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
DATA 0xFF
END