Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Tciclo = n*m*(4/Fosc)
TMAX = 8*65536(4/Fosc)
Si F=10Hz
TMAX = 1/F
TMAX =1/10hz
0.1s = 8*65536*4/Fosc
Fosc=20.9Hz
00011010
program ejrcicio1deber
main:
TRISC=$0
T1CON=%01100000
TMR1H=0
if Tmr1H=50 then
PORTC=1
delay_ms(50)
end if
goto main
end.
¬. REALIZAR UN PROGRAMA PARA QUE CADA VEZ QUE SE
PRESIONE EL PULSANTE SE INCREMENTE EL VALOR NUMÉRICO
EN UN PAR DE DISPLAYS DE 7 SEGMENTOS, QUE EN EL ESTADO
INICIAL SE OBSERVA 00.
0 0 1:01
0 1 1:0¬
1 0 1:04
1 1 1:08
REGISTRO T1CON
X X 0 0 1 0 1 1
program deber2
dim x,y as byte
dim k as byte
dim I,J as word
x=0
y=0
I=0
k=0
main:
Trisc =$FF
Trisb =$0
trisa =$0
T1CON.TMR1CS = 0 'asigna el reloj interno al timer1, incrementa
T1CON.T1CKPS0 = 0 'factor del preescales del timer1, 0
T1CON.T1CKPS1 = 0 'factor del preescales del timer1, 0
T1CON.TMR1ON = 0 'parado el contador del TMR1
PIE1.TMR1IE = 0 'desactiva las interrupciones del timer1
Intcon= $0
while true
porta= 1
portb = x
delay_us(100)
porta= 2
portb= y
delay_us(100)
inc(I)
if I=2000 then
IF TMR0 <> k THEN
k=TMR0
if k=j then
inc(y)
end if
if y=10 then
y=0
inc(x)
else
if x=10 then
x=0
end if
end if
TMR0=0
end if
end if
I=0
J=0
wend
end.
end.
Lo único que se debe cambiar en el programa son los bits del registro
T1CON como se muestra en la primera tabla:
CONCLUSIONES
El timer1 puede utilizarse como un contador y como temporizador esto se
lo hace
escribiendo en la palabra de registro T1CON donde se configura cada uno
de los bits
según como queramos utilizarlo. El preescalador tiene la misma función
como divisor
de frecuencia antes de cada incremento.
El Timer2 no es un contador externo.
BIBLIOGRAFÍA
- www.datasheet.com "Datasheet micro 16f877A"
-
http://www.eng.uwi.tt/depts/elec/staff/feisal/ee33a/resources/peripherals.
pdf