Académique Documents
Professionnel Documents
Culture Documents
Salesiana
Ingeniería Electrónica
Sistemas
Microprocesados
DEBER DE MICROCONTROLADORES
TEMPORIZADORES
Integrantes:
LUIS HERNANDEZ
JUAN DAVID HERRERA
1.- MEDIA
TE EL TIMER 1 CREAR U
A RUTI
A D E 10 HZ PARA
E
CE
DER Y APAGAR U
LED.
Donde:
precarga = Valor que se le asigna al par de registros TMR1 al comenzar la
temporización
PS = Valor del preescalador
Tinstr = 4/frecuencia de oscilación
TempTMR1 = Temporización dada en segundos
La temporización máxima utilizando el oscilador interno del pic y el valor más grande
de preescalador es:
De modo que la temporización máxima que se puede tener con este temporizador,
utilizando el oscilador interno de 4Mhz del pic , es de 524.288mS
0 0 0 1 1 0 1 0
Configurar los registros asociados con los valores indicados anteriormente. El registro
T1CON (control de TMR1), debe configurarse con el valor: XX011010b (donde X
puede ser 1 o 0 porque no están implementados fisicamente en el registro
BIT TMR1ON.- GOBIERNA EL PERMISO O LA PROHIBICION DEL TIMER1
Bit TMR1CS.-Selecciona la fuente de los pulsos del contaje
Bits T1SYNC# y T1OSCEN en 0-1, para que la señal externa de 2 Hz se convierta a 1
Hz luego del prescaler.
Bit TICKPS0 en 1, para habilitar al sistema oscilador.
Bit TICKPS1 en 0, para sincronizar con el flanco ascendente del oscilador ppal.
Bit 1 en 1, para seleccionar entrada por el pin RC0.
Bit 0 en 0, (por ahora) para dejar en OFF al timer.
program ejercicio1
DIM a AS BYTE
A=0
main:
trisc=$0
TMR1H=0
TMR1L=0
inc(a)
if a =2 then
inc(portb)
portc=1
end if
goto main
end.
2. REALIZAR U
PROGRAMA PARA QUE CADA VEZ QUE SE PRESIO
E
EL PULSA
TE SE I
CREME
TE EL VALOR
UMÉRICO E
U
PAR DE
DISPLAYS DE 7 SEGME
TOS, QUE E
EL ESTADO I
ICIAL SE OBSERVA
00.
0 0 0 0 0 0 0 0
main:
TRISC=$0 'programa contador externo
trisb=$0
T1CO
= %00000100
TMR1=0
Lazo:
if TMR0=0 then
while true
portc = 1
portb = a
delay_us(100)
portc =2
portb = b
delay_us(100)
inc(v)
if v=2000 then
b=inc (b)
if b=10 then
b=0
inc(a)
else
if a=9 then
if b=9 then
a=0
b=0
end if
end if
end if
v =0
else
end if
wend
b=4
end if
goto lazo
end.
Lo único que se debe cambiar en el programa son los bits del registro T1CON es decir
los TICKPS1 y TICKPS0
0 0 0 1 0 0 0 0
0 0 1 0 0 0 0 0
0 0 1 1 0 0 0 0
3. MEDIA
TE EL TIMER 2 CREAR U
A RUTI
A 10HZ PARA E
CE
DER
Y APAGAR U
LED
Temporización
TempTMR2 = [Preescaler*(PR2+1)*Postscaler]*Tinstr
Donde
Preescaler = Valor del preescalador
PR2 = Valor cargado al registro PR2
Postscaler = Valor del post-escalador
Tinstr = 4/frecuencia de oscilación
TempTMR2 = Temporización dada en segundos
PR2 = [([TempTMR2/(4/fosc)])/(Preescaler*Postscaler)]-1]
Registro T2CON
------ 0 0 0 0 1 0 0
0 0 1:1
0 1 1:4
1 x 1:16
El bit TMRON sirve para permitir (1) o prohibir (0) el funcionamiento del TMR2
0000 1:1
0001 1:2
….. 1:3
1111 1:16
En CCPR1H
program deber
dim a as byte
a=0
main:
Trisb = $0 'SALIDA
T2CON = %00000100
lazo:
if TMR2= 25 then
PORTB.1=0
else
portb.1=1
end if
goto lazo
END.
EL TIMER 2 NO PUEDE ser utilizado como contador externo ya que no tiene tiene
ningún pin asignado a esta función y las señal de reloj del timer 2 es interna Fosc/4, y
antes de ser aplicada pasa por un predivisor de frecuencia .
BIBLIOGRAFÍA