Вы находитесь на странице: 1из 10

Programando microcontroladores PIC con Protn

PROGRAMANDO MICROCONTROLADORES
PIC CON PROTN
PARTE 2: EL MICROCONTROLADOR PIC.
Un microcontrolador es un circuito integrado de alta escala de integracin que
incorpora la mayor parte de los elementos que configuran un controlador.
Un microcontrolador dispone normalmente de los siguientes componentes:
Procesador o UCP (Unidad Central de Proceso).
Memoria RAM para Contener los datos.
Memoria para el programa tipo ROM/PROM/EPROM.
Lneas de E/S para comunicarse con el exterior.
Diversos mdulos para el control de perifricos (temporizadores, Puertas Serie
y Paralelo, CAD: Conversores
Analgico/Digital, CDA: Conversores Digital/Analgico, etc.).
Generador de impulsos de reloj que sincronizan el funcionamiento de todo el
sistema.
Los productos que para su regulacin incorporan un microcontrolador disponen de las
siguientes ventajas:
Aumento de prestaciones: un mayor control sobre un determinado elemento
representa una mejora considerable en el mismo.
Aumento de la fiabilidad: al reemplazar el microcontrolador por un elevado
nmero de elementos disminuye el riesgo de averas y se precisan menos
ajustes.
Reduccin del tamao en el producto acabado: La integracin del
microcontrolador en un chip disminuye el volumen, la mano de obra y los
stocks.
Mayor flexibilidad: las caractersticas de control estn programadas por lo que
su modificacin slo necesita cambios en el programa de instrucciones.
El microcontrolador es en definitiva un circuito integrado que incluye todos los
componentes de un computador.
Debido a su reducido tamao es posible montar el controlador en el propio dispositivo
al que gobierna. En este caso el controlador recibe el nombre de controlador
empotrado (embedded controller).

Diferencia entre microprocesador y microcontrolador.


Estructura de un sistema abierto basado en un microprocesador. La disponibilidad de
los buses en el exterior permite que se configure a la medida de la aplicacin.
Ing. Giovanni Lafebre J. (Cel: 096376496)

M&M

Programando microcontroladores PIC con Protn

El microcontrolador es un sistema cerrado. Todas las partes del computador estn


contenidas en su interior y slo salen al exterior las lneas que gobiernan los
perifricos.

Aplicaciones de los microcontroladores.


Cada vez existen ms productos que incorporan un microcontrolador con el fin de
aumentar sustancialmente sus prestaciones, reducir su tamao y coste, mejorar su
fiabilidad y disminuir el consumo.
Algunos fabricantes de microcontroladores superan el milln de unidades de un
modelo determinado
o producidas en una semana. Este dato puede dar una idea de la
masiva utilizacin de estos componentes.
Los microcontroladores estn siendo empleados en multitud de sistemas presentes en
nuestra vida diaria, como pueden ser juguetes, horno microondas, frigorficos,
frig
televisores, computadoras, impresoras, mdems, el sistema de arranque de nuestro
Ing. Giovanni Lafebre J. (Cel: 096376496))

M&M

Programando microcontroladores PIC con Protn


coche, etc. Y otras aplicaciones con las que seguramente no estaremos tan
familiarizados como instrumentacin electrnica, control de sistemas en una nave
espacial, etc. Una aplicacin tpica podra emplear varios microcontroladores para
controlar pequeas partes del sistema. Estos pequeos controladores podran
comunicarse entre ellos y con un procesador central, probablemente ms potente,
para compartir la informacin
informacin y coordinar sus acciones, como, de hecho, ocurre ya
habitualmente en cualquier PC.

Arquitectura bsica
Aunque inicialmente todos los microcontroladores adoptaron la arquitectura clsica de
Von Neumann, en el momento presente se impone la arquitectura Harvard. La
arquitectura de Von
on Neumann se caracteriza por disponer de una sola memoria
principal donde se almacenan datos e instrucciones de forma indistinta. A dicha
memoria se accede a travs de un sistema de buses
uses nico (direcciones, datos y
control).
La arquitectura Harvard dispone de dos memorias independientes,
independientes una que contiene
slo instrucciones y otra, slo datos. Ambas disponen de sus respectivos sistemas de
buses de acceso y es posible realizar operaciones
operaciones de acceso (lectura o escritura)
simultneamente en ambas memorias

La arquitectura Harvard dispone de dos memorias independientes para datos y para instrucciones,
permitiendo accesos simultneos.

Los microcontroladores PIC responden a la arquitectura Harvard.

Partes Bsicas del Microcontrolador


