Tutorial Pic
xavi_hernandez3 de Febrero de 2014
10.424 Palabras (42 Páginas)340 Visitas
TUTORIAL MICROCONTROLADORES PIC
— INICIACI´ON R´ APIDA —
MIGUEL TORRES TORRITI
Contenidos
Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1. Microcontroladores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Introducci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2. Caracter´ısticas de los Microcontroladores . . . . . . . . . . . . . . . . . . . . . . 3
1.3. Proceso de Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. PIC16F84 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1. Introducci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2. Desarollo de Software para el PIC16F84 . . . . . . . . . . . . . . . . . . . . . . 7
2.3. Programaci´on del μC PIC16F84 . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.4. Circuito Base para Operaci´on Regular . . . . . . . . . . . . . . . . . . . . . . . 13
2.5. T´ecnicas Avanzadas: Programaci´on Mediante Bootloaders . . . . . . . . . . . . 14
3. Ejemplo 1: Programaci´on en JAL . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.1. Descripci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2. Paso 1: Instalaci´on y Configuraci´on del Compilador JAL . . . . . . . . . . . . . 15
3.3. Paso 2: Creaci´on del Programa en JAL . . . . . . . . . . . . . . . . . . . . . . . 15
3.4. Paso 3: Compilaci´on del Programa en JAL . . . . . . . . . . . . . . . . . . . . . 16
3.5. Paso 4: Programaci´on del μC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.6. Circuito del Ejemplo 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4. Ejemplo 2: Programaci´on en PICC Lite . . . . . . . . . . . . . . . . . . . . . . . 17
4.1. Descripci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.2. Paso 1: Instalaci´on y Configuraci´on del Compilador PICC Lite . . . . . . . . . 17
4.3. Paso 2: Creaci´on del Proyecto en MPLAB IDE . . . . . . . . . . . . . . . . . . 18
4.4. Paso 3: Compilaci´on del Proyecto con PICC Lite . . . . . . . . . . . . . . . . . 22
4.5. Paso 4: Programaci´on del μC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.6. Circuito del Ejemplo 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Version 1.0 – 26 Abril 2007 – http://www.ing.puc.cl/∼mtorrest/publicaciones.htm.
1
2 MIGUEL TORRES TORRITI
5. Desarrollos m´as all´a de este Documento . . . . . . . . . . . . . . . . . . . . . . . 25
5.1. PIC16F87x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.2. Freescale MC68HC08 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Agradecimientos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Ap´endice A. Lista de Componentes del Programador . . . . . . . . . . . . . . . . . 26
Ap´endice B. Lista de Componentes para los Ejemplos . . . . . . . . . . . . . . . . . 26
Ap´endice C. Configuraci´on del PROG84 . . . . . . . . . . . . . . . . . . . . . . . . . 26
Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Objetivos
Mediante explicaciones paso a paso, este documento busca iniciar r´apida y econ´omicamente
al lector en el desarrollo de circuitos basados en microcontroladores. Para dicho prop´osito se
emplear´a el popular microcontrolador PIC16F84, el cual por su simplicidad permite implementar
circuitos con componentes de bajo costo disponibles comercialmente, y sin requerir de
instrumentaci´on de laboratorio complejo. Tambi´en las herramientas de software de desarrollo
que se presentan son de libre distribuci´on y pueden conseguirse f´acilmente sin costo.
Los pasos que deber´a completar en este tutorial para desarrollar una aplicaci´on basada en
microcontroladores se resumen en:
(1) Selecci´on del microcontrolador: En este tutorial se utilizar´e el PIC16F84x por simplicidad
y costo. Para aplicaciones m´as avanzadas se recomiendan el PIC16F87x o el
PIC18F452.
(2) Selecci´on/Instalaci´on del compilador/ensamblador: Se emplear´a el compilador PICC
Lite de la empresa HI-TECH Software LLC. [3], junto con el software de desarrollo
MPLAB IDE de Microchip Technology Inc. [1]. Obtenga estos software de los sitios
webs que se indican en las referencias e inst´alelos.
(3) Selecci´on/Instalaci´on del software programador: En este tutorial se utilizar´a el software
programador PROG84. Obtenga el software programador PROG84 de las referencias
que se indican en la secci´on 2.3 o 2.3.1. Para aplicaciones m´as avanzadas se
recomiendan el IC-Prog o el WinPIC.
(4) Construcci´on del circuito programador: En este tutorial se emplear´a el circuito programador
JDM PIC Programmer 2 (JDM2). La construcci´on del circuito programador
JDM2 se explica en la secci´on 2.3.2 o en las referencias de la secci´on 2.3. El JDM2 es
un programador simple y vers´atil para aplicaciones avanzadas. Alternativamente, se
recomiendan el Multi PIC Programmer 5 Ver. 2 o el Progrmador PIC Pablin II. Si est´a
inici´andose en la programaci´on de microcontroladores y necesita desarrollar una aplicaci
´on r´apidamente, tal vez sea recomendable que invierta en un programador de PIC
comercial como los de Olimex, que son una alternativa econ´omica a los programadores
PICStart Plus de Microchip.
(5) Desarrollo del software y programaci´on: Para escribir el programa que se incorporar´a
al microcontrolador se emplear´a el ambiente de desarrollo MPLAB IDE. Es posible
prescindir de este ambiente y escribir el c´odigo en un procesador de textos simple. Sin
TUTORIAL MICROCONTROLADORES PIC 3
embargo, la MPLAB IDE provee una serie de herramientas que facilitan el desarrollo
y la administraci´on del c´odigo.
(6) Construcci´on del circuito base de la aplicaci´on. Los circuitos bases de la aplicaci´on se
presentan en en los ejemplos de este documento.
Al completar este tutorial, usted deber´ıa ser capaz de aplicar los pasos anteriores al desarrollo
de aplicaciones basadas en otros microcontroladores adem´as del PIC16F84.
1. Microcontroladores
1.1. Introducci´on.
Los micrconctoladores son computadores digitales integrados en un chip que cuentan con un
microprocesador o unidad de procesamiento central (CPU), una memoria para almacenar el
programa, una memoria para almacenar datos y puertos de entrada salida. A diferencia de
los microprocesadores de prop´osito general, como los que se usan en los computadores PC,
los microcontroladores son unidades autosuficientes y m´as econ´omicas.
El funcionamiento de los microcontroladores est´a determinado por el programa almacenado
en su memoria. Este puede escribirse en distintos leguajes de programaci´on. Adem´as, la
mayor´ıa de los microcontroladores actuales pueden reprogramarse repetidas veces.
Por las caracter´ısticas mencionadas y su alta flexibilidad, los microcontroladores son ampliamente
utilizados como el cerebro de una gran variedad de sistemas embebidos que controlan
m´aquinas, componentes de sistemas complejos, como aplicaciones industriales de automatizaci
´on y rob´otica, dom´otica, equipos m´edicos, sistemas aeroespaciales, e incluso dispositivos
de la vida diaria como autom´oviles, hornos de microondas, tel´efonos y televisores.
Frecuentemente se emplea la notaci´on μC o las siglas MCU (por microcontroller unit para
referirse a los microcontroladores. De ahora en adelante, los microcontroladores ser´an referidos
en este documento por μC.
1.2. Caracter´ısticas de los Microcontroladores.
Las principales caracter´ısticas de los μC son:
• Unidad de Procesamiento Central (CPU): T´ıpicamente de 8 bits, pero tambi´en
las hay de 4, 32 y hasta 64 bits con arquitectura Harvard, con memoria/bus de datos
separada de la memoria/bus de instrucciones de programa, o arquitectura de von Neumann,
tambi´en llamada arquitectura Princeton, con memoria/bus de datos y memoria/
bus de programa compartidas.
• Memoria de Programa: Es una memoria ROM (Read-Only Memory), EPROM
(Electrically Programable ROM), EEPROM (Electrically Erasable/Programable ROM)
o Flash que almacena el c´odigo del programa que t´ıpicamente puede ser de 1 kilobyte
a varios megabytes.
• Memoria de Datos: Es una memoria RAM (Random Access Memory) que t´ıpicamente
puede ser de 1, 2 4, 8, 16, 32 kilobytes.
• Generador del Reloj: Usualmente un cristal de cuarzo de frecuencias que genera
una se˜nal oscilatoria de entre 1 a 40 MHz, o tambi´en resonadores o circuitos RC.
• Interfaz de Entrada/Salida: Puertos paralelos, seriales (UARTs, Universal Asynchronous
Receiver/Transmitter), I2C (Inter-Integrated Circuit), Interfaces de Perif´ericos
4 MIGUEL TORRES TORRITI
Seriales (SPIs, Serial Peripheral Interfaces), Red de Area de Controladores
...