Tutorial Pld
Enviado por angelsom • 11 de Noviembre de 2012 • 16.872 Palabras (68 Páginas) • 350 Visitas
Introducción
Bienvenidos al inicio del Tutorial sobre PICs. Estas páginas te llevaran desde la estructura básica del dispositivo, hasta los métodos y técnicas de programación. También habrá sugerencias de como modificar el código para que lo puedas adaptar el PIC a tus propias aplicaciones. No incluiré diagramas de arquitectura interna, ya que esto puede llevar a confusiones. Si quieres echar un vistazo a la 'datasheet', la puedes bajar del sitio de Microchip.
Para empezar, echemos un vistazo al PIC.
Microcontrolador Microchip PIC 16F84
Microchip fabrica una serie de microcontroladores llamados PIC. Puedes ver toda la gama de sus microcontroladores aquí . Los hay disponibles de distintas capacidades, desde algunos tipos básicos con poca memoria, hasta los que tienen convertidores Analógico a Digital (ADC) incluidos o incluso los que llevan dentro PWMs (Pulse Width Modulators = Moduladores de Ancho de Pulso). Voy a concentrarme en el PIC 16F84. Una vez que aprendas como programar un tipo de PIC, aprender el resto será fácil.
Hay diversas formas de programar el PIC, - usando BASIC, C, o Lenguaje Ensamblador. Voy a mostrarte el Lenguaje Ensamblador. No te asustes. Solo hay 35 instrucciones que aprender, y es la manera más económica de programar los PICs, ya que no necesitas ningún otro software extra que no sea de los gratuitos.
Los pines del 16F84
Mas abajo verás el diagrama de patillas(pines en adelante) del PIC 16F84. Pasaré por cada pin, explicando para que se utiliza cada uno.
RA0 a RA4
RA es un puerto bidireccional. Eso quiere decir que puede ser configurado como entrada o como salida. El número que hay después de RA indica el numero de bit (0 a 4). Por tanto, tenemos un puerto bidireccional de 5 bits donde cada bit puede ser configurado como entrada o como salida.
RB0 a RB7
RB es un segundo puerto bidireccional. Se comporta exactamente de la misma manera que RA, excepto que este tiene 8 bits.
VSS y VDD
Estos son los pins de alimentación. VDD es la alimentación positiva, y VSS es el negativo de la alimentación, o 0 Voltios. La tensión máxima de alimentación que puedes utilizar son 6 Voltios, y el mínimo son 2 Voltios.
OSC1/CLK IN y OSC2/CLKOUT
Estos pines son donde conectaremos el reloj externo, para que el microcontrolador disponga de algún tipo de temporización.
MCLR
Este pin se utiliza para borrar las posiciones de memoria dentro del PIC (p.ej. cuando quiero reprogramarlo). Durante el funcionamiento normal está conectado a la alimentación positiva.
INT
Este es un pin de entrada que puede ser monitorizado. Si el pin se pone a nivel alto, podemos hacer que el programa se reinicie, se pare o cualquier otra función de deseemos. No lo utilizaremos mucho.
TOCK1
Esta es otra entrada de reloj, que opera con un temporizador interno. Opera aisladamente del reloj principal. De nuevo, este tampoco lo utilizaremos mucho.
Como Programar el PIC
Bien, espero que no te hayas asustado mucho. Ahora, querrás conocer como programar el PIC, pero además de aprender las instrucciones de código de ensamble, ¿como programas realmente ese código y lo metes en el PIC? Pues hay dos maneras, la sencilla y la "Hazlo tu mismo". La manera sencilla es comprar un programador de PIC, que se conecte a tu PC, que trae un software con el que puedes programar el PIC. La "Hazlo tú mismo" se trata de que construyas tu propio programador y utilices software gratuito de Internet y lo programes de ese modo.
Si prefieres el método "hazlo tu mismo", te recomendaría este sitio. Pulsa sobre "Supported Programmers" para ver los circuitos. El más económico es el "TAIT Classic Programmer". El software para programar el PIC también lo puedes bajar de esa página, ves a "Download".
Si quieres ir por la vía fácil, echa un vistazo a este sitio: (falta el sitio, el del texto original no funciona).
Otro buen sitio de software gratuito es este. Este permite utilizar cualquier programador, puesto que el software es completamente configurable.
Cualquier método funcionará, ya que ambos darán el mismo resultado, programar el PIC.
Lo siguiente que necesitas es un ensamblador. Este convertirá el programa que escribas en un formato que el PIC comprende. El mejor es del propio Microchip, llamado MPLAB. Es un programa de ventanas, que incluye un editor, un simulador y el ensamblador. Este es un software escrito por los propios fabricantes del PIC, y por encima de todo es gratuito !!!
La siguiente imagen ilustra el proceso de programación de un PIC.
También recomiendo utilizar una placa de inserción para hacer tus circuitos, mientras juegas con el PIC. Hay varios tamaños disponibles.
A continuación veremos como conectar un circuito simple para el desarrollo con el PIC.
Conectarse al microcontrolador PIC
Una placa de entrenamiento sencilla
Bien, ahora ya tienes tu programador, y uno o dos PICs. Es muy simple conocer la teoría para saber como programar el PIC, pero el verdadero aprendizaje viene cuando intentas probar tu código en un PIC y ves los resultados en tu propio circuito. He incluido el diagrama de un circuito que muestra una placa de entrenamiento muy básica y económica. Por supuesto, le puedes añadir LEDs yswitches, pero yo he dejado las patillas sin conectar. Puedes monitorizar los pines de entrada/salida conectando LEDs directamente a los pines, y se encenderán cuando los pines se pongan a nivel alto. También, puedes añadir switches a los pines, para poder seleccionar que pines poner a nivel alto, y cuales a nivel bajo. Básicamente, lo que estoy diciendo es que si comienzas con este circuito, puedes añadir lo que creas necesario.
La linea de alimentación está puesta a 6 Voltios, que es el máximo voltaje para el PIC. Puedes utilizar cualquier voltaje inferior, hasta un mínimo de 2 Voltios. C3 es conocido como un condensador de 'bypass'. Todo lo que se hace C3 es reducir el ruido de la linea de alimentación. X1 es un cristal de 4 MHz. Puedes utilizar un circuito RC (resistencia y condensador) (Nota de edición: crear enlace aquí), pero el precio del cristal es insignificante, y es mas estable. C1 y C2 ayudan a reducir cualquier desviación en la oscilación cristal, y a eliminar cualquier ruido no deseado antes de que la señal llegue al PIC.
Buenas técnicas para programar
Antes de meternos en harina con la programación del PIC, creo que ahora es un buen momento para explicar algunas técnicas para programar bien.
Si escribes un ; (punto y coma) en cualquier punto de
...