Beruflich Dokumente
Kultur Dokumente
Como se pode ver pela gura abaixo, o relgio pode ser gerado por um de dois osciladores internos:
Um Oscilador Externo instalado na proximidade do microcontrolador, e ligado aos pinos OSC1 e OSC2.
chamado de externo, porque consiste em electrnica externa que gera o sinal de relgio e a estabilizao de
frequncia, tal como um cristal de quartzo, ressoador cermico ou resistncia-condensador.
O modo do oscilador escolhido por bits que so enviados durante a programao fsica, numa chamada
Palavra de Congurao, ou Fusveis.
O LFINTOSC um oscilador interno de baixa-frequncia, que funciona a 31KHz. O seu relgio usado
para o Watch-dog e temporizadores Power-up, mas pode tambm ser usado como fonte de relgio para todo
o microcontrolador.
O relgio do sistema pode ser escolhido entre externo e interno, atravs do bit SCS - System Clock Select, do
registo OSCCON.
Registo OSCCON
O registo OSCCON controla o relgio de sistema, e as opes de seleco da frequncia. Contm os seguintes
bit:
IRCF2-IRCF0 - Bits de seleco da Frequncia do Oscilador Interno. A combinao destes bits determina a
taxa de diviso. A frequncia de relgio do oscilador interno tambm determinada desta forma.
OSTS - Bits de estado do Start-up Time-out do Oscilador. Indica que fonte de relgio est, no momento, em
uso. apenas de leitura.
1 - Oscilador externo em uso
0 - Um dos osciladores internos est em uso (HFINTOSC ou LFINTOSC)
HTS - bit de estado do HFINTOSC (125KHz - 8MHz). Indica se o oscilador de alta-frequncia est a
funcionar com estabilidade
1 - HFINTOSC est estavel
0 - HFINTOSC est instavel
LTS - bit de estado do LFINTOSC (31KHz). Indica se o oscilador de baixa-frequncia est a funcionar com
estabilidade
1 - LFINTOSC est estavel
0 - LFINTOSC est instavel
SCS - Bit de seleco do Relgio do Sistema. Determina qual o oscilador a usar como fonte de relgio
1 - O oscilador interno usado como fonte de relgio do sistema
0 - O oscilador externo usado como fonte de relgio do sistema
O modo do oscilador escolhido por bits que so enviados durante a programao fsica, numa chamada
Palavra de Congurao, ou Fusveis.
A seleco do modo pode ser incluida junto com o software, no momento da escrita, ou ento pode ser ajustada
no software de programao no PC.
O modo de relgio externo, EC, usa o relgio do sistema congurado para oscilador externo. A frequncia
deste relgio ilimitada (0-20MHz).
A fonte de relgio externo ligada ao pino OSC1, e o pino OSC2 est disponivel para I/O geral
possivel sincronizar o funcionamento do microcontrolador, com o resto da electrnica
Neste modo, o microcontrolador arranca o funcionamento assim que o sistema energizado
Se se parar o relgio externo temporariamente, o microcontrolador congela o funcionamento, deixando
todos os dados intactos. Assim que se restabelecer o relgio, o microcontrolador resume o funcionamento,
do ponto de onde parou, como se nada tivesse acontecido
Os modos LP, XT e HS, suportam o uso do oscilador interno, para congurar a fonte de relgio. A frequn-
cia desta fonte determinada por cristais de quartzo, ou ressoadores cermicos, ligados aos pinos OSC1 e
OSC2.
Modo LP (Low Power - Baixa Potncia) - usado apenas para cristais de quartzo de baixa-frequncia. Este
modo foi desenhado para acolher cristais de 32.768KHz, normalmente usados para relgios de quartzo. So
simples de reconhecer, pela sua forma cilndrica, e o consumo de corrente a mais baixa de todos os modos.
Modo XT - usado para cristais de quartzo de frequncias at os 8MHz. O consumo de corrente mediano.
Modo HS (High Speed - Alta Velocidade) - usado para cristais quartzo de frequncias acima dos 8MHz. O
consumo de corrente o mais elevado.
Ressoador cermico
Os ressoador cermicos tem caractersticas bastante similares aos cristais de quartzo. Por isso so ligados da
mesma maneira. Mas tem a vantagem de serem muito menos onerosos, no tendo to boa estabilidade de
frequncia como os cristais. So usados para frequncias de relgio entre os 100KHz e os 20MHz.
H certamente muitas vantagens em usar elementos para estabilizao de frequncia. Mas, por vezes, so per-
feitamente desnecessrios.
suciente que o oscilador funcione a uma frequncia no denida, e a soluo mais simples e menos onerosa,
usar uma resistncia-condensador para fazer o oscilador funcionar.
H dois modos:
Modo RC:
Modo RCIO:
f = Frequncia [Hertz]
T = R*C = constante de tempo [segundos]
R = Resistncia [Ohm]
C = Capacidade [Farad]
O oscilador HFINTOSC calibrado de fbrica, e oscila a 8MHz. Esta frequncia pode ser ajustada pelo
programador, usado bits do registo OSCTUNE.
O oscilador LFINTOSC no calibrado de fbrica, e oscila a 31KHz.
Da mesma forma que o oscilador externo, o interno tambm pode funcionar em vrios modos. O modo selec-
cionado da mesma maneira que o oscilador externo - pelos bits da Palavra de Congurao - Fusiveis.
1.
O oscilador interno de alta-frequncia HFINTOSC, est ligado a um divisor de frequncia. calibrado de
fbrica, e funciona a 8MHz. Usando o divisor, este oscilador pode ter na sua sada, uma de sete frequncias, que
podem ser escolhidas pelos bits IRCF2-IRCF0 do registo OSCCON.
O HFINTOSC ligado, escolhendo uma de sete frequncias (entre 125KHz e 8MHz), e activando o bit
SCS do OSCCON. Como se pode ver pela gura abaixo, toda a congurao realizada pelos bits do registo
OSCCON.
2.
O oscilador interno de baixa-frequncia LFINTOSC, funciona a 31KHz e no vem calibrado de fbrica.
activado, escolhendo esta frequncias (bits no OSCCON), e activando o bit SCS do mesmo registo.
Quando congurado no modo LP, XT ou HS, o oscilador externo vai estar desligado quando em Sleep, de
maneira a reduzir o consumo mdio energtico do microcontrolador.
Quando as condies para acordar esto reunidas, o microcontrolador no vai retomar o servio automatica-
mente, porque tem que aguardar que o sinal de relgio que estavel. Este atraso de exactamente 1024 pulsos.
Depois destes, o microcontrolador procede com a execuo do programa.
O problema que, quase sempre, so apenas umas poucas instrues executadas, antes de o microcontrolador
entrar em Sleep. Signica que, na maior parte do tempo, a energia desperdiada.
Este problema solucionado, usando o oscilador interno para a execuo do programa, enquanto os 1024
pulsos so contados. Seguidamente, e assim que o oscilador externo car estvel, vai automaticamente tomar o
lugar principal. Todo o processo habilitado, activando o bit IESO nos Fusiveis.
O FSCM detecta a falha do oscilador, comparando as fontes de relgio Interna e Externa. Caso o oscilador
esterno demore mais de 2 milisegundos a chegar aos pinos do microcontrolador, a fonte de relgio mudada
automaticamente para o oscilador interno, que continua a operao, controlado pelos bits do OSCCON.
Quando o bit OSFIE do registo PIE2 estiver activo, uma interrupo gerada.
O relgio de sistema continuar a ser o interno, at que o oscilador externo retome o funcionamento. A tran-
sio feita automaticamente.
Este mdulo activado, pela congurao do bit FCMEN nos Fusiveis, aquando da programao fsica do
microcontrolador.
Registo OSCTUNE
TUN4-TUN0 - Bits de Sintonizao da Frequncia. Pela combinao destes cinco bit, a frequncia do oscila-
dor de 8MHz varia. Desta maneira, as frequncias obtidas pelo divisor, tambm mudam.
Memria EEPROM
A EEPROM no pertence, nem memria do programa (ROM FLASH), nem memria de dados (RAM),
mas sim a um grupo especial. Mesmo estas posies de memria no sendo facil e rapidamente acessiveis como
os outros registos, so de grande importncia pois, os dados da EEPROM, so permanentemente gravados. Os
dados da EEPROM podem ser alterados a qualquer momento. Devido a estas excepcionais qualidades, cada
byte de EEPROM valioso.
O PIC estudado neste manual tem 256 posies de EEPROM, controlados pelos bits dos seguintes registos:
No entanto, o EECON2 no um registo verdadeiro, pois no existe sicamente. apenas usado na sequncia
de escrita.
Os registos EEDATH e EEADRH, pertencem ao mesmo grupo de registos usados durante a escrita/leitura
da EEPROM. Ambos so udados, tambm, para escrita/leitura da memria do programa (ROM FLASH).
Como esta considerada uma zona de risco, pois no queremos inadvertidamente apagar o programa do mi-
crocontrolador, ca o aviso.
Registo EECON1
Leitura da EEPROM
BSF STATUS,RP1 ;
BCF STATUS,RP0 ; Access bank 2
MOVF ADDRESS,W ; Move address to the W register
MOVWF EEADR ; Write address
BSF STATUS,RP0 ; Access bank 3
BCF EECON1,EEPGD ; Select EEPROM
BSF EECON1,RD ; Read data
BCF STATUS,RP0 ; Access bank 2
MOVF EEDATA,W ; Data is stored in the W register
Escrita da EEPROM
De modo a escrever na EEPROM, deve escrever-se o endereo no registo EEADR, e depois o byte de dados
no registo EEDAT. Seguidamente necessrio fazer uma sequncia de segurana, para iniciar a escrita de cada
byte. As interrupes devem ser desligadas durante esta sequncia.
BSF STATUS,RP1
BSF STATUS,RP0
BTFSC EECON,WR1 ; Wait for the previous write to complete
GOTO $-1 ;
BCF STATUS,RP0 ; Bank 2
MOVF ADDRESS,W ; Move address to W
MOVWF EEADR ; Write address
MOVF DATA,W ; Move data to W
MOVWF EEDATA ; Write data
BSF STATUS,RP0 ; Bank 3
BCF EECON1,EEPGD ; Select EEPROM
BSF EECON1,WREN ; Write to EEPROM enabled
BCF INCON,GIE ; All interrupts disabled
MOVLW 55h ; Required sequence start
MOVWF EECON2
MOVLW AAh
MOVWF EECON2 ; Required sequence end
BSF EECON1,WR
BSF INTCON,GIE ; Interrupts enabled
BCF EECON1,WREN ; Write to EEPROM disabled
O sinal de Reset pode ser gerado externamente a qualquer momento, pelo nivel lgizo 0 no pino MCLR. Se
necessrio, tambm pode ser gerado pela electrnica interna. O Power-on gera sempre um Reset. Nomeada-
mente, devido a vrios eventos que acontecem quando a fonte de alimentao est ligada (maus contactos de
interruptores, arcos elctricos, tenso a subir vagarosamente, estabilizao gradual da frequncia de relgio,
etc), necessrio forar um atraso de tempo, antes do microcontrolador iniciar o funcionamento.
Dois temporizadores internos - PWRT e OST, esto encarregados deste servio. O primeiro pode ser ligado/
desligado durante a execuo do programa.
H, ainda, mais dois Resets, que podem ocorrer durante o funcionamento, bem como no momento em que a
energia desligada.
Ruidos
Rudos
Pino de MCLR
Um nvel lgico 0 no pino MCLR, faz um Reset imediato. recomendado que seja ligado como mostra a
gura abaixo. A funo dos componentes adicionais, a de conseguir suster um estado lgico 1 puro, durante
o funcionamento normal.