Professional Documents
Culture Documents
com
Autor del Libro: Nebojsa Matic / Descarga Gratuita de: http://www.mikroelektronika.co.yu
____________________________________________________________________________
Capítulo I
LOS FUNDAMENTOS DE PIC BASIC
Introducción
Introducción
Sencillez y facilidad, cualidades que el más grande lenguaje de programación brinda para escritura de programas, así como
amplias aplicaciones de los microcontroladores, fue suficiente para incitar a algunas compañías como Microengeneering para
embarcarse en el desarrollo de programas en el lenguaje BASIC. ¿Qué íbamos a obtener? Antes que todo, el tiempo de escritura
fue acortado con el empleo de funciones preparadas que BASIC brinda (Quienes programan en assembler habrían necesitado
una mayor parte del tiempo). De esta manera el programador puede concentrarse en resolver las tareas esenciales sin perder su
tiempo en la es critura de códigos para display LCD. Para evitar alguna confusión en el texto avanzado, es necesario aclarar tres
términos encontrados frecuentemente
Programming language (Lenguaje de programación) Se entiende como un surtido de comandos y reglas de acuerdo a las
que frecuentemente utilizamos para escribir un programa y por esto nosotros distinguimos varios lenguajes de programación
como BASIC, C, PASCAL etc. En BASIC programming language la literatura existente es algo extensa, así que la mayor
atención en este libro ha sido dedicada concretamente a la parte de la programación de microcontroladores.
Program (Programa) Consiste en una secuencia de comandos de lenguaje que nuestro microcontrolador ejecuta uno tras otro.
La estructura del programa BASIC es explicada con más detalles en el segundo capitulo.
BASIC compiler (compilador BASIC) Es el programa de corrido en la PC y su tarea es traducir el código original de BASIC
al lenguaje de 0 a 1 entendible para el microcontrolador. El proceso de traducción del programa en BASIC a un código
Hexadecimal ejecutable es mostrado en la imagen a continuación. El programa escrito en PIC BASIC y registrado como un
archivo Program.bas es convertido en un código ensamblador (Program.asm). Así que para obtener un código ensamblador
es seguidamente traducido a un código Hexadecimal ejecutable el cual es escrito en la memoria de un microcontrolador por un
programador (programador es un recurso utilizado para transferir archivos Hexadecimales desde la computadora hasta la
memo ria del microcontrolador).
Recurso de
Compilador Ensamblador
programación
Para los controladores que no son capaces de trabajar con PIC BASIC hay una sustitución adecuada. Por ejemplo, en vez del
PIC16C54 o 58, podemos usar pines compatibles con los chips PIC16C554, 558, 620 y 622 quienes también operan con PIC
BASIC sin ninguna diferencia de precios.
Generalmente la mejor opción para el desarrollo de aplicaciones, utilizando PIC BASIC son microcontroladores de la familia:
PIC16F87x, PIC16F62X y por supuesto el famoso PIC16F84. Con esta familia de microcontroladores PIC, la memoria de
programa es creada utilizando tecnología FLASH, tecnología que provee un borrado y reprogramado más rápido, de este modo
se permite una depuración más rápida. Con un simple clic del Mouse en el software del programa, el programa del
microcontrolador puede ser instantáneamente borrado y luego recargado sin remover el CHIP del programador. También el
programa cargado en la memoria FLASH puede ser almacenado después de que la fuente de poder ha sido apagada. Los
antiguos microcontroladores PIC de las series (12C67x, 14C000, 16C55x, 16C6xx, 16C7xx y 16C92x) tienen memoria de
programa creada usando tecnología EPROM/ROM, así que ellos pueden ser programados sólo una vez ( versión OTP con
memoria ROM) o con ventana de vidrio (versión JW con memoria EPROM), las cuales permiten un borrado en unos pocos
minutos exponiendo la ventana a una luz UV. Versiones OTP con usualmente más baratos y son usados para manufactura de
productos en serie. Además de la memoria FLASH, microcontroladores de las series PIC16F87x y PIC16F84 pueden contener
64-256 bytes de memoria EEPROM interna, las cuales pueden ser usadas para el grabado de los datos del programa y otros
parámetros para cuando la corriente es apagada. PIC BASIC ha sido construido con instrucciones de lectura y escritura que
pueden ser usadas para la carga y guardado de datos a la escritura EEPROM. Para obtener información completa acerca
aplicaciones específicas de las aplicaciones de los microcontroladores, usted debería obtener la hoja de datos apropiada al
microcontrolador o el CD de Microchip.
Los ejemplos de programas trabajados a través de éste libro son más que todo para ser corridos en
microcontroladores PIC16F84 o PIC6F877, pero podrían, con pequeñas o sin ninguna corrección, ser corridos en otros
microcontroladores PIC.
___________________________________________________________________________
Libro para descarga Gratuita – Usted puede descargar la versión en Inglés en:
http://www.mikroelektronika.co.yu
Traducido al Español por: Maria Del Carmen Lara T. para www.mundopic.com
Autor del Libro: Nebojsa Matic / Descarga Gratuita de: http://www.mikroelektronika.co.yu
____________________________________________________________________________
1.3 Primer programa escrito en PIC BASIC
Para empezar a programar y desarrollar aplicaciones en BASIC programming language, es necesario tener por lo menos un
editor de texto. El compilador PIC BASIC para el agrado de algunos es un sistema en desarrollo con el cual el programa se
supone es chequeado. Para escribir el código del programa en BASIC, cualquier editor de texto que pueda guardar el archivo
del programa como solamente texto ASCII (sin formato de símbolos especiales) puede ser usado. Para esto se propone el uso de
editores como Notepad o WordPad. Una solución aún mejor que el uso de cualquier editor de texto clásico es el uso de un
editor especialmente desarrollado para el programa escrito en ese código como Microchip's MPLAB o Mecanique's Micro
CODE STUDIO.
La ventaja de esos paquetes de programas es que ellos cuidan de la sintaxis del código, liberan memoria y proveen un ambiente
más confortable cuando se escribe el programa (Los apéndices A y B describen al MPLAB y a los editores de MicroCODE
STUDIO).
Cuando el programa original en BASIC es terminado y guardado como un sólo archivo con extensión .BAS es necesario iniciar
el compilador PIC BASIC. El procedimiento para compilar da lugar a dos pasos.
La transición entre el primer y el segundo paso es hecha por el usuario – éste ultimo imperceptible para el programador, ya que
todo pasa de una forma completamente automática y es definido de este modo en un proceso indivisible. En el caso de un error
de sintaxis en el código del programa, el compilado no será exitoso y el archivo en Hexadecimal no será creado por completo.
Entonces los errores deben ser corregidos en el archivo original BAS y repetir el proceso completo de compilación. La mejor
táctica es la de escribir y probar pequeñas partes del programa, que escribir uno gigantesco de 1000 líneas o más para luego
enfrascarse en la búsqueda de errores.
___________________________________________________________________________
Libro para descarga Gratuita – Usted puede descargar la versión en Inglés en:
http://www.mikroelektronika.co.yu
Traducido al Español por: Maria Del Carmen Lara T. para www.mundopic.com
Autor del Libro: Nebojsa Matic / Descarga Gratuita de: http://www.mikroelektronika.co.yu
____________________________________________________________________________
El archivo con la extensión .HEX es en efecto el programa que es escrito a la memoria de programa del microcontrolador. El
programador con el software instalado en la PC es usado para esta operación. El programador es un dispositivo para la carga
del archivo Hexadecimal en la memoria interna del microcontrolador. El software del PC lee el archivo Hexadecimal y envía al
programador la información de la locación exacta en donde un valor debe ser escrito en la memoria de programa, PIC BASIC
crea el archivo Hexadecimal en un estándar 8-bit Merged Intel HEX formato aceptado por la mayoría de los software de
programación. En el texto a continuación un archivo BLINK.HEX.
Además de escribir y leer el código del programa en el microcontrolador, el programador sirve para establecer la configuración
del microcontrolador. Aquí se configura el tipo de oscilador, protección de la memoria en contra lectura, encendido de un
watchdog timer etc. La conexión entre el PC y el microcontrolador es mostrada a continuación.
Software
para
programar
El software del programador es usado exclusivamente para la comunicación entre la PC y el programador y no es sustituible
con algún código escrito. El software para programación del microcontrolador y posible simulador es conocido con el nombre
IDE. Integrated Development Environment (ambiente de desarrollo integrado) - Microchip's MPLAB.
___________________________________________________________________________
Libro para descarga Gratuita – Usted puede descargar la versión en Inglés en:
http://www.mikroelektronika.co.yu
Traducido al Español por: Maria Del Carmen Lara T. para www.mundopic.com
Autor del Libro: Nebojsa Matic / Descarga Gratuita de: http://www.mikroelektronika.co.yu
____________________________________________________________________________
Para una correcta operación del microcontrolador y la corrida correcta de un programa es necesario asegurar la fuente del
microcontrolador, el oscilador y el circuito de reset. La fuente del microcontrolador puede ser construida con un simple
puente rectificador y un regulador de voltaje LM7805, como se muestra en la figura a continuación.
Transformador
EL oscilador del microcontrolador puede ser un cristal de 4MHz y dos capacitores de 22pF o un resonador cerámico de la
misma frecuencia (el resonador cerámico contiene los capacitores mencionados, pero contrariamente al oscilador tiene tres
terminaciones en vez de dos). La velocidad a la que opera el microcontrolador depende de la velocidad a la que el programa
corre y éste a su vez de la frecuencia del oscilador. En el curso del desarrollo de una aplicación lo más fácil de hacer es usar el
circuito interno de reset conectando el pin MCLR a +5V con una resistencia de 10K de por medio.
A continuación El esquema de un puente rectificador con un regulador de voltaje LM7805 el cual da la salida estable de +5V,
configuración mínima que permite la operación de un microcontrolador PIC.
Configuración de Hardware mínima necesaria para la operación del microcontrolador PIC Después de que la fuente de
poder es colocada en el circuito estructurado similar al anterior, el microcontrolador PIC debe mostrarse como funcionando, y
su diodo LED debe estar parpadeando una y otra vez cada segundo. Si la señal parece completamente perdida (diodo LED no
está funcionando), se debe chequear si +5V está presente en todos los pines correspondientes del microcontrolador PIC.
___________________________________________________________________________
Libro para descarga Gratuita – Usted puede descargar la versión en Inglés en:
http://www.mikroelektronika.co.yu
Traducido al Español por: Maria Del Carmen Lara T. para www.mundopic.com
Autor del Libro: Nebojsa Matic / Descarga Gratuita de: http://www.mikroelektronika.co.yu
____________________________________________________________________________
Los problemas más frecuentes al usar microcontroladores PIC pueden ser corregidos chequeando los pocos componente
externos utilizados, revisando que sus valores correspondan a los que se necesitan y que todas las conexiones del
microcontrolador estén hechas apropiadamente. A continuación algunas sugerencias que pueden ser útiles a la hora de
programar.
Paso 1. Revise que el pin MCLR esté conectado a los 5V en un circuito de reset seguro o simplemente con
una resistencia de 10K. Si el pin permanece desconectado, el nivel de voltaje se mantendrá "fluctuante" y éste
podría funcionar a veces, pero usualmente éste no lo hará. EL Chip tiene un circuito power-on-reset, y una
resistencia externa de empuje (pull-up) en el pin MCLR.
Paso 2. Revise que la conexión con el resonador esté estable. Para la mayoría de lo microcontroladores PIC
comenzar con un resonador de 4MHz es suficiente.
Paso 3. Revise la fuente de poder. El microcontrolador PIC consume muy poca energía pero la fuente debe
estar filtrada. A la salida del rectificador, la corriente es directa pero pulsante y esto no es recomendable para
la fuente del microcontrolador. Para evitar esta pulsación, el capacitor electrolítico de mayor capacitancia
(470 µF) es colocado a la salida del rectificador.
Si el microcontrolador PIC detecta un dispositivo que hala mucha energía de la fuente de poder está en condiciones de
provocar un mal funcionamiento en las líneas de alimentación, así que el microcontrolador puede dejar de funcionar
correctamente y puede comenzar a mostrar un funcionamiento extraño o no apropiado. Además, los 7 segmentos del LED
pueden inducir una caída de tensión (El peor escenario es cuando todos los dígitos está en 8, porque el display requerirá más
potencia), y la fuente no es capaz de suministrar suficiente corriente (para el caso de una batería de 9V por ejemplo).
Algunos microcontroladores PIC tienen pines multifuncionales de entrada \ salida, como es el caso de la familia PIC16C62x
(PIC16C620, 621 y 622). Los microcontroladores pertenecientes a esta familia están provistos con comparadores análogos en el
puerto A. Antes de poner a trabajar estos chips, el puerto A es configurado a modo análogo, lo cual permite el uso de muchas
funciones del pin de este puerto. Cualquier microcontrolador PIC con entradas análogas puede después de ser reseteado mostrar
su propio modo análogo (sí los mismos pines son usados como líneas digitales deben ser antes configurados a modo digital).
Una de las posibles fuentes de problemas es que el cuarto pin del puerto A muestra un comportamiento particular cuando éste
es usado como salida (porque este pin tiene abierto colectores de salida en vez del utilizado estado bipolar). Esto implica que la
inscripción del 0 lógico en éste pin podría sin embargo ser configurado en el nivel bajo (low) , pero la inscripción de la unidad
lógica mantendrá la corriente fluctuante mientras se configura en el nivel alto (high). Para mantener Este pin actuando en una
forma apropiada una resistencia es colocada entre RA4 y 5V. La magnitud de esta resistencia puede ser entre 4.7K y 10K,
dependiendo de la intensidad de la corriente necesaria para el convertidor entrante (convected entrance). Éste pin funciona
como cualquier otro pin usado como entrada (todos los pines después de recetados son configurados como salidas).
Durante el trabajo con microcontroladores PIC se pueden esperar muchos más problemas. A veces lo que ha sido probado
parece que va a funcionar, pero eso no pasa cuando se ha sido descuidado o dependiendo del esfuerzo que se ha puesto en el
trabajo. Normalmente hay mas de una manera para resolver las cosas. Un ángulo diferente para ver las cosas podría traer
consigo una solución con el mismo esfuerzo.
___________________________________________________________________________
Libro para descarga Gratuita – Usted puede descargar la versión en Inglés en:
http://www.mikroelektronika.co.yu