Vous êtes sur la page 1sur 6

Deber Sistemas Microprocesados

UNIVERSIDAD
POLITÉCNICA SALESIANA
FACULTAD DE INGENIERÍAS
ESCUELA DE ELECTRÓNICA

SISTEMAS MICROPROCESADOS

PRÁCTICAS DE
LABORATORIO

INFORME PRÁCTICA #01

TEMA: ENTRADA Y SALIDA


EN EL MICROCONTROLADOR
PIC

GEOVANNY ACOSTA
DARÍO CAÑAVERAL
NATALY GONZÁLEZ
Deber Sistemas Microprocesados

DEBERES

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

 Realizar el cálculo para obtener el periodo respectivo:

10Hz

10 Hz

20Hz

Tiempo en el Timer 1:

= [(65536-0)*256]*In=0.524s

Oscilador del Pic: 4 MHz

 Como configuraría los bits del registro T1CON:

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: permiso o prohibición del tmr1.


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.

Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0


0 0 0 1 1 0 1 0

 Donde se guardan los valores del timer 1:

El Timer 1 a diferencia del Timer 0 es un contador / temporizador. El conteo es realizado por


dos registros de 8 bits: (TMR1H (0Fh) y TMR1L (0Eh)), estos dos registros son tanto leíbles
como escribibles.
Así, el registro TMR1 se incrementa de 0000h a FFFFh y en la siguiente cuenta se reinicia en
0000h y así sucesivamente, al reciclarse se activa (en alto) la bandera TMR1IF (PIR1<0>), la
Deber Sistemas Microprocesados

cual puede ser utilizada para generar una interrupción, o bien, para ser consultada por poleo,
teniendo las mismas precauciones que ya se explicaron antes para la bandera T0IF.b

 Elaborar un programa que realice estas rutinas en MiKrobasic:

program deber1
dim a as Byte
a=0
main:
trisc=$0
T1CON=%01100000

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 un programa para que cada vez que se presione el pulsante se


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

 Como configuraría los bits del registro T1CON:

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 número 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 Bit 1 TICKPS1 TICKPS0 T1OSCEN T1SYNC# TMR1CS TMR1ON


0 0 0 0 0 0 0 0
Deber Sistemas Microprocesados

 Código del programa:

program deber2
dim a,b,e as byte
dim v as word
a=0
b=0
v=0
e=0
main:
TRISC=$0 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.

 Que debe alterar en el programa para que funcione si se presiona 2, 4


u 8 veces, respectivamente:

Lo que se debe cambiar en el registro T1CON es decir los TICKPS1 y TICKPSO


(BITS 5 Y 4).
Deber Sistemas Microprocesados

Para dos Veces queda bit 5=0 y bit 4=1.


Para cuatro Veces queda bit 5=1 y bit 4=0.
Para ocho Veces queda bit 5=1 y bit 4=1.

 Que pin del microcontrolador se usa para ingresar los pulsos:

Se utiliza el pin RC0.

3. Mediante el timer 2 crear una rutina de 10 Hz para encender y apagar un led.

 Qué diferencia existe entre Preescaler y Postscaler:

El preescaler funciona sólo como el preescaler de los otros dos temporizadores, Timer 0 y 1 de
temporizador y pueden tener preescaler valores de 1: 1, 1: 4 y 1: 16.
El postscaler se utiliza en forma diferente y da el temporizador agregado flexibilidad.

 Como configuraría el registro T2CON:

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
Deber Sistemas Microprocesados

 Donde se guardan los valores del Timer2:

En CCPR1H.

 Elaborar el programa que realice esta rutina en mikrobasic:

program deber3
dim a as byte
a=0
main:
TrisC = $FF
Trisb = $0
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 contador externo, debe explicar su


respuesta, máximo 4 líneas.

El TIMER 2 no puede ser utilizado como contador externo, debido a que no existe pin
alguno para realizar esta función por lo que no cuenta con un registro para realizar esta
operación.

Bibliografía:

 www.datasheet.com "Datasheet micro 16f877A"


 Microcontroladores"pic": Diseño práctico de aplicaciones, José María Angulo Usategui,
Edición 4, Editor McGraw-Hill, Interamericana de España.
 Hojas proporcionadas por Ing. Oñate
 Microcontroladores "PIC": diseño práctico de aplicaciones. Segunda Parte : el
PIC12F508 y PIC16F84A : lenguajes Emsamblador, C y PBASIC.

Vous aimerez peut-être aussi