Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
DEBER
INGENIERIA
SISTEMAS MICROPROCESADOS I
ELECTRONICA
CUESTIONARIO
Como no podemos contar los 1000000 pulsos con el registro tenemos que usar
el preescalador.
Este módulo al igual que el Timer 0 puede funcionar en modo temporizador y en modo
contador. En modo temporizador el par de registros TMR1 se incrementa en cada ciclo
de instrucción, este modo se selecciona poniendo a 0 el bit TMR1CS del registro
T1CON. En modo contador el par de registros TMR1 se incrementa en cada flanco
ascendente de una señal de reloj externa, este modo se selecciona poniendo a 1 el bit
TMR1CS del registro T1CON.
El preescalador del Timer 1 tiene un valor máximo de 8 y se selecciona con los bits
T1CKPS1:T1CKPS0 de la siguiente manera:
00 = 1:1
01 = 1:2
10 = 1:4
11 = 1:8
program TIMER1
main:
trisc=$0
T1CON=%00110001 'programa de timer1
TMR1H=0x9E
TMR1L=0X58
if Tmr1=50 then
portc=1
delay_ms(50)
end if
goto main
end.
0 0 0 0 1 0 1 1
Bit 7 Bit0
program timer1
Dim A,B As Byte
'timer1 externo
main:
trisc=$FF
INGENIERIA
SISTEMAS MICROPROCESADOS I
ELECTRONICA
trisb=$0
trisd=$0
t1con=%00001011
tmr1l=0
A=0
B=tmr1l
while true
portd=1
portb=A
delay_us(248)
portd=2
portb=B
delay_us(248)
if B=10 then
B=0
Inc(A)
else
if A=06 then
A=0
end if
end if
wend
end.
El PIN 15 (RC0/T1OSO/T1CKI)
INGENIERIA
SISTEMAS MICROPROCESADOS I
ELECTRONICA
Como el registro del TMR2 puede contar desde 0 hasta PR2 pulsos, se
necesita usar el preescalador y el postescalador.
INGENIERIA
SISTEMAS MICROPROCESADOS I
ELECTRONICA
program TIMER2
dim a as byte
a=0
main:
TrisC = $FF
Trisb = $0
T2CON = %01101111
TMR2=0
intcon= $0
pr2=0x1BE
lazo:
if pr2= 0x11BE then
PORTB.1=0
else
portb.1=0
end if
goto lazo
END.
4. Puede ser utilizado el timer 2 como contador externo, debe explicar su respuesta,
máximo en 4 líneas.
El timer 2 no podríamos utilizar como contador externo ya que en la configuración del registro
T2CON ningún bit activa la terminal de reloj externo, es decir no tenemos ningún pin para
ingresar los pulsos, este timer es utilizado como Temporizador de ciclos de reloj y generador
de señal de periodo para puerto serial.
CONCLUSIONES
El TIMER2 no es contador externo y hay que dar un valor de preescalar y postescalar.
El TIMER 1 puede funcionar como un contador externo e interno y no se debe olvidar de
colocar estos dos valor TMR1H,TMR1L
BIBLIOGRAFÍA
- www.datasheet.com "Datasheet micro 16f877A"
- http://www.eng.uwi.tt/depts/elec/staff/feisal/ee33a/resources/peripherals.pdf