ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Tutorial Pld

angelsom11 de Noviembre de 2012

16.872 Palabras (68 Páginas)365 Visitas

Página 1 de 68

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 tu programa, el compilador ignorará cualquier cosa que haya detrás de él, hasta llegar al retorno de carro. Esto significa que podemos añadir comentarios a nuestro programa que nos recuerden que estábamos haciendo en ese punto. Esta es una buena práctica incluso para los programas más sencillos. Ahora mismo puede que entiendas completamente qué es lo que hace tu programa, pero dentro de unos meses, puede que te acabes tirando de los pelos. Por tanto, utiliza comentarios donde puedas , no hay límites.

Segundo, puedes asignar nombres a las constantes vía los registros (hablaremos de estos más adelante). Hace lo que estás escribiendo mucho más sencillo de leer, para saber de que valor se trata, mas que intentar entender que significan todos esos números. Así que utiliza nombres reales como CONTADOR. Date cuenta de que hemos puesto el nombre en letras mayúsculas. Esto lo hace destacar, y también significa (por convención) que se trata de una constante.

Tercero, añade algún tipo de cabecera en tus programas utilizando los punto y coma. Un ejemplo sería algo así:

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; Autor:

;

; Fecha:

;

; Versión:

;

; Titulo:

;

;

;

; Descripción:

;

;

;

;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Date cuenta de que hemos hecho una especie de caja utilizando puntos y comas. Esto es simplemente para hacerlo más pulcro.

Finalmente, prueba y documenta el programa sobre papel también. Puedes usar o bien diagramas de flujo o bien algoritmos o lo que tu quieras. Esto te ayudará a escribir tu programa paso a paso.

Bien, eso es todo al respecto, vamos a entrar en materia.

Los Registros

Un registro es un lugar dentro del PIC que puede ser escrito, leído o ambas cosas. Piensa en un registro como si fuese un trozo de papel donde tu puedes ver la información o escribirla.

La figura de más abajo muestra el mapa de registros del interior del PIC16F84. No te preocupes si no has visto nada parecido antes, es solo para mostrar donde están los diferentes bits y piezas dentro del PIC, y nos ayudará a explicar unos cuantos comandos.

La primera cosa que notarás es que está dividido en dos - Banco 0 y Banco 1. El Banco 1 es utilizado para controlar las propias operaciones del PIC, por ejemplo para decirle al PIC cuales bits del Puerto A son entradas y cuales son salidas. El Banco 0 se utiliza para manipular los datos. Un ejemplo es el siguiente: Digamos que queremos poner un bit del puerto A a nivel alto. Lo primero que necesitamos hacer es ir al Banco 1 para poner ese bit o pin en particular en el puerto A como salida. Después volvemos al Banco 0 y enviamos un 1 lógico a ese pin.

Los registros que vamos a usar mas comunes en el Banco 1

...

Descargar como (para miembros actualizados) txt (69 Kb)
Leer 67 páginas más »
Disponible sólo en Clubensayos.com