Escolar Documentos
Profissional Documentos
Cultura Documentos
Captulo 1
MICROCONTROLADORES PIC
Introduccin.
PIC
de
la
compaa
Microchip.
Estos
Controlador y microcontrolador.
Un
microcontrolador
dispone
normalmente
de
los
siguientes
componentes:
Diferencias
entre
microprocesador
microcontrolador.
El microprocesador es un circuito integrado que contiene la Unidad
Central de Proceso (CPU), tambin llamada procesador, de un ordenador.
Ancho de palabra: el criterio de diseo debe ser seleccionar el microcontrolador de menor ancho de palabra que satisfaga los
requerimientos de la aplicacin. Usar un microcontrolador de 4 bits
supondr una reduccin en los costes importante, mientras que uno
de 8 bits puede ser el ms adecuado si el ancho de los datos es de
un byte. Los microcontroladores de 16 y 32 bits, debido a su elevado
coste, deben reservarse para aplicaciones que requieran sus altas
prestaciones (Entrada/Salida potente o espacio de direccionamiento
muy elevado).
Recursos
comunes
todos
los
microcontroladores.
Al estar todos los microcontroladores integrados en un chip, su estructura
fundamental y sus caractersticas bsicas son muy parecidas. Todos deben
disponer de los bloques esenciales Procesador, memoria de datos y de
instrucciones, lneas de E/S, oscilador de reloj y mdulos controladores de
perifricos. Sin embargo, cada fabricante intenta enfatizar los recursos ms
idneos para las aplicaciones a las que se destinan preferentemente.
En este apartado se hace un recorrido de todos los recursos que se
encuentran en todos los microcontroladores describiendo las diversas
alternativas y opciones que pueden encontrarse segn el modelo
seleccionado.
4.1 Arquitectura bsica
Aunque
inicialmente
todos
los
microcontroladores
adoptaron
la
CISC:
Un
gran
microcontroladores
nmero
estn
de
procesadores
basados
en
la
usados
filosofa
en
los
CISC
4.3 Memoria.
En los microcontroladores, la memoria de instrucciones y datos est
integrada en el propio chip. Una parte debe ser no voltil, tipo ROM, y se
destina a contener las instrucciones del programa. Otra parte de la
memoria ser tipo RAM, voltil, y se destina a guardar las variables y los
datos.
La RAM en estos dispositivos es de poca capacidad pues slo debe
contener las variables y los cambios de informacin que se produzcan en
el transcurso del programa.
Los usuarios de ordenadores estn habituados a manejar Megabytes de
memoria, pero los diseadores de aplicaciones con microcontroladores
trabajan con capacidades de ROM comprendidas entre 512 bytes y 8 k
elctricamente
EEPROM
(Electrical
Erasable
principales
recursos
especficos
que
incorporan
los
microcontroladores son:
Temporizadores o Timers.
Perro guardin o Watchdog.
Proteccin ante fallo de alimentacin o Brownout.
Estado de reposo o de bajo consumo.
Conversor A/D.
Conversor D/A.
Comparador analgico.
Modulador de anchura de pulsos o PWM.
Puertos de E/S digitales.
Puertos de comunicacin serie/paralelo.
4.6.1 Temporizadores o Timers.
Se emplean para controlar periodos de tiempo (temporizadores) y para
llevar la cuenta de acontecimientos que suceden en el exterior
(contadores).
Para la medida de tiempos se carga un registro con el valor adecuado y a
continuacin dicho valor se va incrementando o decrementando al ritmo
de los impulsos de reloj o algn mltiplo hasta que se desborde y llegue a
0, momento en el que se produce una interrupcin.
microcontroladores
que
incorporan
un
Conversor
A/D
Puerto paralela esclavo para poder conectarse con los buses de otros
microprocesadores.
Bus I2C, que es un interfaz serie de dos hilos desarrollado por Philips.
Captulo 2
1
Microcontroladores PIC.
PIC de Microchip.
1.1 Introduccin.
Los PIC tienen muchas caractersticas que han hecho que se hagan
extremadamente populares en los ltimos aos: la velocidad, el precio, la
facilidad de uso, la informacin abundante, las herramientas de apoyo...
Para las aplicaciones ms habituales la eleccin de una versin adecuada
de PIC es la mejor solucin; sin embargo, otras familias de
microcontroladores
son
ms
eficaces
en
aplicaciones
especficas,
1.3 Segmentacin.
Se aplica la tcnica de segmentacin (pipe-line) en la ejecucin de las
instrucciones.
La segmentacin permite al procesador realizar al mismo tiempo la
ejecucin de una instruccin y la bsqueda del cdigo de la siguiente. De
esta cada ciclo termina de ejecutarse una instruccin (un ciclo de
instruccin equivale a cuatro ciclos de reloj).
Las instrucciones de salto ocupan dos ciclos al no conocer la direccin de
la siguiente instruccin hasta que no se haya completado la de bifurcacin.
1.4 Formato de las instrucciones.
tiempo
real,
Ensambladores,
Compiladores
C,
Intrpretes
Aunque los PIC enanos slo tienen 8 patas, pueden destinar hasta 6 para
lneas de E/S para perifricos porque disponen de un oscilador interno
RC.
MODELO
MEMORIA
PROGRAMA
MEMORIA
DATOS
FRECUENCIA
MAXIMA
LINEAS
E/S
ADC
8BITS
TIMERS
PIC12C508
512x12
25x8
4 MHz
TMR0 + WDT
PIC12C509
1024x12
41x8
4 MHz
TMR0 + WDT
PIC12C670
512x14
80x8
4 MHz
TMR0 + WDT
PIC12C671
1024x14
128x8
4 MHz
TMR0 + WDT
PIC12C672
2048x14
128x8
4 MHz
TMR0 + WDT
PIC12C680
512X12 FLASH
4 MHz
TMR0 + WDT
PIC12C681
1024x14 FLASH
4 MHz
80x8 16x8
EEPROM
80x8 16x8
EEPROM
TMR0 + WDT
Se trata de una serie de PIC de recursos limitados, pero con una de las
mejores relaciones coste/prestaciones. Hay versiones con encapsulados de
18 y 28 patas y pueden alimentarse a partir de una tensin de 2.5 V, lo que
les hace ideales en las aplicaciones que funcionan con pilas teniendo en
cuenta su bajo consumo (menos de 2 mA a 5 V y 4 MHz). Tienen un
repertorio de 33 instrucciones de 12 bits. No admiten ningn tipo de
interrupcin y la Pila slo dispone de dos niveles.
Al igual que todos los miembros de la familia PIC16/17, los componentes
de la gama baja se caracterizan por poseer los siguientes recursos:
Captulo 3
encontrar
ms
informacin
(en
ingls)
en
el
CD
adjunto:
D:\Capitulo3\16F873\16F873.pdf y D:\Capitulo3\16F84\16F84.pdf
Registros.Organizacin de la memoria de
datos.
La ampliacin de recursos en los PIC forz en los catalogados como de
gama media una nueva estructura y la modificacin de algunas
instrucciones (partiendo, claro est, de la gama baja). Una de las
diferencias fundamentales es, precisamente, la ampliacin de memoria de
registros, a los que se unieron algunos nuevos de sistema, y la
accesibilidad a parte de los mismos que antes quedaban ocultos, como
OPTION o TRIS.
De este modo se opt por dos bancos de registros de 128 posiciones cada
uno, la mayora de los cuales son de propsito general. Estos dos bancos
son compartidos por toda la gama media, si bien en algunos
microcontroladores (como el 16F873) el nmero de bancos es 4.
Registros especficos.
Permite
activar las
Lenguaje ensamblador.
1 Inmediato: El valor del dato est incluido en el propio cdigo OP, junto
a la instruccin.
2 Directo: La direccin del dato est incluido en el propio cdigo OP,
junto a la instruccin.
3 Indirecto: La direccin de la memoria de datos que guarda el operando
est contenida en un registro. Se guarda la direccin deseada en el registro
FSR y se lee y escribe en el registro apuntado por el contenido de FSR a
travs del registro INDF.
Se explicarn a continuacin las instrucciones de la gama media, si bien se
pueden emplear perfectamente instrucciones compuestas (mnemnicos) o
macros, que son instrucciones que se ensamblan como varias instrucciones
( as, BNZ k -Branch on No Zero- se ensambla como
p=16f873
#include <p16f873.inc>
o bien :
list
p=16f84
#include <p16f84.inc>
EQU
H'0005'
MPLAB\TEMPLATE\Code\f873temp.asm
Captulo 4
Programacin
de
microcontroladores.
1
Software necesario.
1.1 El MPLAB.
Antes de comenzar a escribir programas es necesario conocer las
herramientas disponibles para desarrollarlos. De entre ellas el entorno
ms interesante es el MPLAB (incluido en el CD), no por ser el ms
eficiente, ya que de hecho probablemente no lo es, sino por ser el ms
accesible: se puede bajar gratis a travs de internet o pedirse, tambin
gratis, a Sagitrn, su distribuidor en Espaa. Adems es grfico,
funcionando perfectamente bajo Windows.
Este entorno funciona tipo Container, es decir, sus distintas opciones son
asociadas a programas, que sern ejecutados cuando se las pulse. De este
modo bastar con definirle un ensamblador, un emulador o un grabador
distinto a los que lleva por defecto para incorporarlo inmediatamente al
entorno.
El ensamblador que utiliza por defecto el MPLAB es el MPASM con el que
es posible abrir un fichero en ensamblador (*.asm) y ensamblarlo para
poder obtener el fichero de entrada de un grabador (*.hex), pero tambin
es posible el uso de proyectos que utilicen varios *.asm, permitiendo as
reutilizar cdigo con mayor facilidad.
Una vez corregidos todos los errores, el programa ya est listo para ser
grabado en el PIC y probado sobre el terreno, pero resulta ms prctico
(normalmente), y ms fiable, si antes se lleva a cabo una simulacin por
software. MPLAB tiene una herramienta de simulacin software, el
MPLAB-SIM. Esta herramienta, sin embargo, tiene la gran desventaja de
Harware necesario.
R2 Resistencia 1,5K
R3 Resistencia 100 K
R4 Resistencia 1 K
R5 Resistencia 1 K
R6 Resistencia 1 K
Dz1 Diodo zener 8,2 V
Dz2 Diodo zener 5,1 V
DL1 Diodo led 3 mm verde
DL2 Diodo led 3 mm rojo
D1,D2, D3, D4 Diodo 1N4148
C1 Electroltico 22uF/16V
C2 Electroltico 100uF/16V
Q1, Q2 BC237 (usar exactamente este modelo, ya que tiene VCEsat muy baja)
Q3 BC307 (usar exactamente este modelo, ya que tiene VCEsat muy baja)
Conector DB9 Hembra acodado
Zcalo 28 pin o dos de 14 pin
Zcalo 18 pin
Zcalo 8 pin (necesario slo si se quieren programar memorias)
2.3 El ICPROG.
El IcProg es un software para Windows muy verstil y sencillo que
permite programar todo tipo de circuitos integrados que sean
programables con protocolo serie: 12C508, 16C84, 16F84, PIC 16F87x,
24C16, 24C32, 93C46, 90S1200, 59C11, 89C2051, 89S53, 250x0, AVR , 80C51
etc...
Es muy sencillo de usar. Primero hay que configurar el programador:
Settings->Hardware
y configurar como se indica en la siguiente imagen:
hklj