Documentos de Académico
Documentos de Profesional
Documentos de Cultura
microcontrolador PIC18F2550
Por: I.I.E. Miguel Montiel Martnez
montiel.martinez@gmail.com
Resumen
Este articulo trata sobre la estructura y configuracin esencial del temporizador/contador 1 de un
microcontrolador PIC18F2550. Como primer punto, se aborda el concepto de contador y su
aplicacin inmediata, as como las operaciones con las que se cuenta, enseguida, el punto 2 describe
brevemente el funcionamiento del temporizador 1 y esquematiza la tcnica de poleo para evaluar el
conteo del tiempo; en el apartado 3, son mostrados los registros que intervienen en la configuracin
del temporizador 1; con el fin de mostrar las ecuaciones que intervienen en el clculo del
temporizado, se coloca el apartado 4, y finalmente en el punto 5, es diseado un ejemplo de
aplicacin con fundamento en todos los puntos anteriores, a fin de establecer una propuesta de
configuracin para el clculo en los tiempo de retardo de un microcontrolador PIC18F2550 a travs
de un temporizador de 16 bits.
Para generar un retardo cuya duracin en tiempo se encuentre bien definido, el programador
debe tener en cuenta lo siguiente:
El tiempo deseado.
La frecuencia de oscilacin seleccionada para el microcontrolador.
Los temporizadores del microcontrolador PIC18F2550, cuentan con un bit asociado al cual,
el fabricante le denomina Bandera de desborde. La funcin de la bandera de desborde es cambiar a
estado alto cuando el contador llega a su valor mximo, y justo antes de que al siguiente ciclo de
reloj, el valor almacenado en el mismo se reinicie.
1 Chronos era la personificacin del tiempo, de acuerdo a la mitologa griega y se encargaba de conducir la rotacin de los
cielos y el eterno paso del tiempo (Rose & Rose, H. J., 1928).
Las operaciones que se permiten realizar con los registros de conteo de los temporizadores
son:
Conteo.
Carga.
Encendido/Apagado (Arranque/Paro).
Reset o carga con cero.
2. El temporizador 1
El temporizador 1, es un bsicamente un contador cuya longitud de palabra es de 16 bits,
solo que ste, no puede escribirse de una sola vez, hay que escribir los registros en un orden
definido, ya que el temporizador est formado por dos registros:
El registro TRM1L que corresponde a la parte menos significativa
El registro TRM1H que corresponde a la parte ms significativa
Este temporizador adems, permite al programador configurar un divisor de frecuencias,
para generar retardos de tiempo an mas prologados. Integrado a este temporizador, se tiene una
bandera (bit que se ajusta a uno) que indica el fin y reinicio del conteo, denominando a este evento
Fuente:(Microchip, 2009)
Se puede mencionar que los registros para una rpida configuracin de comportamiento de
temporizacin, se realiza a travs de los registros T1CON, TMR1L y TMR1H.
Los registros INTCON, PIR1, PIE1 e IPR, permiten la configuracin y funcionamiento de
interrupciones generadas por el temporizador 1.
t max=
465536
F osc
Divisor
(1)
y por consiguiente el tiempo mnimo a obtener o tick es obtenido mediante la ecuacin (2):
4
t min = Divisor (2)
F osc
48MHz
T1INI =65536 (1.57 ms)
41 (4)
T1INI =46696
Ntese que se ha escogido un divisor de frecuencia por 1, esta decisin es con base en la
Tabla 3: Tiempos estimados para una frecuencia de 48MHz, ya que en la columna 1 de sta, el valor
mximo de tiempo generado por este divisor es de 5.4 ms aproximadamente, siendo el divisor por 1,
mejor que el calculado por un divisor por dos, y la razn de esto, es porque el tick o duracin del
pulso de menor tiempo, es mayor en el segundo caso que en el primero, de esta manera, se genera
la prdida de resolucin en el tiempo deseado.
Por lo tanto, con el valor de precarga 46696, tericamente, es obtenido un tiempo de retardo
de 1.57 milsimas de segundo. Observar la siguiente sustitucin:
(4)(46696)
Retardo=65536 =1.57103 s
48 MHz
En ella se muestra que el nmero 65536, representa el nmero de ciclos para desbordar el
temporizador 1 considerando un ciclo completo, el 4, se refiere a los 4 ciclos de reloj que consume un
ciclo de instruccin, el valor 46696, indica la precarga del temporizador y finalmente los 48MHz son la
frecuencia de reloj del sistema embebido.
6. Conclusiones
El microcontrolador PIC18F2550, cuenta con un temporizador de 16 bits, que es capaz de
almacenar en formato binario, las oscilaciones de un cristal de cuarzo, con el fin de generar un tiempo
de retardo muy bien definido.
Para lograr este fin, es necesario tomar en cuenta los siguientes puntos: el valor del cristal
de cuarzo a usar, la configuracin del reloj interno del sistema del microcontrolador, los registros que
interactan con el temporizador, as como el divisor de frecuencia para el temporizador.
Usando herramienta matemtica y el conocimiento necesario de la configuracin bsica del
temporizador 1 del microcontrolador PIC18F2550, es posible derivar ecuaciones, que permiten
establecer el parmetro precarga.
Mediante la asignacin del valor de precarga al temporizador 1 del microcontrolador
PIC18F2550, tericamente, es posible obtener un retardo de tiempo.
Finalmente cabe agregar que, el inters de acumular estos retardos de tiempo e ir
contabilizndolos, estriba en la medicin del tiempo, la que de acuerdo a (Cabanes, 2005), esta
medicin al ser de ndole histrico tcnico, facilita que a travs de clculos, sea posible establecer
fechas.
7. Bibliografa
http://bib.cervantesvirtual.com/historia/TH/tiempo.shtml
Jung, E. (2010, Julio 22). Default config for PIC18F4550 20 Mhz (48 Mhz) | MoP. MoP. Recuperado
Agosto 11, 2011, a partir de http://junif.hu/mop/programok/default_config
Mazidi, A., McKinlay, R., & Causey, D. (2008). PIC18 Timer programming in Assembly and C. PIC
Microcontroller and Embedded Systems - Using assembly and C for PIC18 (1o ed., pgs. 335-
Prieto-Moreno, A., Gonzalez-Gmez, J., & Gmez, R. (2009, Junio). Programacin del PIC16 en C -
http://www.iearobotics.com/wiki/index.php?title=Programacin_del_PIC16_en_C
RedPIC. (2010, Agosto 7). Consiguiendo 4 Mhz para los 48 Mhz necesarios en los PICs con USB
cuervo.net/conceptos.php#USB4Mhz