Escolar Documentos
Profissional Documentos
Cultura Documentos
Resumen: Construimos un reloj digital con hora ajustable utilizando un PIC18f4550 y una
LCD. El programa cargado en el pic fue realizado en el lenguaje C utilizando el compilador
CCS, y nuestro cdigo se basa en el uso de las interrupciones, especficamente utilizamos
el timer1 y sus caractersticas para obtener la funcionalidad del reloj. Para poder ajustar la
hora en nuestro reloj incluimos tres push buttons; un botn que habilita el ajuste, un botn
que permite ajustar los minutos y el ltimo botn que permite ajustar las horas. La hora y el
men de ajuste son mostrados en la LCD, obteniendo finalmente un reloj preciso y fcil de
usar para cualquier usuario.
Introduccin
PIC18F4550
Marco Terico
Microcontrolador
Fig 1 PIC18F4550
Lenguaje Ensamblador
Compilador CCS
Timer1
El Timer1 es un temporizador/contador
ascendente parecido al TMR0, con
algunas peculiaridades que lo hacen muy
interesante a la hora de incluir
temporizadores en nuestros programas.
Como ya lo mencionamos, el timer1 se
trata de un contador de 16 bits cuyo valor
se almacena en dos registros de 8 bits el
TMT1H y el TMR1L, ambos registros se
pueden leer y escribir su valor durante la
ejecucin del programa.
Lenguaje C
Es tambin conocido como Lenguaje de
programa de sistemas. El lenguaje C es
del tipo lenguaje estructurado como son
Pascal, Fortran y Basic. Al ser un lenguaje
estructurado se considera como un
lenguaje de alto nivel. Para simplificar el
funcionamiento del lenguaje C tiene
incluidas libreras de funciones que
pueden ser incluidas haciendo referencia
la librera que las incluye.
Interrupciones
Como
caractersticas
del
Timer1
podemos destacar las siguientes:
LCD 16x2
La pantalla de cristal lquido o LCD (por
sus siglas en ingls: Liquid Crystal
Display) es un dispositivo electrnico
micro controlado de visualizacin grfica
para la presentacin de caracteres,
smbolos y nmeros. Dispone de 2 filas y
16 caracteres en cada fila y cada carcter
dispone de una matriz de 5x7 puntos
(pixeles).
1 =
65536 [tiempo que queremos/(
4
)]
Frecuencia Oscilador
(1.0)
Proteus 8.1
Desarrollo
Programador K150
la
El
a
4
)]=
24MHz
5536
(1.1)
Anlisis
Conclusiones
El uso de interrupciones en la
programacin de microcontroladores es
comn y ofrece una gran cantidad de
aplicaciones.
Cuestionario
1. Qu es una interrupcin?
Una interrupcin detiene la ejecucin de un programa y pasa a la rutina de servicio del
evento que provoca la interrupcin. Dicha interrupcin ocurrir cada cierto tiempo
dependiendo del valor que tenga cargado en su configuracin.
2. Calcule el valor que se debe cargar al timer1 para obtener una interrupcin de 5ms
a partir de la ecuacin (1.1), tomando en cuenta una Frecuencia de Oscilacin de
24 MHz. El valor deber darse en nmero hexadecimal.
= 65536 [tiempo que queremos/(
= 65536 [0.005/(
4
)]
Frecuencia Oscilador
4
)]
24MHz
= 65536 30000
= 35,536
Ahora lo convertiremos a hexadecimal utilizando una calculadora que realiza esta funcin.
35,536 decimal = 8AD0 Este deber ser el valor que cargaremos en el Timer1.
Bibliografa
1. http://www.ccsinfo.com/content.php?page=compilers, 12 de octubre de 2014.
2. http://www.aquihayapuntes.com/indice-practicas-pic-en-c/uso-del-tmr1-comotemporizador.html, 12 de octubre de 2014.
3. http://www.ecured.cu/index.php/Lenguaje_de_Programaci%C3%B3n_C, 12
octubre de 2014.
de