Microcontroladores - Relogio digital
RELATÓRIO
TRABALHO FINAL – PIC
RELÓGIO
GRUPO:
Turma:
Claudio Ferreira Silva – Danilo Vicente do Nascimento
Giovanni Caldas Amaral – Tarcisio Kiefer
AN3_2009/02
DESCRIÇÃO DO PROJETO
Este projeto tem como objetivo, desenvolver um programa que acione 4 displays de 7 segmentos de catodo comum, de forma a mostrar um relógio digital de 24 horas.
Para tanto, foi passado algumas premissas básicas:
Utilizar como controle do tempo, a interrupção por TMR0;
Utilizar como saídas para acendimentos dos displays, RB1 a RB7;
Utilizar para controle do acendimento, (seleção do display), RA1 a RA4;
Utilizar como chaves de ajustes RB0 e RA0, sendo que o ajuste ocorrerá por interrupção externa na porta RB0;
Utilização de oscilador, (clock), de 100 Mhz, para controle do microcontrolador.
Controle dos displays, como descrito abaixo
Nº a
RB1 RB2 RB3 RB4 RB5 RB6 RB7 ser exibido A
B
C
D
E
F
G
0
1
1
1
1
1
1
0
1
0
1
1
0
0
0
0
2
1
1
0
1
1
0
1
3
1
1
1
1
0
0
1
4
0
1
1
0
0
1
1
5
1
0
1
1
0
1
1
6
1
0
1
1
1
1
1
7
1
1
1
0
0
0
0
8
1
1
1
1
1
1
1
9
1
1
1
1
0
1
1
DESENVOLVIMENTO:
A principio, foi elaborado o fluxograma, (anexo 1), de funcionamento do projeto, considerando todas aas rotinas necessárias para que o relógio atendesse a todas as premissas básicas.
Com o fluxograma e esquema de ligação (anexo 2) em mãos, definimos o programa (anexo
3), conforme comentado abaixo:
Configuração inicial dos registradores:
INTCON:
B'10110000'
RBIF: Ident. de int. mudança de estado (RB4 A 7)
INTF: Identificação de interrupção externa RB0
TOIF: Ident. de interrupção por estouro de TMR0
RBIE: Háb. de Int. mudança de estado (RB4 A 7)
INTE: Hab. de interrupção externa em RB0
T0IE: Habilitação de interrupção estouro TMR0
EEIE: hab. de int. final de escrita na EEPRON
GIE: Habilitação geral das interrupções
OPTION_REG: B'10000110'
PS2, 1 E 0: Configuração do valor do PRESCALER
PSA: Aplicação do PRESCALER; TMR0 ou WDT
TOSE: config. da borda que incrementará o TIMER0