El procesador o UCP
Es el elemento ms importante del microcontrolador y determina sus principales
caractersticas, tanto a nivel hardware como software.
Se encarga de direccionar la memoria de instrucciones, recibir el cdigo de la
instruccin en curso, su decodificacin y la ejecucin de la operacin que implica la
instruccin, as como la bsqueda de los operandos y el almacenamiento del resultado.
Existen tres orientaciones en cuanto a la arquitectura
arquitectura y funcionalidad de los
procesadores actuales.
Ing. Giovanni Lafebre J. (Cel: 096376496))

M&M

Programando microcontroladores PIC con Protn


CISC: Un gran nmero de procesadores usados en los microcontroladores estn
basados en la filosofa CISC (Computadores de Juego de Instrucciones Complejo).
Disponen de ms de 80 instrucciones mquina en su repertorio, algunas de las cuales
son muy sofisticadas y potentes, requiriendo muchos ciclos para su ejecucin.
Una ventaja de los procesadores CISC es que ofrecen al programador instrucciones
complejas que actan como macros.
RISC: Tanto la industria de los computadores comerciales como la de los
microcontroladores estn decantndose hacia la filosofa RISC (Computadores de
Juego de Instrucciones Reducido). En estos procesadores el repertorio de instrucciones
mquina es muy reducido y las instrucciones son simples y, generalmente, se ejecutan
en un ciclo.
La sencillez y rapidez de las instrucciones permiten optimizar el hardware y el software
del procesador.
SISC: En los microcontroladores destinados a aplicaciones muy concretas, el juego de
instrucciones, adems de ser reducido, es especfico, o sea, las instrucciones se
adaptan a las necesidades de la aplicacin prevista. Esta filosofa se ha bautizado con el
nombre de SISC (Computadores de Juego de Instrucciones Especfico).

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 el
programa de instrucciones que gobierna la aplicacin. Otra parte de memoria ser tipo
RAM, voltil, y se destina a guardar las variables y los datos.
Segn el tipo de memoria ROM que dispongan los microcontroladores, la aplicacin y
utilizacin de los mismos es diferente. Se describen las cinco versiones de memoria no
voltil que se pueden encontrar en los microcontroladores del mercado.
1. ROM con mscara
Es una memoria no voltil de slo lectura cuyo contenido se graba durante la
fabricacin del chip. El elevado coste del diseo de la mscara slo hace aconsejable el
empleo de los microcontroladores con este tipo de memoria cuando se precisan
cantidades superiores a varios miles de unidades.
2. OTP
El microcontrolador contiene una memoria no voltil de slo lectura programable una
sola vez por el usuario. OTP (One Time Programmable). Es el usuario quien puede
escribir el programa en el chip mediante un sencillo grabador controlado por un
programa desde un PC.
La versin OTP es recomendable cuando es muy corto el ciclo de diseo del producto,
o bien, en la construccin de prototipos y series muy pequeas.
Tanto en este tipo de memoria como en la EPROM, se suele usar la encriptacin
mediante fusibles para proteger el cdigo contenido.

Ing. Giovanni Lafebre J. (Cel: 096376496)

M&M

Programando microcontroladores PIC con Protn


3 EPROM
Los microcontroladores que disponen de memoria EPROM (Erasable Programmable
Read OnIy Memory) pueden borrarse y grabarse muchas veces. La grabacin se realiza,
como en el caso de los OTP, con un grabador gobernado desde un PC. Si,
posteriormente, se desea borrar el contenido, disponen de una ventana de cristal en
su superficie por la que se somete a la EPROM a rayos ultravioleta durante varios
minutos. Las cpsulas son de material cermico y son ms caros que los
microcontroladores con memoria OTP que estn hechos con material plstico.
4 EEPROM
Se trata de memorias de slo lectura, programables y borrables elctricamente
EEPROM (Electrical Erasable Programmable Read OnIy Memory). Tanto la
programacin como el borrado, se realizan elctricamente desde el propio grabador y
bajo el control programado de un PC. Es muy cmoda y rpida la operacin de grabado
y la de borrado. No disponen de ventana de cristal en la superficie.
Los microcontroladores dotados de memoria EEPROM una vez instalados en el circuito,
pueden grabarse y borrarse cuantas veces se quiera sin ser retirados de dicho circuito.
Para ello se usan grabadores en circuito que confieren una gran flexibilidad y rapidez
a la hora de realizar modificaciones en el programa de trabajo.
El nmero de veces que puede grabarse y borrarse una memoria EEPROM es finito, por
lo que no es recomendable una reprogramacin continua. Son muy idneos para la
enseanza y la Ingeniera de diseo.
Se va extendiendo en los fabricantes la tendencia de incluir una pequea zona de
memoria EEPROM en los circuitos programables para guardar y modificar
cmodamente una serie de parmetros que adecuan el dispositivo a las condiciones
del entorno.
Este tipo de memoria es relativamente lenta.
5 FLASH
Se trata de una memoria no voltil, de bajo consumo, que se puede escribir y borrar.
Funciona como una ROM y una RAM pero consume menos y es ms pequea.
A diferencia de la ROM, la memoria FLASH es programable en el circuito. Es ms rpida
y de mayor densidad que a EEPROM.
La alternativa FLASH est recomendada frente a la EEPROM cuando se precisa gran
cantidad de memoria de programa no voltil. Es ms veloz y tolera ms ciclos de
escritura/borrado.
Las memorias EEPROM y FLASH son muy tiles al permitir que los microcontroladores
que las incorporan puedan ser reprogramados en circuito, es decir, sin tener que
sacar el circuito integrado de la tarjeta. As, un dispositivo con este tipo de memoria
incorporado al control del motor de un automvil permite que pueda modificarse el
programa durante la rutina de mantenimiento peridico, compensando los desgastes y
otros factores tales como la compresin, la instalacin de nuevas piezas, etc. La
reprogramacin del microcontrolador puede convertirse en una labor rutinaria dentro
de la puesta a punto.

