13.11.2012 Views

Mis primeros programas en assembler - Micros Designs

Mis primeros programas en assembler - Micros Designs

Mis primeros programas en assembler - Micros Designs

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!