You are on page 1of 7

Universidad Politécnica

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.

a) Realizar el cálculo para obtener el periodo respectivo

TempTMR1 = [(65536 - precarga)*PS]*Tinstr

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:

TempTMR1.Max = [(65536 - 0)*256]*1nS = 524288uS

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

b) Como configuraría los bits del registro T1CO

Bit 0 BiT1 TICKPS1 TICKPS0 T1OSCEN


T1SYNC# TMR1CS TMR1ON

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.

c) Donde se guardan los valores del timer 1

El Timer 1 es un módulo temporizador/contador de 16 bits, que consiste en dos registros


de 8 bits (TMR1H y TMR1L) que son de lectura y escritura. Selección de reloj interno y
externo. Este módulo incrementa su cuenta desde 0×000 hasta 0xFFFF y al desbordarse
vuelve a 0×0000.Interrupcion opcional por desbordamiento de FFFFh a 0000h Al
presentarse el desborde la bandera de interrupción TMR1IF se pone a 1 y, si está
habilitada, la interrupción se presenta.

d) Elaborar un programa que realice esta rutina en microbasic

program ejercicio1

DIM a AS BYTE

A=0

main:

trisc=$0

T1CON=%01100000 'programa de timer1

TMR1H=0

TMR1L=0

if Tmr1= 255 then

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.

a. Como configuraría los bits del registro T1CO


.

El predivisor de frecuencia (preescaler) es un simple divisor de frecuencia de los


impulsos que se aplican al TMR1, en cuyo por 1, 2, 4 u 8. El rango de división lo
eligen los bits TICKPS1 y TICKPS0 según la tabla:

La tabla muestra el nuemro de l pulsos que se da y el bit que se debe de asignar a


T1CON
Para el programa que se desea realizar los bits del registro T1CON quedarían de la
siguiente manera:

Bit 0 BiT1 TICKPS1 TICKPS0 T1OSCEN


T1SYNC# TMR1CS TMR1ON

0 0 0 0 0 0 0 0

b. Código del programa


program EJERCICIO2

dim a,b,e as byte


dim v as word
a=0
b=0
v=0
e=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.

c. Que debe alterar en el programa para que funcione si se presiona 2, 4 u8


veces respectivamente.

Lo único que se debe cambiar en el programa son los bits del registro T1CON es decir
los TICKPS1 y TICKPS0

Para dos pulsaciones quedaría de la siguiente manera:

Bit 0 BiT1 TICKPS1 TICKPS0 T1OSCEN


T1SYNC# TMR1CS TMR1ON

0 0 0 1 0 0 0 0

• Para cuatro pulsaciones quedaría de la siguiente manera :

Bit 0 BiT1 TICKPS1 TICKPS0 T1OSCEN


T1SYNC# TMR1CS TMR1ON

0 0 1 0 0 0 0 0

• Para ocho pulsaciones quedaría de la siguiente manera :

Bit 0 BiT1 TICKPS1 TICKPS0 T1OSCEN


T1SYNC# TMR1CS TMR1ON

0 0 1 1 0 0 0 0

d. Que pin del microcontrolador se usa para ingresar los pulsos.

Se utiliza el pin RC0.

3. MEDIA
TE EL TIMER 2 CREAR U
A RUTI
A 10HZ PARA E
CE
DER
Y APAGAR U
LED

Temporización

La temporización del Timer 2 está dada por la siguiente expresió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

La temporización máxima que puede alcanzar el Timer 2 es la misma que alcanza el


Timer 0. Utilizando el oscilador interno del pic 16f628 la temporización máxima sería
de 65536uS.Si se desea otra temporización se puede lograr cargando el valor necesario
al registro PR2.

PR2 = [([TempTMR2/(4/fosc)])/(Preescaler*Postscaler)]-1]

a) Que diferencia existe entre prescaler y postscale

Este módulo cuenta con un preescalador y un post-escalador. El preescalador tiene la


misma función que en los otros dos timers y sirvecomo divisor de frecuencia antes de
cada incremento.

El post-escalador funciona como un divisor de frecuencia después de cada coincidencia


entre los registros TMR2 y PR2. Si el post-escalador es 1:1 la bandera de interrupción
TMR2IF se habilitará en cada coincidencia entre TMR2 y PR2, en cambio si por
ejemplo el post-escalador es 1:16, la interrupción se presentará cada 16 coincidencias.
Fija cuantas veces debe resetearse el timer antes de provocar una interrupción.

b) como configurar el registro T2CO

Registro T2CON

TOUTPS3 TOUTPS2 TOUTPS1 TOUTPS0 TMR2ON T2CKPS1 T2CKPS0

------ 0 0 0 0 1 0 0

T2CKPS1 y T2CKPS0 sirven para seleccionar el rango de división del prescaler.

T2CKPS1 T2CKPS0 Rango de Prescaler

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

TOUTPS3, TOUTPS2, TOUTPS1 y TOUTPS0 determinan el rango por el que se


divide la frecuencia de postscale.

TOUTPS3- Rango de Postscale


TOUTPS0

0000 1:1

0001 1:2

….. 1:3
1111 1:16

c) Donde se guardan los valores del Timer2

En CCPR1H

d) Elaborar el programa que realice esta rutina en mikrobasic

program deber

dim a as byte

a=0

main:

TrisC = $FF 'programa de timer2

Trisb = $0 'SALIDA

T2CON = %00000100

lazo:

if TMR2= 25 then

PORTB.1=0

else

portb.1=1

end if

goto lazo

END.

4. PUEDE SER UTILIZADO EL TIMER 2 COMO CO


TADOR EXTER
O,
DEBE EXPLICAR SU RESPUESTA, MÁXIMO 4 LÍ
EAS.

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

 www.datasheet.com "Datasheet micro 16f877A"


 http://www.eng.uwi.tt/depts/elec/staff/feisal/ee33a/resources/peripherals.pdf
 HOJAS DADAS E
SISTEMAS MICROPROCESADOS 1
 Microcontroladores "PIC": diseño práctico de aplicaciones. Segunda Parte : el
PIC12F508 y PIC16F84A : lenguajes Emsamblador, C y PBASIC
Microcontroladores"pic": Diseño práctico de aplicaciones, José María Angulo
Usategui, Edición 4, Editor McGraw-Hill, Interamericana de España

You might also like