Mis primeros programas en assembler - Micros Designs
Mis primeros programas en assembler - Micros Designs
Mis primeros programas en assembler - Micros Designs
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
El PIC16F84A<br />
Introducción.<br />
El PIC16F84A está fabricado <strong>en</strong> tecnología CMOS, posee memoria FLASH, y consumo bajo de pot<strong>en</strong>cia.<br />
Está compuesto básicam<strong>en</strong>te de una memoria ROM (1024 palabras de memoria de programa), una memoria<br />
RAM (de acceso aleatorio, 68 bytes), líneas de <strong>en</strong>trada y salida (2 Puertos) y una lógica de control que<br />
coordina la interacción de los demás bloques.<br />
Estos micros pert<strong>en</strong>ec<strong>en</strong> a la gama media y dispones de un set de 35 instrucciones, tipo RISC (Computador<br />
con Set de Instrucciones Reducido) pocas pero muy poderosas.-<br />
Algunas funciones especiales que dispone este PIC:<br />
Temporizador programable (Timer). Si se quiere medir periodos de tiempo <strong>en</strong>tre ev<strong>en</strong>tos, g<strong>en</strong>erar<br />
temporizaciones o salidas con frecu<strong>en</strong>cia específica, etc.<br />
Perro Guardián o Watchdog. Consiste <strong>en</strong> un temporizador que, cuando se desborda ya pasa por 0,<br />
provoca un reset automático, utilizado para sistemas que no ti<strong>en</strong><strong>en</strong> control de un supervisor, y al<br />
bloquearse el micro se resetea. Si se utiliza el código debe resetearlo antes de que se desborde.<br />
Memoria EEPROM de 64 bytes, para guardar datos que no se alteran a pesar de quitar la<br />
alim<strong>en</strong>tación.<br />
Interrupciones, cuando una señal externa, o una condición interna activa una línea de interrupción,<br />
dejando de lado la tarea que está ejecutando, ati<strong>en</strong>de dicha interrupción y luego continúa con lo que<br />
estaba haci<strong>en</strong>do.<br />
Protección ante fallo de alim<strong>en</strong>tación. Se trata de un circuito que resetea al micro cuando el voltaje<br />
Vdd es inferior al mínimo.<br />
Estado de bajo consumo. Sleep. Si el micro debe esperar mucho tiempo sin hacer nada, posee una<br />
instrucción especial, Sleep, que lo pasa al estado de reposo. Al activarse una interrupción se<br />
“despierta” y reanuda su trabajo. (Reset externo, desbordami<strong>en</strong>to de Watchdog, interrupción por RB0,<br />
interrupción por cambio de nivel <strong>en</strong> RB4 a RB7, interrupción por escritura completada <strong>en</strong> EEPROM)<br />
Veamos el diagrama de pines, para ver cómo están distribuidos sus pines. Este microcontrolador cu<strong>en</strong>ta con<br />
dos puertos configurables como estradas y salidas, y consta de 18 pines los cuales se <strong>en</strong>cu<strong>en</strong>tran asignados de<br />
la sigui<strong>en</strong>te manera:<br />
El puerto A ti<strong>en</strong>e solo cinco pines, el pin 3, ósea, RA4/TOCKI puede ser configurado a su vez como<br />
<strong>en</strong>trada/salida o como temporizador/contador. Cuando es salida se comporta como colecto abierto, por lo tanto<br />
debemos poner una resist<strong>en</strong>cia Pull-up a Vdd de 1 Kohm. Cuando se configura como <strong>en</strong>trada, funciona como<br />
disparador Schmitt Trigger por lo que puede reconocer señales con un poco de distorsión.<br />
El puerto B ti<strong>en</strong>e 8 pines que pued<strong>en</strong> ser configurados como <strong>en</strong>trada/salida. RB0 puede programarse además<br />
como <strong>en</strong>trada de interrupción externa. Los pines RB4 a RB7 pued<strong>en</strong> programarse para responder a<br />
interrupciones por cambio de estado y los pines RB6 y RB7 se correspond<strong>en</strong> con líneas de <strong>en</strong>trada de reloj y<br />
Autor: Suky Mail: inf.pic.suky@live.com.ar Web: www.micros-designs.com.ar