martes, 3 de abril de 2012

Microcontrolador PIC

¿Que es un PIC?

Un PIC, es un microcontrolador programable, fabricado por MicroChip Technology Inc originalmente derivados del PIC1650. El nombre completo es PICmicro, aunque generalmente se utiliza como Peripheral Interface Controller(controlador de interfaz periférico). Los PIC que suelen usarse son de 8, 16 y 32 bits. Estos microcontroladores según el modelo disponen de diferentes sistemas de comunicación con el exterior como puertos UART, USB y conversores de analógico a digital.


Arquitectura interna del PIC

Hay dos arquitecturas conocidas; la clásica de von Neumann, y la arquitectura Harvard.

Arquitectura Von Neumann: Dispone de una sola memoria principal donde se almacenan datos e instrucciones de forma indistinta. A dicha memoria se accede a través de un sistema de buses único (direcciones, datos y control).

Arquitectura Harvard: Dispone de dos memorias independientes, una que contiene sólo instrucciones, y otra que contiene sólo datos. Ambas disponen de sus respectivos sistemas de buses de acceso y es posible realizar operaciones de acceso (lectura o escritura) simultáneamente en ambas memorias, ésta es la estructura para los PIC's.


Programación PIC

El lenguaje nativo de estos microcontroladores es el ASM, y en el caso de la familia “16F” solo posee 35 instrucciones. Pero el ASM es un lenguaje que está mucho más cerca del hardware que del programador, y gracias a la miniaturización que permite incorporar cada vez más memoria dentro de un microcontrolador sin aumentar prácticamente su costo, han surgido compiladores de lenguajes de alto nivel. Entre ellos se encuentran varios dialectos BASIC y C. El BASIC resulta bastante más simple de aprender.
Un microcontrolador es como un ordenador en pequeño: dispone de una memoria donde se guardan los programas, una memoria para almacenar datos, dispone de puertos de entrada y salida, etc. A menudo se incluyen puertos seriales (RS-232), conversores analógico/digital, generadores de pulsos PWM para el control de motores, bus I2C, y muchas cosas más. Por supuesto, no tienen ni teclado ni monitor, aunque podemos ver el estado de teclas individuales o utilizar pantallas LCD o LEDs para mostrar información.
En general, por cada cuatro ciclos de reloj del microcontrolador se ejecuta una instrucción ASM (una instrucción BASIC consta generalmente de más de una instrucción ASM). Esto significa que un PIC funcionando a 20MHz puede ejecutar 5 millones de instrucciones por segundo.
Los pines del PIC se dedican casi en su totalidad a los puertos que mencionábamos anteriormente. El resto (2 o más) son los encargados de proporcionar la alimentación al chip, y a veces, un sistema de RESET. Desde BASIC es posible saber si un pin esta en “estado alto” (conectado a 5V o a un “1” lógico) o en “estado bajo” (puesto a 0V o a un “0” lógico”). También se puede poner un pin de un puerto a “1” o “0”. De esta manera, y mediante un rele, por ejemplo, se puede encender o apagar una luz, motor, maquina, etc.

Para transferir el código de un ordenador al PIC normalmente se usa un dispositivo llamado programador. Existen muchos programadores de PICs, desde los más simples que dejan al software los detalles de comunicaciones, a los más complejos, que pueden verificar el dispositivo a diversas tensiones de alimentación e implementan en hardware casi todas las funcionalidades. Muchos de estos programadores complejos incluyen ellos mismos PICs pre-programados como interfaz para enviar las órdenes al PIC que se desea programar.


Fuentes:
http://perso.wanadoo.es/luis_ju/pic/pic03.html
http://electronica-teoriaypractica.com/2012/01/que-es-un-pic.html
http://es.wikipedia.org/wiki/Microcontrolador_PIC
http://foro.elhacker.net/electronica/que_es_pic-t264274.0.html
http://electronica-pic.blogspot.mx/
http://www.terra.es/personal/fremiro/arquitectura.htm
http://www.ucontrol.com.ar/wiki/index.php/Programaci%C3%B3n_de_microcontroladores_PIC

1 comentario: