Você está na página 1de 5

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL

RELGIO DIGITAL MULTIFUNCIONAL


Filipe Braga Couto Nelson Junqueira de Andrade William Cabral Guimares 193605

Microprocessadores I Professores: Marcelo Gtz Alexandre Junqueira Turma: A

Porto Alegre, Dezembro de 2013

Introduo

A proposta deste projeto montar um relgio digital que contenha, alm da funo bsica de contar e mostrar as horas, funo de cronmetro, timer, alarme e, evidentemente, ajuste do horrio do relgio. Inicialmente, foi feita uma diviso de tarefas entre os trs componentes do grupo, onde dois ficaram encarregados de programar o software do relgio, com todas as suas funcionalidades, enquanto outro ficou com parte de interface entre o display de LCD e o microcontrolador 8051. Aps concluda a parte de programao, todos os integrantes se reuniram para a montagem do hardware e possvel correo de erros. O uso das funcionalidades do relgio feito a partir do acionamento de botes com atribuies diferentes, como ser detalhado na descrio do hardware.

Software

Para um entendimento mais detalhado do software, o cdigo fonte do programa encontra-se em anexo no final deste trabalho.

Temporizao

Inicialmente foi escrito um cdigo para encadear a contagem de segundos, minutos e horas do relgio, atravs de interrupes em um dos timers (T0) do microcontrolador 8051. Com a criao de variveis especficas para cada grandeza de tempo, foi ajustado o incremento da varivel dos segundos de forma a ter a preciso necessria na contagem do tempo. Ento, foi determinado que a varivel dos minutos seria incrementada a cada vez que a varivel dos segundos fechasse um ciclo de 60, zerando esta. O mesmo raciocnio foi feito para a varivel das horas. Para as outras funcionalidades foi utilizado um segundo timer (T1) para a contagem do tempo, com a mesma programao descrita acima. Isso deve-se necessidade de que o relgio continue contando as horas enquanto so utilizadas as demais funcionalidades. Com a contagem do tempo do cronmetro ou do timer (contador regressivo) em outro timer do microcontrolador, no haver o risco de o relgio parar de operar.

Funcionalidades

Como foi brevemente citado na introduo deste trabalho, as funes so chamadas atravs de botes. H um boto especfico para mostrar o relgio no display (B0), outro para entrar no modo cronmetro (B1), outro para entrar no modo timer (B2) e outro (B3) para entrar no modo de ajuste do relgio. Um quinto boto (B4) usado como play/pause do cronmetro, ou como play do timer, ou como set do ajuste do relgio. Ainda, um boto (B5) incrementa os minutos no ajuste do relgio ou do timer e um boto (B6) faz o incremento das horas. A rotina do relgio baseia-se apenas na temporizao j descrita do timer T0. Enquanto o usurio estiver utilizando esta funo, o programa ir enviar o horrio do relgio para o display atravs de uma subrotina de atualizao das horas, minutos e segundos. Quando pressionado o boto B1, o programa redirecionado para a rotina do cronmetro, e atualizado o horrio do display para zero. Quando o usurio pressiona

o boto B4, iniciada a contagem. Novamente pressionado, a contagem congelada (pause). Se voltar a pressionar o boto B4, o cronmetro continua a contagem. Isto feito atravs da ativao ou no do timer T1 que gera a contagem do tempo. Quando utilizado o modo cronmetro, o display ir mostrar um horrio gerado por este timer, que gera o tempo da funo, atribudo a variveis de sugundos, minutos e horas. Quando pressionado o boto B2, o programa redirecionado para a rotina do timer (contador regressivo). O horrio do display atualizado para zero e o programa fica aguardando o ajuste dos minutos. Pressionando o boto B5 possvel incrementar os minutos. Aps pressionar o boto B4, ajustada a varivel dos minutos do timer e o programa aguarda o ajuste das horas. O boto B6 incrementa a varivel das hora. Pressionando novamente o boto B4, iniciada a operao do timer. Quando contado o tempo ajustado, enviado um sinal para uma porta do microcontrolador, que conectada a um buzer. Quando pressionado o boto B3, o programa redirecionado para a rotina de ajuste do relgio. O funcionamento anlogo ao descrito para o timer. A diferena est em que quando pressionado o boto B4 para ajustar a varivel das horas, o relgio ir atualizar o horrio para o ajustado pelo usurio.

Hardware

Para a montagem do relgio, foram utilizados os componentes listados na tabela abaixo:

Concluso