Ing. Giovanni Lafebre J. (Cel: 096376496)

M&M

Programando microcontroladores PIC con Protn


El Oscilador Externo
Todo microcontrolador necesita de un circuito externo que le indique la velocidad a la
que debe trabajar. Este circuito se conoce como oscilador o reloj, es muy simple pero
de vital importancia para el buen funcionamiento del sistema.
Pueden usarse cuatro tipos de cristales dependiendo del microcontrolador:

RC: Oscilador con resistencia y condensador.


XT: Cristal de Cuarzo.
HS: Cristal de Alta velocidad.
LP: Cristal de baja frecuencia y bajo consumo de potencia.

La frecuencia de trabajo para el microcontrolador, debe ser especificada al momento


de programarlo, ya que si no se
se tiene cuidado con esto, y se conecta un oscilador de
frecuencia diferente a la especificada, el microcontrolador no funcionar
adecuadamente o simplemente no har nada.
El dispositivo ms utilizado es el Cristal de Cuarzo, ya sea de alta o baja velocidad, el
cristal debe ir acompaado por dos condensadores como se muestra a continuacin:

Reset
En los microcontroladores se requiere un pin de Reset para reiniciar el funcionamiento
del sistema cuando sea necesario, ya sea por una falla que se presente o porque el
sistema requiere ser construido as. El pin de Reset en los PIC es llamado MCLR
(Master Clear).
El Reset por MCLR se consigue llevando momentneamente este pin a un estado lgico
bajo, cuando se quiere tener control sobre el Reset del sistema se puede conectar un
botn, como se muestra a continuacin:

Ing. Giovanni Lafebre J. (Cel: 096376496))

M&M

Programando microcontroladores PIC con Protn

Puertas de Entrada y Salida


La principal utilidad de los
l
pines que posee la cpsula que contiene un
microcontrolador es soportar las lneas de E/S que comunican al computador interno
con los perifricos exteriores.
Segn los controladores de perifricos que posea cada modelo de microcontrolador,
microc
las lneas de E/S se destinan a proporcionar el soporte a las seales de entrada, salida y
control.
Vamos a empezar con el microcontrolador PIC ms conocido, el 16F84A, ste es un
microcontrolador que tiene dos puertos.

Un total de 18 pines, 2 pines de alimentacin, un pin de Reset, dos pines para el


oscilador, y 13
3 pines de E/S.

Ing. Giovanni Lafebre J. (Cel: 096376496))

M&M

Programando microcontroladores PIC con Protn

Puertos del Microcontrolador


Dependiendo del dispositivo seleccionado, se puede tener diferentes puertos, el PIC
16F84A tiene 2 puertos, Puerto A y Puerto B.
Puerto A.Es un puerto bidireccional de 5 bits, como se mencion anteriormente, se puede
acudir al explorador de cdigo de Protn IDE con el fin de ver como est estructurado,
en el siguiente cuadro, se muestran los bits, pines y nombres del puerto A.
Nombre
RA0
RA1
RA2
RA3
RA4/T0CKI

Bit
Bit0 LSB
Bit1
Bit2
Bit3
Bit4 MSB

Buffer
TTL
TTL
TTL
TTL
ST

Funcin
Entrada/Salida
Entrada/Salida
Entrada/Salida
Entrada/Salida
Entrada/Salida o entrada de reloj externo para TMR0. Es
colector abierto cuando se usa como salida

