Sei sulla pagina 1di 10

UNIVERSIDAD POLITECNICA SALESIANA

DEBER
INGENIERIA
SISTEMAS MICROPROCESADOS I
ELECTRONICA

CUESTIONARIO

1. Mediante el timer 1 crear una rutina de 10 hz para encender y apagar un led

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

Un conteo de 100ms (100000us) usando un cristal de 8MHz

Como no podemos contar los 1000000 pulsos con el registro tenemos que usar
el preescalador.

b. Como configuro los bits del registro T1CON

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. Este módulo
incrementa su cuenta desde 0×000 hasta 0xFFFF y al desbordarse vuelve a 0×0000. Al
presentarse el desborde la bandera de interrupción TMR1IF se pone a 1 y, si está
habilitada, la interrupción se presenta.

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

A diferencia del Timer 0, el Timer 1 tiene la posibilidad de activar o detener la cuenta


mediante el bit TMR1ON del registro T1CON.
INGENIERIA
SISTEMAS MICROPROCESADOS I
ELECTRONICA

INTCON.- Configurando GIE y PEIE, para activar el vector de interrupciones y


activar los registros PIE1, PIE2, PIR1 y PIR2, respectivamente.
PIE1.- Activar TMR1IE ( Inicia el uso de la bandera de desborde del Timer 1 ).
PIR1.- Verificar TMR1IF ( Bandera de desborde del Timer 1 ).
INGENIERIA
SISTEMAS MICROPROCESADOS I
ELECTRONICA

c. Donde se guardan los valores del timer 1

TMR1, es el único temporizador/contador ascendente con un tamaño de 16


bits, lo que requiere el uso de dos registros concatenados de 8 bits:
TMR1H:TMR1L, que son los encargados de guardar el valor del conteo en
tiempo real en el intervalo 0000h a FFFFh. Utiliza tanto reloj interno como
externo y puede provocar una interrupción por desbordamiento de su registro
de conteo.

d. Elaborar un programa que realice esta rutina en mikrobasic

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.

2. Realizar un programa para que cada vez que se presione el


pulsante se incremente un valor numérico en un par de display de 7
segmentos, que en el estado inicial se observa 00.

a. Como configuraría los bit del registro T1CON.

Bit 0 = 1 (enciendo DEL TIMER 1)


Bit 1= 1 (El reloj es externo desde la terminar RC0/T1OSO/T1CKI)
Bit 2 = 0 (control de sincronización de la entrada del reloj externo)
Bit 3 = 1 (Habilita el oscilador)
Bit 4-5 =00 (selecciona el preescalar)

0 0 0 0 1 0 1 1
Bit 7 Bit0

b. Código del programa

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.

c. Que debe alterar el programa para que funcione se presiona 2


veces, 4 veces u 8 veces respectivamente.
d.
Para alterar el programa debemos cambiar el preescalar esto es los bit 4 y 5
por:
1.1 se presiona 2 veces
1-0 se presiona 4 veces
1-1 se presiona 8 veces

e. Que pin del microcontrolador se utiliza para ingresar los pulsos.

El PIN 15 (RC0/T1OSO/T1CKI)
INGENIERIA
SISTEMAS MICROPROCESADOS I
ELECTRONICA

3. Mediante el timer 2 crear una rutina de 10hz para encender y apagar


un led.

a. Que diferencia existe entre prescaler y postscaler


INGENIERIA
SISTEMAS MICROPROCESADOS I
ELECTRONICA
INGENIERIA
SISTEMAS MICROPROCESADOS I
ELECTRONICA

b. Como configuro el registro T2CON


INGENIERIA
SISTEMAS MICROPROCESADOS I
ELECTRONICA

Un conteo de 100ms (100000us) usando un cristal de 4MHz

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

c. Donde se guardan los valores del timer 2

El prescaler y el postscale se ponen en 0 cuando se escribe TMR2, también al escribir el


T2CON y Reset, sin embargo al escribir en T2CON no se borra el TMR2.
El TMR2 tiene asociado un Registro de Periodo PR2 donde se guarda los valores que
ocupa la dirección 92h.
El valor de TMR2 vale 0 cuando se produce un reset.

d. Elaborar un programa que realice esta rutina en mikrobasic

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

Potrebbero piacerti anche