|
Microcontrolador
PIC16F84
¿Que
es un Microcontrolador?
Un Microncontrolador es un chip (circuito integrado) que
cumple las funciones de cerebro de un robot o alguna aplicación
que lo necesite. Estas aplicaciones pueden variar en su
complejidad desde el simple hecho de encender un led hasta
controlar un sistema de regadío automatizado
|
 |
Los microcontroladores
se conocen también como microcomputadoras ya que en
su interior poseen todos los elementos de una computadora
como:
·
- Una
cpu
- Un
medio de almacenamiento para guardar el programa
- Una
memoria RAM para almacenar variables
- Una
serie de LINEAS de E/S para controlar dispositivos externos
o datos de sensores.
- Y otros
como un reloj, buses, contadores y otros registros de utilidad
El tener todos
estos recursos en un solo chip hace ventajoso el uso de este
dispositivo ya que en poco tiempo y con pocos compnentes podemos
hacer lo que seria trabajoso hacer con circuitos tradicionales.
Algunos fabricantes de microcontroladores son:
- ATMEL
- INTEL
- MOTOROLA
- MICROCHIP
El
microcontrolador PIC16F84
Primero:
considero importante describir este micro ya que es uno de
los mas baratos y se consigue sin problemas en Paraguay.
La palabra PIC viene de Peripheral Interface Controller. El
PIC es fabricado por la empresa Microchip y el 16f84 es uno
de los menos potentes que la empresa fabrica, la letra F hace
referencia al tipo de memoria de programa, en este caso FLASH,
si fuera PIC16C84, la letra C hace referencia al modelo con
memoria de programa de tipo CMOS, ambos usan el mismo set
de instrucciones y son compatibles entre si.
El PIC16F84
esta dotado de 18 pines, 13 de los cuales son para E/S de
datos, 2 para alimentación, 2 para el reloj y uno para
reset.
|

|
Como se puede
ver, el PIC16F84 esta dotado de un total de 18 pines
dispuestos en dos hileras paralelas de 9 pines cada
una.
Los pines con flechas amarillas son las líneas
de E/S (Entrada/Salida) disponibles para nuestra aplicación,
los RA son del puerto A y los que dicen RB son del puerto
B
Los pines con flechas rojas son los pines de alimentación,
Los verdes son reservados para el funcionamiento del
reloj del PIC. Y el MCLR para el reset .
|
Algunas características
mas representativas son:
- 1Kbyte de memoria
EEPROM para nuestro programa
- 68 bytes (de
8 bits) de memoria RAM
- 64 bytes de
memoria EEPROM para datos (no vátiles)
- Solo 35 instrucciones
- 13 pines de
entrada/salida (un puerto de 8 bits + otro de 5 bits)
- Timer/contador
de 8 bits
¿Como
se programan los PIC?
El pic se debe
programar utilizando un hardware especial llamado programador
que básicamente toma la información enviada
por la PC y graba dentro de la memoria del pic el programa.
Este hardware no es difícil de hacer ya que en Internet
existe un montón de diagramas como el que esta en pablin.com
o podes optar por comprar alguno ya hecho en venta en Internet.
La programación
se realiza normalmente en asembler en un editor cualquiera,
auque es recomendable usar el MPLAB de la empresa
microchip ya que es bien amigable a parte de
tener el compilador integrado.
Un programa en asembler (con la extensión .asm) se
ve mas o menos así:
bsf STATUS,RP0
;Cambio al banco 1 para config. Los puertos
clrf TRISA ;Puerto A como salida
movlw b'00111111' ;Mueve valor literal a W
movwf TRISB ;RB0 - RB5 como entradas
;RB6 - RB7 como salidas
bcf STATUS,RP0 ;Cambio al banco 0
bsf PORTB,RB7 ; ahi prendemos el pin 7 del Puerto B
Este programa básicamente
envía una señal HI (5v) al pin RB7
La programación
también se puede realizar en lenguajes de alto nivel,
siempre que contemos con el compilador correspondiente, existen
compiladores para PIC de lenguaje C y Basic entre otros.
Además se ofrecen comercialmente herramientas para
programarlos en forma grafica como el NIPLE
(tambien tiene un demo casi totalmente funcional), en el que
los programas se realizan gráficamente en forma de
un DFD. El resultado de este DFD es el código en asembler
que luego con el MPLAB podemos compilarlo para luego grabar
el programa en el PIC.
El MPLAB toma el archivo en asembler (.asm) y lo compila generando
un archivo con extensión HEX que puede ser grabado
en el PIC con un software de grabación como el ICPROG
u otro gratuito.
Siguiente
Página, Set de instrucciones del 16F84
|