ST= Estrada Schmitt Trigger.


Puerto B.Es un puerto bidireccional de 8 bits, de la misma forma que con el puerto A, se puede
hacer click en el puerto B en el explorador de cdigo para ver su estructura, a
continuacin se muestra detalladamente los pines y bits de este puerto.
Nombre
RB0/INT

Bit
Bit0 LSB

Buffer
TTL/ST (1)

RB1

Bit1

TTL

RB2

Bit2

TTL

RB3

Bit3

TTL

RB4

Bit4

TTL

RB5

Bit5

TTL

RB6

Bit6

TTL/ST(2)

RB7

Bit7 MSB

TTL/ST(2)

Ing. Giovanni Lafebre J. (Cel: 096376496)

Funcin
Entrada/Salida o Interrupcin Externa. Resistencia de
Pull-up programable por software
Entrada/Salida. Resistencia de Pull-up programable por
software
Entrada/Salida. Resistencia de Pull-up programable por
software
Entrada/Salida. Resistencia de Pull-up programable por
software
Entrada/Salida (con interrupcin en cambio).
Resistencia de Pull-up programable por software
Entrada/Salida (con interrupcin en cambio).
Resistencia de Pull-up programable por software
Entrada/Salida (con interrupcin en cambio).
Resistencia de Pull-up programable por software. Reloj
para programacin serial.
Entrada/Salida (con interrupcin en cambio).
Resistencia de Pull-up programable por software. Datos
para programacin serial.

M&M

Programando microcontroladores PIC con Protn


REGISTROS TRIS Y PORT
Para empezar, lo ms bsico, es conocer sobre los registros TRIS y PORT, estos
registros poseen la mayora de los PIC, generalmente a partir de la serie 16F, los PIC de
la serie 10F y 12F, no poseen estos registros.
Existe ms de un registro TRIS y PORT en un microcontrolador, siempre se acompaa
con la letra correspondiente al puerto que se va a configurar.
El registro TRIS es un registro de direccin de datos, en tanto que el registro PORT lee
los estados en los pines del puerto especfico.
El registro PORT, tendr un determinado nmero de bits, dependiendo del puerto,
como se mostr en las tablas anteriores.
Para configurar un puerto determinado, se debe utilizar el registro TRIS, seguido del
puerto que se quiere configurar, por ejemplo configurando TRISB bit (=1) configurar
el pin correspondiente del registro PORTB como entrada, si se configura el TRISB bit
(=0) establecer al pin correspondiente del registro PORTB como salida.
Ejemplo:
TRISB.0=1 esto produce que el pin del PORTB.0 (Pin 33) se configure como entrada.
Tambin se puede configurar todo el puerto, hacindolo de la siguiente manera:
TRISB= %11110000 (MSB11110000LSB)
El smbolo % indica que se est trabajando con un nmero binario, cada uno de los
nmeros, corresponde a un bit del PORTB, el MSB es el de la derecha y el LSB el de la
izquierda, as los pines del PORTB quedarn configurados de la siguiente forma:
BIT
PORTB.0
PORTB.1
PORTB.2
PORTB.3
PORTB.4
PORTB.5
PORTB.6
PORTB.7

ESTADO
Salida
Salida
Salida
Salida
Entrada
Entrada
Entrada
Entrada

PIN
33 LSB
34
35
36
37
38
39
40 MSB

Se puede configurar el con las entradas o salidas necesarias, puede ser todo el puerto
como salida, todo el puerto como entrada o individualmente entradas y salidas.

Ing. Giovanni Lafebre J. (Cel: 096376496)

M&M

Programando microcontroladores PIC con Protn


En el siguiente ejemplo se muestra como configurar todo el puerto como salida y
asignar un valor a sus bits:
TRISB=0 (0 en decimal corresponde a %00000000 por lo tanto todos los bits del puesto son salidas)
PORTB=15
Cuando el puerto ha sido configurado se le puede asignar un valor determinado, ya sea
en decimal, binario (%) o hexadecimal ($), ese valor que se le asigne se lo podr
observar en cada uno de los pines, as por lo tanto si se asigna el:
DEC: 15 BIN: %00001111 HEX: $0F
Los estados de los pines quedarn de la siguiente forma:

BIT
ESTADO PIN
PORTB.0 ALTO 33 LSB
PORTB.1 ALTO 34
PORTB.2 ALTO 35
PORTB.3 ALTO 36
PORTB.4 BAJO 37
PORTB.5 BAJO 38
PORTB.6 BAJO 39
PORTB.7 BAJO 40 MSB

Ing. Giovanni Lafebre J. (Cel: 096376496)

M&M

Вам также может понравиться