1. Clase: Arquitectura interna de
microcontroladores PIC
1
Escuela Normal Superior Dr. Nicolás Avellaneda Cátedra: Electrónica Digital
II
Tecnicatura Superior en Electrónica Industrial Profesor: Ing. Gabriel
Argañaras
ELECTRÓNICA DIGITAL II
Clase 1
2. Escuela Normal Superior Dr. Nicolás Avellaneda Cátedra: Electrónica Digital
II
Tecnicatura Superior en Electrónica Industrial Profesor: Ing. Gabriel
Argañaras
TEORÍA PARTE 1: ARQUITECTURA INTERNA DE
MICROCONTROLADORES PIC
DE
MICROCHIP
Clase: Arquitectura interna de 2
microcontroladores PIC
3. ¿Qué es un microcontrolador?
Clase: Arquitectura interna de
microcontroladores PIC
3
Escuela Normal Superior Dr. Nicolás Avellaneda Cátedra: Electrónica Digital II
Tecnicatura Superior en Electrónica Industrial Profesor: Ing. Gabriel
Argañaras
Son circuitos integrados programables.
Sus terminales exteriores y su circuitería interna están adaptados al
control de procesos.
Tienen memoria interna ROM de programa limitada a unos pocos
Kbytes y muy escasa memoria RAM.
Múltiples periféricos en su interior dedicados al control de procesos:
temporizadores, conversores A/D, comparadores, módulos PWM,
puertos serie de diferentes tipos, etc.
Sus terminales tienen capacidad de manejar corriente.
No está adaptado para controlar una memoria externa ni un sistema
de buses.
Es un sistema cerrado que no permite ampliaciones.
4. Escuela Normal Superior Dr. Nicolás Avellaneda Cátedra: Electrónica Digital II
Tecnicatura Superior en Electrónica Industrial Profesor: Ing. Gabriel
Argañaras
Clase: Arquitectura interna de
microcontroladores PIC
4
¿Cuál es la diferencia de con un microprocesador?
Los microprocesadores
Tienen sus terminales exteriores y su circuitería interna adaptados
para controlar un bus de direcciones, de datos y de control.
No tienen periféricos internos, se dedican a administrar el flujo de
datos provenientes de diferentes periféricos externos.
Cada dispositivo periférico tiene una dirección dentro del mapa de
memoria que lo identifica.
En general no tienen memoria interna de programa o de datos.
Es un sistema abierto que permite ampliaciones.
Están preparados para direccionar memorias de gran tamaño.
5. Periféricos de un microcontrolador
Puertos
de
E/S
Clase: Arquitectura interna de
microcontroladores PIC
5
Escuela Normal Superior Dr. Nicolás Avellaneda Cátedra: Electrónica Digital II
Tecnicatura Superior en Electrónica Industrial Profesor: Ing. Gabriel
Argañaras
μP
Reloj
interno y
externo
Tempori-zadores
Conver-sor
A/D
Módulo
Memoria PWM
EEPROM
Puertos
Serie
CAN
Puertos
Serie
I2C
USART
6. MICROCONTROLADORES PIC
Clase: Arquitectura interna de
microcontroladores PIC
6
Escuela Normal Superior Dr. Nicolás Avellaneda Cátedra: Electrónica Digital II
Tecnicatura Superior en Electrónica Industrial Profesor: Ing. Gabriel
Argañaras
Línea base: PIC16C57
Línea media: familias PIC16FXXX
Línea media mejorada: familias PIC16F18XX y 16F19XX
Línea media avanzada: familias PIC18FXXX
Microcontroladores de 16 bits: familias 24JXXXX, dsPIC, PIC32
7. Clase: Arquitectura interna de
microcontroladores PIC
7
Escuela Normal Superior Dr. Nicolás Avellaneda Cátedra: Electrónica Digital II
Tecnicatura Superior en Electrónica Industrial Profesor: Ing. Gabriel
Argañaras
MICROCONTROLADORES PIC
El PIC16F84:
Es un microcontrolador sencillo de la línea media de MICROCHIP.
Pertenece a la familia de microcontroladores 16FXXX.
Características:
1 K de memoria Flash.
68 bytes de memoria RAM del usuario.
64 bytes de memoria EEPROM.
4 fuentes de interrupciones.
13 puertos de entrada/salida.
1 Temporizador de 8 bits.
8. Clase: Arquitectura interna de
microcontroladores PIC
8
Escuela Normal Superior Dr. Nicolás Avellaneda Cátedra: Electrónica Digital II
Tecnicatura Superior en Electrónica Industrial Profesor: Ing. Gabriel
Argañaras
PIC16F84: Memoria de programa
a
La memoria de programa
guarda el programa del
usuario. Está separada de la
memoria de datos
Es una memoria borrable del
tipo Flash.
Tiene una ancho de palabra de
14 bits
9. Área de registros
especiales:
controlan los
periféricos ,
interupciones y
banderas.
Clase: Arquitectura interna de
microcontroladores PIC
9
Escuela Normal Superior Dr. Nicolás Avellaneda Cátedra: Electrónica Digital II
Tecnicatura Superior en Electrónica Industrial Profesor: Ing. Gabriel
Argañaras
PIC16F84: Memoria de datos
Página 0 de la
memoria de datos
Página 1 de la
memoria de datos
La memoria de datos es volátil
y guarda los valores
temporales de las variables
del programa.
Está dividida en dos partes:
una de registros propios del
micro y otra del usuario.
Tiene una ancho de palabra de
8 bits (1 byte)
10. Escuela Normal Superior Dr. Nicolás Avellaneda Cátedra: Electrónica Digital II
Tecnicatura Superior en Electrónica Industrial Profesor: Ing. Gabriel
Argañaras
Clase: Arquitectura interna de
microcontroladores PIC
10
TEORÍA PARTE 2: ENTORNO DE DESARROLLO MPLAB
11. Escuela Normal Superior Dr. Nicolás Avellaneda Cátedra: Electrónica Digital II
Tecnicatura Superior en Electrónica Industrial Profesor: Ing. Gabriel
Argañaras
El MPLAB es un entorno de desarrollo para microcontroladores de
MICROCHIP, provisto gratuitamente por el fabricante.
Un entorno de desarrollo es un programa de aplicación para
computadoras, que se usa para escribir los programas para los
microcontroladores, simular su funcionamiento, depurar errores y
bajar el código objeto al micro.
El MPLAB varias herramientas de compilación: lenguaje ensamblador
propio, MPASM y varios compiladores para lenguaje C adaptado a
microcontroladores, como CCS, HI-TECH, C18, C30, etc.
Clase: Arquitectura interna de
microcontroladores PIC
11
¿Qué es el MPLAB?
12. Escuela Normal Superior Dr. Nicolás Avellaneda Cátedra: Electrónica Digital II
Tecnicatura Superior en Electrónica Industrial Profesor: Ing. Gabriel
Argañaras
El MPLAB trabaja a través de proyectos.
Un proyecto es un programa madre que agrupa o enlaza a muchos
otros dentro de un mismo nombre.
Dentro de un proyecto podemos encontrar:
• El o los archivos fuente que son el programa en si.
• Archivos de encabezamiento.
• Códigos objeto o el programa que se grabará en el micro.
• Información sobre la simulación.
• Listado de errores, etc.
Clase: Arquitectura interna de
microcontroladores PIC
12
13. Escuela Normal Superior Dr. Nicolás Avellaneda Cátedra: Electrónica Digital II
Tecnicatura Superior en Electrónica Industrial Profesor: Ing. Gabriel
Argañaras
Para iniciar un proyecto en el MPLAB se usa la opción Project
Wizard dentro de la pestaña Project de la pantalla principal. Esta
opción lo guiará a través de varios pasos a crear el proyecto.
Clase: Arquitectura interna de
microcontroladores PIC
13
Como iniciar un proyecto
14. Escuela Normal Superior Dr. Nicolás Avellaneda Cátedra: Electrónica Digital II
Tecnicatura Superior en Electrónica Industrial Profesor: Ing. Gabriel
Argañaras
El primer paso es seleccionar el microcontrolador con el que se desea
trabajar en el proyecto.
Clase: Arquitectura interna de
microcontroladores PIC
14
Paso 1:
15. Escuela Normal Superior Dr. Nicolás Avellaneda Cátedra: Electrónica Digital II
Tecnicatura Superior en Electrónica Industrial Profesor: Ing. Gabriel
Argañaras
El segundo paso es seleccionar el lenguaje de programación que se
usará para editar el programa de aplicación. Los compiladores
para los diferentes lenguajes deben estar previamente instalados
dentro del MPLAB y configurada su ruta de acceso.
Clase: Arquitectura interna de
microcontroladores PIC
15
Paso 2:
16. Escuela Normal Superior Dr. Nicolás Avellaneda Cátedra: Electrónica Digital II
Tecnicatura Superior en Electrónica Industrial Profesor: Ing. Gabriel
Argañaras
En el tercer paso se le pregunta si se va a crear un nuevo proyecto o
se modificará uno existente. Si se crea un nuevo proyecto, se el
debe dar un nombre y una ubicación dentro del directorio. Es
importante saber que todos los archivos que enlace el proyecto
deberán estar ubicados dentro del mismo directorio.
Clase: Arquitectura interna de
microcontroladores PIC
16
Paso 3:
17. Escuela Normal Superior Dr. Nicolás Avellaneda Cátedra: Electrónica Digital II
Tecnicatura Superior en Electrónica Industrial Profesor: Ing. Gabriel
Argañaras
En el cuarto paso se solicita que se indiquen los archivos que se
adicionarán al proyecto. Estos pueden ser programas previamente
escritos que luego serán modificados. Si el programa aún no se ha
escrito, se puede saltear este paso finalizar el proceso y a
continuación abrir una hoja en blanco y adicionala manualmente.
Clase: Arquitectura interna de
microcontroladores PIC
17
Paso 4:
18. Escuela Normal Superior Dr. Nicolás Avellaneda Cátedra: Electrónica Digital II
Tecnicatura Superior en Electrónica Industrial Profesor: Ing. Gabriel
Argañaras
Luego de creado el proyecto y adicionado el archivo, se procede a
escribir el programa nuevo o modificar uno previo. Esto se llama
edición del programa.
Una vez que ya se terminó la edición del programa y se lo guardó,
llega el momento de compilarlo seleccionando la opción Build All
dentro de la pestaña Project.
La acción de compilar es la traducción del lenguaje C o ensamblador
a código máquina y creación del archivo objeto que se grabará en
el microcontrolador.
Clase: Arquitectura interna de
microcontroladores PIC
18
Edición y compilado de un programa:
19. Escuela Normal Superior Dr. Nicolás Avellaneda Cátedra: Electrónica Digital II
Tecnicatura Superior en Electrónica Industrial Profesor: Ing. Gabriel
Argañaras
El resultado de la compilación se muestra en la ventana Output. Aquí
se indica si la compilación fue exitosa o por el contrario si hubo
errores. En este último caso se listan todos los errores
encontrados.
Clase: Arquitectura interna de
microcontroladores PIC
19
Edición y compilado de un programa:
20. Escuela Normal Superior Dr. Nicolás Avellaneda Cátedra: Electrónica Digital II
Tecnicatura Superior en Electrónica Industrial Profesor: Ing. Gabriel
Argañaras
Si el proceso de compilado no fue exitoso, los errores encontrados se
listan en la misma ventana. En este caso es necesario corregir el
programa y volver a compilarlo hasta que el resultado sea bueno.
Clase: Arquitectura interna de
microcontroladores PIC
20
Edición y compilado de un programa:
21. Escuela Normal Superior Dr. Nicolás Avellaneda Cátedra: Electrónica Digital II
Tecnicatura Superior en Electrónica Industrial Profesor: Ing. Gabriel
Argañaras
Clase: Arquitectura interna de
microcontroladores PIC
21
Fuente de información
• Hoja de datos de los microcontroladores PIC16F84 y PIC16F882
proporcionada por MICROCHIP en su página web.