Está en la página 1de 32

Sistemas con microprocesadores Parte II

Ing. Gerardo Collaguazo 50


CAPITULO 2
SISTEMAS CON MICRONTROLADORES
"La imaginacin es ms importante que el conocimiento" A. Einstein
Los tiempos que corren suelen hacerlo deprisa; cuando uno mira hacia atrs nota que lo que hasta ayer era
imprescindible, ha quedado demasiado lejos. Es por esta razn que solemos decir: hay que tener memoria ya
sea para recordar los gratos momentos o como para no olvidarse de aquellos errores que nos han costado ms
de una lgrima y bastantes dolores de cabeza.
Desde hace ms de dos dcadas, las tcnicas de integracin a gran escala han permitido colocar en una sola
pastilla bloques funcionales entrelazados, que contienen toda la electrnica necesaria para realizar
funciones aritmticas, lgicas y de control. Se hace difcil imaginar sistemas automticos, de control y
proceso, en los cuales no intervenga un microprocesador o microcontrolador, pero sabemos qu es un
microcontrolador? En este captulo haremos una descripcin detallada de estos sper chips, basados en
controladores comerciales (de la empresa MICROCHIP), para tengan una idea de los alcances de las
aplicaciones tanto a nivel comercial, industrial y de comunicaciones.
PRE-REQUISITOS
Para la comprensin adecuada del contenido de Microcontroladores, se requiere los conocimientos previos
de:
Electrnica bsica: diodos semiconductores, transistores, elementos de visualizacin (LEDs,
Displays, etc.).
Electrnica Digital: Sistemas de numeracin, Compuertas lgicas, Registros.
Sistemas Anlogo-Digitales: Amplificadores operacionales, memorias.
OBJETIVOS
Establecer los fundamentos necesarios para la comprensin adecuada del funcionamiento y estructura
internos de los microcontroladores para su correcta programacin en diversas aplicaciones, sean estas
industriales o de comunicaciones.
Al finalizar el estudio de este captulo, el estudiante estar en capacidad de:
Realizar un anlisis comparativo entre los controladores tradiciones y los sistemas basados en
microprocesadores y microcontroladores.
Describir correctamente su estructura fsica y funcional de un microcontrolador.
Interpretar de manera eficiente las hojas de datos de los diferentes microcontroladores.
Establecer diferencias las caractersticas entre las diferentes marcas y familias de
microcontroladores.
Describir, con criterio fundamentado, la funcin las diferentes partes que constituyen los
sistemas basados en microcontroladores.
Realizar la correcta conexin bsica del microcontrolador entre el protoboard y la fuente de
alimentacin.
Sistemas con microprocesadores Parte II
Ing. Gerardo Collaguazo 51
2.1 INTRODUCCIN
Desde la invencin del circuito integrado, el desarrollo
constante de la electrnica digital ha dado lugar a dispositivos
cada vez ms complejos. Entre ellos los microprocesadores y
los microcontroladores, los cuales son bsicos en las carreras
tcnicas de Electrnica y Electricidad.
El desarrollo de cada nuevo dispositivo electrnico trae consigo
tcnicas de diseo diferentes, por lo general, ms simples. En
los aos sesenta, para construir un reloj digital se necesitaba
acoplar un buen nmero de circuitos lgicos como contadores,
divisores, decodificadores y redes combinatorias. Al mismo
tiempo el diseador deba poseer muy buenos conocimientos
sobre cada uno de los elementos.
Los microcontroladores estn conquistando el mundo. Estn presentes en nuestro trabajo, en nuestra casa y en
nuestra vida, en general. Hoy en da es comn encontrar microcontroladores en diferentes aparatos sean estos de
uso domstico, informtico, automotriz, industrial, etc... Las aplicaciones son infinitas, el nico lmite es la
imaginacin!
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 reducir su consumo.
Los microcontroladores estn siendo empleados en multitud de sistemas presentes en nuestra vida diaria, como
pueden ser juguetes, microondas, frigorficos, televisores, computadoras, impresoras, mdems, el sistema de
arranque de nuestro coche, etc. Y otras aplicaciones con las que seguramente no estamos 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 y
coordinar sus acciones, como, de hecho, ocurre ya habitualmente en cualquier PC.
Aunque en el mercado de la microinformtica la mayor
atencin la acaparan los desarrollos de los
microprocesadores, lo cierto es que se venden cientos de
microcontroladores por cada uno de aquellos. Existe una
gran diversidad de microcontroladores. Quiz la
clasificacin ms importante sea entre microcontroladores
de 4, 8, 16 32 bits. Aunque las prestaciones de los
microcontroladores de 16 y 32 bits son superiores a los de 4
y 8 bits, la realidad es que los microcontroladores de 8 bits
dominan el mercado y los de 4 bits se resisten a desaparecer.
La razn de esta tendencia es que los microcontroladores de
4 y 8 bits son apropiados para la gran mayora de las
aplicaciones, lo que hace absurdo emplear
microcontroladores ms potentes y consecuentemente ms
caros. Uno de los sectores que ms tira del mercado del
microcontrolador es el mercado automovilstico. De hecho,
algunas de las familias de microcontroladores actuales se
desarrollaron pensando en este sector, siendo modificadas
posteriormente para adaptarse a sistemas ms genricos. El mercado del automvil es adems uno de los ms
exigentes: los componentes electrnicos deben operar bajo condiciones extremas de vibraciones, choques, ruido,
etc. y seguir siendo fiables. El fallo de cualquier componente en un automvil puede ser el origen de un accidente.
Fig. 2.1 Texto en una LCD con mC.
Fig. 2.2 Aplicacin de un mC en Automotriz
Sistemas con microprocesadores Parte II
Ing. Gerardo Collaguazo 52
En cuanto a las tcnicas de fabricacin, cabe decir que prcticamente la totalidad de los microcontroladores
actuales se fabrican con tecnologa CMOS 4 (Complementary Metal Oxide Semiconductor). Esta tecnologa supera
a las tcnicas anteriores por su bajo consumo y alta inmunidad al ruido.
La distribucin de las ventas segn su aplicacin es la siguiente:
Un 15% se absorbe en las aplicaciones relacionadas con
los computadores y sus perifricos.
Un 27% se utiliza en las aplicaciones de consumo
(electrodomsticos, juegos, TV, vdeo, etc.)
El 30% de las ventas mundiales se destin al rea de las
comunicaciones.
Otro 10% fue empleado en aplicaciones industriales.
El resto de los microcontroladores vendidos en el
mundo, aproximadamente un 18% fueron adquiridos
por las industrias de automocin.
Tambin los modernos microcontroladores de 32 bits van afianzando sus posiciones en el mercado, siendo las reas
de ms inters el procesamiento de imgenes, las comunicaciones, las aplicaciones militares, los procesos
industriales y el control de los dispositivos de almacenamiento masivo de datos.
2.1.1 SISTEMAS CON MICROCONTROLADORES
La posibilidad que tiene el
microcontrolador de manejar
seales de entrada y de salida, as
como su capacidad de procesar
datos y tomar decisiones en base
a un programa, lo convierten en
uno de los elementos electrnicos
ms verstiles que existen. El
siguiente esquema muestra un
sistema microcontrolado.
Cuando se habla de dispositivos de entrada se
hace referencia a todos los elementos que
pueden cambiar de estado ante alguna
determinada condicin y generan una seal que
puede ser utilizada por el microcontrolador para
tomar alguna decisin, por ejemplo un teclado,
un interruptor, un sensor, etc. Los dispositivos
de salida pueden ser indicadores visuales (leds,
ASS, etc.), indicadores sonoros (zumbadores,
sirenas), interruptores de potencia que manejan
motores, contactores, rels, electrovlvulas, etc.
Pero, con todo lo que hemos expuesto hasta el momento, sabemos... Qu es un controlador? Qu es un
microcontrolador?
Un CONTROLADOR es un dispositivo que se utiliza para el gobierno de uno o varios procesos. Por ejemplo, el
controlador que regula el funcionamiento de un horno dispone de un sensor que mide constantemente su
temperatura interna y, cuando traspasa los lmites prefijados, genera las seales adecuadas que accionan los
actuadores que intentan llevar el valor de la temperatura dentro del rango estipulado.
Aunque el concepto de controlador ha permanecido invariable a travs del tiempo, su implementacin fsica ha
variado frecuentemente. Hace tres dcadas, los controladores se construan exclusivamente con componentes de
lgica discreta, posteriormente se emplearon los microprocesadores, que se rodeaban con chips de memoria y
Fig. 2.3 Mercado de los microcontroladores
Fig. 2.4 Sistemas con microcontroladores
Fig. 2.5 Sistema con microcontrolador y los
dispositivos E/S
Sistemas con microprocesadores Parte II
Ing. Gerardo Collaguazo 53
puertos de E/S sobre una tarjeta de circuito impreso. En la actualidad, todos los elementos del controlador se han
podido incluir en un chip, el cual recibe el nombre de microcontrolador. Realmente consiste en un sencillo pero
completo computador contenido en el corazn (chip) de un circuito integrado.
El microcontrolador es un circuito programable que contiene todos los componentes de un computador. Se
emplea para controlar el funcionamiento de una tarea determinada y, debido a su reducido tamao, suele ir
incorporado en el propio dispositivo que lo gobierna, por lo tanto, el microcontrolador es un computador dedicado.
En su memoria solo reside un programa destinado a gobernar una aplicacin determinada; sus lneas de
entrada/salida soportan el conexionado de los sensores y actuadores del dispositivo a controlar y todos los recursos
complementarios disponibles tienen como nica finalidad atender sus requerimientos. Una vez programado y
configurado, el microcontrolador solo sirve para gobernar la tarea asignada [1].
2.1.2 MICROPROCESADOR vs MICROCONTROLADOR
Recordemos del captulo anterior, que el microprocesador constituye la CPU de un sistema basado en
microprocesador y est formado por la unidad de control, que interpreta las instrucciones, y el camino de datos que
las ejecuta. Los pines del microprocesador sacan al exterior las lneas de sus buses de direcciones, datos y control,
para permitir conectarle con la memoria y los mdulos de E/S y configurar el sistema implementado por varios
circuitos integrados. Se dice que un microprocesador es un sistema abierto porque su configuracin es variable de
acuerdo con la aplicacin a la que se destine.
Salida
Entrada
B. Datos
B. Dir.
B. Control
Fig. 2.6 Sistema con microprocesador
Si consideramos la estructura del sistema de la figura
anterior, podemos ver que existe una estructura constante del
sistema con microprocesador en un circuito de control, por
esta razn, los fabricantes de los circuitos integrados
decidieron realizar un solo chip que contenga todos estos
elementos, llamndolo a este chip microcontrolador, por lo
tanto diremos que es un sistema cerrado.
En la siguiente figura, podemos observar de manera general
los componentes internos de un microcontrolador.
Para el diseo de un sistema con microcontrolador, se requieren nicamente una fuente de alimentacin, un circuito
de reloj y el chip microcontrolador. Adems se requiere grabar el programa en la memoria ROM, los puertos ya
estn listos para conectarse al mundo exterior.
A base a todo lo expuesto, podemos mencionar algunas ventajas del diseo de sistemas con microcontroladores:
RD
WR
CK
CPU
D0-7
A0-19
INT
MREQ
Clock
RD WR
ROM 2K
D0-7 CS
RD WR
RAM 2K
D0-7 CS
RD WR
E/S 8255
D0-7 CS
DECODI
FICADOR
Fig. 2.7 Sistema con microcontrolador
Sistemas con microprocesadores Parte II
Ing. Gerardo Collaguazo 54
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 circuito impreso es mucho ms pequeo ya que todos los componentes estn en un solo chip.
El costo total del sistema es mucho menor, al reducir el nmero de elementos.
Los problemas de ruido que pueden afectar los sistemas con microprocesador se eliminan, debido a que
todo el sistema principal se encuentra en un solo encapsulado.
El tiempo de desarrollo de un sistema se reduce considerablemente.
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).
2.1.3 FAMILIAS DE MICROCONTROLADORES
En el mercado existen varias marcas reconocidas de microcontroladores, teniendo cada una de estas sus
caractersticas especiales, pero su estructura bsica es la misma en todas estas familias, por eso es que si nos
dedicamos al estudio de una estas familias, el comprender las dems ser ms fcil. Entre las ms conocidas
tenemos: Motorola, Intel, Phillips, National y Microchip. A continuacin mencionaremos las caractersticas
generales de algunas de estas marcas.
Familia Intel
A continuacin se presenta un resumen de las principales caractersticas de esta familia de microcontroladores,
pues sta fue la pionera e hizo historia en la dcada de los 80s.
Esta familia de microcontroladores de 8 bits contiene varias referencias, cada una de ellas acondicionada para
aplicaciones especficas. Todas las versiones existentes tienen: CPU, memoria RAM, temporizadores, puertos
paralelos, entradas/salidas seriales.
El 8048 es el padre los microcontroladores actuales, el primero de todos. Su precio disponibilidad y herramientas
de desarrollo hacen que todava sea muy popular.
El 8051 tiene 4 Kbytes de memoria ROM que debe programarse durante el proceso de fabricacin del circuito
integrado. En el 8751, la memoria ROM se ha reemplazado por una memoria EPROM que el usuario puede
programar y borrar con luz ultravioleta.
Referencia Memoria ROM Memoria RAM Timers
8051 4K 128 2
8052 8K 256 3
8031 Externa 128 2
8032 Externa 256 3
8751 4K (Eprom) 128 2
El 8031 es un caso especial, no tiene memoria ROM interna, por lo que se debe colocar una externa; para la
comunicacin se emplean tres de los cuatro puertos paralelos.
Familia Motorola 68HC05
Es una de las familias ms empleadas en el mundo. Ha sido diseada para aplicaciones de control especializado, en
lugar de procesamiento de datos, y forma parte de los dispositivos de produccin masiva como juguetes, equipos de
Sistemas con microprocesadores Parte II
Ing. Gerardo Collaguazo 55
video, impresoras, modems, electrnica automotriz y electrodomsticos. Cada ao aparecen nuevos modelos que
reemplazan a los anteriores. Todos tiene una estructura bsica: CPU de 8bits, RAM y ROM, puertos de entrada-
salida y temporizadores, algunos tienen adems, puertos seriales, convertidores anlogo-digital y memorias
EEPROM o EPROM.
Referencia Memoria ROM Memoria RAM Timers Otros
68HC05C4 4K 176 1
68HC0508 8K 176 1
68HC705C2 2K 176 1
68HC705C4 4K(Eprom) 176 1
68HC705K1 504 32 y 64 1
69HC05BM 2K 176 1 mejorado C A/D
Familia Microchip
Esta formada por una amplia variedad de componentes con diferentes tamaos de memoria, diferentes velocidades,
diferentes tipos de encapsulados y diferente nmero de pines de entrada/salida. Esta familia est muy difundida
actualmente a nivel mundial; la mayora de revistas y pginas de internet la usan en sus proyectos y se dedican a
publicar artculos peridicamente. Su flexibilidad, configuraciones para todas las necesidades y bajo costo, la hacen
muy atractiva para los consumidores a gran escala y para los estudiantes o diseadores independientes.
El objeto de este curso, es el estudio de los microcontroladores PIC de la firma Microchip Technology Inc.
Considerando el momento actual, comparando los parmetros fundamentales con los modelos comerciales de otros
fabricantes y las aplicaciones ms habituales a las que se destinan los microcontroladores, podemos afirmar que
casi un 90% de los casos la eleccin de una versin adecuada de PIC es la mejor solucin. Sin embargo, otras
familias de microcontroladores son ms eficaces en aplicaciones concretas, especialmente si predomina una
caracterstica especial.
El curso lo dedicaremos al estudio del funcionamiento del PIC 16F628A, que pertenece a la gama media y tiene 18
pines. La idea que se persigue es aprender a manejar bien esto modelo, pues hacerlo con los dems es muy fcil,
solo necesitamos el inters por progresar y agrandar nuestros conocimientos. Sin embargo, en la parte final, para
algunas prcticas, se explicar en funcionamiento de los PIC12F675, PIC16F819 y PIC16F877A.
Se han elegido, para las prcticas de laboratorio, estos microcontroladores porque tienen una memoria de programa
tipo Flash que en un laboratorio posibilita un rpido desarrollo de prcticas. Tambin por su alta velocidad, bajo
consumo y bajo costo.
A continuacin se muestra una relacin de algunos fabricantes y modelos de microcontroladores incluyendo su
direccin en Internet, si es CISC o RISC, el nmero de bits del bus de datos y el ncleo del que deriva (8051,
ARM, etc.) as como si est disponible un IDE gratuito:
FABRICANTE FAMILIA ARQUITECTURA IDE
Analog Device http://www.analog.com/
ADUC8xx CISC 8 bits 8051 -
ADUC7xx RISC 32 bits ARM7 -
Atmel http://www.atmel.com/
AT89xxx CISC 8 bits 8051 prog. independientes
TS87xxx CISC 8 bits prog. independientes
AVR RISC 8 bits AVR studio
AT91xxx RISC 16 bits ARM7/9 -
Cirrus Logic http://www.cirrus.com/
EP73xxx RISC 32 bits ARM7 -
EP93xxx RISC 32 bits ARM9 -
Cygnal http://www.silabs.com/ C8051F CISC 8 bits 8051 -
Sistemas con microprocesadores Parte II
Ing. Gerardo Collaguazo 56
Freescale (Motorola) http://www.freescale.com/
HC05 CISC 8 bits 6800 -
HC08 CISC 8 bits 6809 Code Warrior
HC11 CISC 8 bits 6809 -
HC12 CISC 16 bits -
HCS12 CISC 16 bits Code Warrior
HC16 CISC 16 bits -
56800 CISC 16 bits -
68K CISC 32 bits 68000 -
ColdFire CISC 32 bits -
MAC7100 RISC 32 bits ARM7 -
Fujitsu http://www.fujitsu.com/
F2MC-8 CISC 8 bits -
F2MC-16 CISC 16 bits -
FR RISC 32 bits -
Infineon http://www.infineon.com/
C5xxx CISC 8 bits 8051 -
C8xxx CISC 8 bits 8051 -
C16xxx CISC 16 bits -
XC16xxx CISC 16 bits -
TCxxx CISC 32 bits -
Intel http://www.intel.com/
MCS251 CISC 8 bits 8051 -
MCS96/296 CISC 16 bits -
Maxim (Dallas) http://www.maxim-ic.com/
DS80Cxxx CISC 8 bits 8051 -
DS83Cxxx CISC 8 bits 8051 -
DS89Cxxx CISC 8 bits 8051 -
MAXQ RISC 16 bits -
Microchip http://www.microchip.com/
PIC
10,12,14,16,17,18
RISC 8 bits MPLAB
dsPIC RISC 16 bits MPLAB
NS (NATIONAL SEMICONDUCTOR)
http://www.national.com/
COP8xxx CISC 8 bits Webench
CR16Cxxx CISC 16 bits -
CP3000 RISC 16 bits -
Philips http://www.semiconductors.philips.com/
P8xxx CISC 8 bits 8051 -
Xaxxx CISC 16 bits -
LPC2xxx RISC 32 bits ARM7 -
Rabbit Semiconductor
http://www.rabbitsemiconductor.com/
Rabbit2000 CISC 8 bits -
Rabbit3000 CISC 8 bits -
Renesas http://www.renesas.com/
740 CISC 8 bits -
H8 CISC 16 bits HEW
Sistemas con microprocesadores Parte II
Ing. Gerardo Collaguazo 57
H8S CISC 16 bits HEW
M16C CISC 16 bits -
7700 CISC 16 bits -
H8SX CISC 32 bits -
Super H CISC 32 bits HEW
ST (SGS-THOMSON) http://www.stm.com/
ST5 CISC 8 bits Visual FIVE
ST6 CISC 8 bits -
ST7 CISC 8 bits STVD 7
ST9 CISC 8 bits STVD 9
ST9 CISC 16 bits STVD 9
ST10 CISC 16 bits -
ARM7 RISC 32 bits ARM7 -
Texas Instruments http://www.ti.com/
MSC12xxx CISC 8 bits 8051 -
MSP430 CISC 16 bits Eclipse
TMS470 RISC 32 bits ARM7 -
Toshiba chips.toshiba.com
870 CISC 8 bits -
900/900H CISC 16 bits -
900/900H (VER
ESTO)
CISC 32 bits -
Ubicom (Scenix) http://www.ubicom.com/ SXxx RISC 8 bits -
Zilog http://www.zilog.com/
Z8xxx CISC 8 bits Z80 -
Z8Encore! CISC 8 bits Z80 -
eZ80Aclaim CISC 8 bits Z80 -
De todos los de la tabla, en una prxima ocasin se presentar un estudio detallado del microcontrolador ATMEL-
AVR especficamente los de las serie ATMEGAXXX.
2.1.4 QU MICROCONTROLADOR EMPLEAR?
A la hora de escoger el microcontrolador a emplear en un diseo concreto hay que tener en cuenta multitud de
factores, como la documentacin y herramientas de desarrollo disponibles y su precio, la cantidad de fabricantes
que lo producen y por supuesto las caractersticas del microcontrolador (tipo de memoria de programa, nmero de
temporizadores, interrupciones, etc.).
Estas son algunas caractersticas tcnicas que debemos tomar en cuenta en el momento de elegir un
microcontrolador:
Costes. Como es lgico, los fabricantes de microcontroladores compiten duramente para vender sus productos. Y
no les va demasiado mal ya que sin hacer demasiado ruido venden 10 veces ms microcontroladores que
microprocesadores. Para que nos hagamos una idea, para el fabricante que usa el microcontrolador en su producto
una diferencia de precio en el microcontrolador de algunos centavos es importante (el consumidor deber pagar
adems el coste del empaquetado, el de los otros componentes, el diseo del hardware y el desarrollo del software).
Si el fabricante desea reducir costes debe tener en cuenta las herramientas de apoyo con que va a contar:
emuladores, simuladores, ensambladores, compiladores, etc. Es habitual que muchos de ellos siempre se decanten
por microcontroladores pertenecientes a una nica familia.
Sistemas con microprocesadores Parte II
Ing. Gerardo Collaguazo 58
Aplicacin. Antes de seleccionar un microcontrolador es imprescindible analizar los requisitos de la aplicacin:
Procesamiento de datos: puede ser necesario que el microcontrolador realice clculos crticos en un tiempo
limitado. En ese caso debemos asegurarnos de seleccionar un dispositivo suficientemente rpido para ello.
Por otro lado, habr que tener en cuenta la precisin de los datos a manejar: si no es suficiente con un
microcontrolador de 8 bits, puede ser necesario acudir a microcontroladores de 16 32 bits, o incluso a
hardware de coma flotante. Una alternativa ms barata y quiz suficiente es usar libreras para manejar los
datos de alta precisin.
Entrada Salida: para determinar las necesidades de Entrada/Salida del sistema es conveniente dibujar un
diagrama de bloques del mismo, de tal forma que sea sencillo identificar la cantidad y tipo de seales a
controlar. Una vez realizado este anlisis puede ser necesario aadir perifricos hardware externos o
cambiar a otro microcontrolador ms adecuado a ese sistema.
Consumo: algunos productos que incorporan microcontroladores estn alimentados con bateras y su
funcionamiento puede ser tan vital como activar una alarma antirrobo. Lo ms conveniente en un caso
como ste puede ser que el microcontrolador est en estado de bajo consumo pero que despierte ante la
activacin de una seal (una interrupcin) y ejecute el programa adecuado para procesarla.
Memoria: para detectar las necesidades de memoria de nuestra aplicacin debemos separarla en memoria
voltil (RAM), memoria no voltil (ROM, EPROM, etc.) y memoria no voltil modificable (EEPROM).
Este ltimo tipo de memoria puede ser til para incluir informacin especfica de la aplicacin como un
nmero de serie o parmetros de calibracin. El tipo de memoria a emplear vendr determinado por el
volumen de ventas previsto del producto: de menor a mayor volumen ser conveniente emplear EPROM,
OTP y ROM. En cuanto a la cantidad de memoria necesaria puede ser imprescindible realizar una versin
preliminar, aunque sea en pseudo-cdigo, de la aplicacin y a partir de ella hacer una estimacin de cunta
memoria voltil y no voltil es necesaria y si es conveniente disponer de memoria no voltil modificable.
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).
Diseo de la placa: la seleccin de un microcontrolador concreto condicionar el diseo de la placa de
circuitos. Debe tenerse en cuenta que quiz usar un microcontrolador barato encarezca el resto de
componentes del diseo.
2.1.5 RECURSOS COMUNES DE LOS MICROCONTROLADORES
Un microcontrolador al estar integrado en un chip, su estructura fundamental y sus caractersticas bsicas son muy
parecidas, sin embargo cada fabricante intenta enfatizar los recursos ms idneos para las aplicaciones a las que se
destinan preferentemente. Estos disponen de los siguientes elementos bsicos:
PROCESADOR O CPU
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 OP 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.
Los microcontroladores adoptaron la arquitectura clsica de von Neumann, pero en el momento presente se
impone la arquitectura Harvard, con procesador Segmentado, con repertorio de instrucciones tipo RISC, con
procesamiento de datos Ortogonal (ver captulo 1).
Sistemas con microprocesadores Parte II
Ing. Gerardo Collaguazo 59
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.
Hay dos peculiaridades que diferencian a los microcontroladores de los computadores personales:
No existen sistemas de almacenamiento masivo como disco duro o disquetes.
Como el microcontrolador slo se destina a una tarea en la memoria ROM, slo hay que almacenar
un nico programa de trabajo.
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. Por otra parte, como slo existe un programa activo,
no se requiere guardar una copia del mismo en la RAM pues se ejecuta directamente desde la ROM.
Los usuarios de computadores personales estn habituados a manejar Megabytes de memoria pero, los diseadores
con microcontroladores trabajan con capacidades de ROM comprendidas entre 512 bytes y 64 kbytes de tipo
EEPROM o Flash y de RAM comprendidas entre 20 y 512 bytes.
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.
LNEAS DE ENTRADA/SALIDA
Tambin llamados puertos, empleados para la comunicacin con elementos externos. La principal utilidad de las
patitas 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, las lneas de E/S se destinan a
proporcionar el soporte a las seales de entrada, salida y control.
RELOJ PRINCIPAL
Todos los microcontroladores disponen de un circuito oscilador que genera una onda cuadrada de alta frecuencia,
que configura los impulsos de reloj usados en la sincronizacin de todas las operaciones del sistema.
Generalmente, el circuito de reloj est incorporado en el microcontrolador y slo se necesitan unos pocos
componentes exteriores para seleccionar y estabilizar la frecuencia de trabajo. Dichos componentes suelen consistir
en un cristal de cuarzo junto a elementos pasivos o bien un resonador cermico o una red RC.
Aumentar la frecuencia de reloj supone disminuir el tiempo en que se ejecutan las instrucciones pero lleva
aparejado un incremento del consumo de energa.
LGICA DE CONTROL
Coordina la interaccin y funcionamiento entre los dems bloques a travs de las lneas de control.
Sistemas con microprocesadores Parte II
Ing. Gerardo Collaguazo 60
2.1.6 RECURSOS ESPECIALES
Cada fabricante oferta numerosas versiones de una arquitectura bsica de microcontrolador. En algunas ampla las
capacidades de las memorias, en otras incorpora nuevos recursos, en otras reduce las prestaciones al mnimo para
aplicaciones muy simples, etc. La labor del diseador es encontrar el modelo mnimo que satisfaga todos los
requerimientos de su aplicacin. De esta forma, minimizar el coste, el hardware y el software.
Los diversos mdulos para el control de perifricos, que incluyen los microcontroladores son:
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 disminuyendo al ritmo de los impulsos de reloj o algn mltiplo
hasta que se desborde y llegue a 0, momento en el que se produce un aviso.
Cuando se desean contar acontecimientos que se materializan por cambios de nivel o flancos en alguna de las
patitas del microcontrolador, el mencionado registro se va incrementando o disminuyendo al ritmo de dichos
impulsos.
PERRO GUARDIN O WATCHDOG
Cuando el computador personal se bloquea por un fallo del software u otra causa, se pulsa el botn del reset y se
reinicializa el sistema. Pero un microcontrolador funciona sin el control de un supervisor y de forma continuada las
24 horas del da. El Perro guardin consiste en un temporizador que, cuando se desborda y pasa por 0, provoca un
reset automticamente en el sistema.
Se debe disear el programa de trabajo que controla la tarea de forma que refresque o inicialice al Perro guardin
antes de que provoque el reset. Si falla el programa o se bloquea, no se refrescar al Perro guardin y, al completar
su temporizacin, ladrar y ladrar hasta provocar el reset.
PROTECCIN ANTE FALLO DE ALIMENTACIN O BROWNOUT
Se trata de un circuito que resetea al microcontrolador cuando el voltaje de alimentacin (VDD) es inferior a un
voltaje mnimo (Brown_Out). Mientras el voltaje de alimentacin sea inferior al de Brown_Out el dispositivo se
mantiene reseteado, comenzando a funcionar normalmente cuando sobrepasa dicho valor.
ESTADO DE REPOSO DE BAJO CONSUMO
Son abundantes las situaciones reales de trabajo en que el microcontrolador debe esperar, sin hacer nada, a que se
produzca algn acontecimiento externo que le ponga de nuevo en funcionamiento. Para ahorrar energa, (factor
clave en los aparatos porttiles), los microcontroladores disponen de una instruccin especial (SLEEP en los PIC),
que les pasa al estado de reposo o de bajo consumo, en el cual los requerimientos de potencia son mnimos. En
dicho estado se detiene el reloj principal y se congelan sus circuitos asociados, quedando sumido en un profundo
sueo el microcontrolador. Al activarse una interrupcin ocasionada por el acontecimiento esperado, el
microcontrolador se despierta y reanuda su trabajo.
CONVERSOR A/D (CAD)
Los microcontroladores que incorporan un Conversor A/D (Analgico/Digital) pueden procesar seales analgicas,
tan abundantes en las aplicaciones. Suelen disponer de un multiplexor que permite aplicar a la entrada del CAD
diversas seales analgicas desde las patitas del circuito integrado.
CONVERSOR D/A (CDA)
Transforma los datos digitales obtenidos del procesamiento del microcontrolador en su correspondiente seal
analgica que saca al exterior por una de las patitas de la cpsula. Existen muchos actuadores que trabajan con
seales analgicas.
Sistemas con microprocesadores Parte II
Ing. Gerardo Collaguazo 61
COMPARADOR ANALGICO
Algunos modelos de microcontroladores disponen internamente de un Amplificador Operacional que acta como
comparador entre una seal fija de referencia y otra variable que se aplica por una de las patitas de la cpsula. La
salida del comparador proporciona un nivel lgico 1 0 segn una seal sea mayor o menor que la otra.
Tambin hay modelos de microcontroladores con un mdulo de tensin de referencia que proporciona diversas
tensiones de referencia que se pueden aplicar en los comparadores.
MODULADOR DE ANCHO DE PULSOS O PWM
Son circuitos que proporcionan en su salida pulsos de anchura variable, que se ofrecen al exterior a travs de las
patitas del encapsulado.
PUERTAS DE COMUNICACIN
Con objeto de dotar al microcontrolador de la posibilidad de comunicarse con otros dispositivos externos, otros
buses de microprocesadores, buses de sistemas, buses de redes y poder adaptarlos con otros elementos bajo otras
normas y protocolos.
Algunos modelos disponen de recursos que permiten directamente esta tarea, entre los que destacan:
1. UART, adaptador de comunicacin serie asncrona.
2. USART, adaptador de comunicacin serie sncrona y asncrona
3. PSP, Puerta paralela esclava para poder conectarse con los buses de otros microprocesadores.
4. USB (Universal Serial Bus), que es un moderno bus serie para los PC.
5. Bus I2C, que es un interfaz serie de dos hilos desarrollado por Philips.
6. CAN (Controller Area Network), para permitir la adaptacin con redes de conexionado multiplexado
desarrollado conjuntamente por Bosch e Intel para el cableado de dispositivos en automviles. En EE.UU.
se usa el J185O.
En el siguiente grfico, podemos ver los componentes que configuran el microcontrolador.
Fig. 2.8 Recursos especiales de los microcontroladores
2.1.7 LA FAMILIA DE LOS PIC COMO ELECCIN
Qu es lo que ocurre con los PIC?, Por qu estn en boca de todos? Hemos buscado en multitud de bibliografa y
realmente nadie da una respuesta concreta, pero una aproximacin a la realidad puede ser esta:
mC
Interrupciones
C A/D
Comparadores
Comunicacin
serie o paralelo
Salida
PWM
Memoria
EEPROM
Temproizador/
contador
Sistemas con microprocesadores Parte II
Ing. Gerardo Collaguazo 62
Los PIC tienen ngel, tienen algo que fascina a los diseadores, puede ser la velocidad, el precio, la facilidad
de uso, la informacin, las herramientas de apoyo... Quizs un poco de todo eso es lo que produce esa imagen de
sencillez y utilidad. Es probable que en un futuro prximo otra familia de microcontroladores le arrebate ese
algo.
Queremos constatar que para las aplicaciones ms habituales (casi un 90%) la eleccin de una versin adecuada de
PIC es la mejor solucin; sin embargo, dado su carcter general, otras familias de microcontroladores son ms
eficaces en aplicaciones especficas, especialmente si en ellas predomina una caracterstica concreta, que puede
estar muy desarrollada en otra familia.
Los detalles ms importantes que vuelven locos a los profesionales de la microelectrnica y microinformtica y
las razones de la excelente acogida que tienen los PIC son los siguientes:
Sencillez de manejo: Tienen un juego de instrucciones reducido; 35 en la gama media.
Buena informacin, fcil de conseguir y econmica.
Precio: Su coste es comparativamente inferior al de sus competidores.
Poseen una elevada velocidad de funcionamiento. Buen promedio de parmetros: velocidad, consumo,
tamao, alimentacin, cdigo compacto, etc.
Herramientas de desarrollo fciles y baratas. Muchas herramientas software se pueden recoger libremente a
travs de Internet desde Microchip (http://www.microchip.com).
Existe una gran variedad de herramientas hardware que permiten grabar, depurar, borrar y comprobar el
comportamiento de los PIC.
Diseo rpido.
La gran variedad de modelos de PIC permite elegir el que mejor responde a los requerimientos de la
aplicacin.
Una de las razones del xito de los PIC se basa en su utilizacin. Cuando se aprende a manejar uno de ellos,
conociendo su arquitectura y su repertorio de instrucciones, es muy fcil emplear otro modelo.
2.1.8 LAS GAMAS DE LOS PIC
Una de las labores del tcnico de diseo es la eleccin del modelo del microcontrolador que mejo satisfaga las
necesidades del proyecto con el mnimo presupuesto.
La gran variedad de modelos de microcontroladores PIC (254 dispositivos a noviembre de 2004) permite que el
usuario pueda seleccionar el ms conveniente para su proyecto:
El nmero de patillas de E/S vara de 4 a 70, segn el modelo.
Casi todos disponen de una memoria EEPROM de 16 a 1024 bytes para almacenar datos y recuperarlos
despus de haber eliminado la alimentacin.
Las frecuencias ms habituales de funcionamiento mximas, segn el modelo, son 4 MHz y 10 MHz,
llegando algunos a los 48 MHz.
Adems de las entradas/salidas digitales y temporizadores y contadores, segn el modelo, podemos
disponer de entradas/salidas analgicas (convertidores A/D, D/A), comparadores analgicos,
amplificadores operacionales, puerto serie, I
2
C, USB.
Segn la versin de PIC, la Pila o "Stack" dispone de un cierto nmero de niveles lo que supone poder
encadenar ms o menos subrutinas.
Los microcontroladores PIC ms sencillos no admiten interrupciones, pero el resto si.
Hay PIC donde el temporizador TMR1 tiene un circuito oscilador que puede trabajar asncronamente y que
puede incrementarse aunque el microcontrolador se halle en el modo de reposo ("sleep"), posibilitando la
implementacin de un reloj en tiempo real.
En algunos modelos las lneas de E/S del uno o mas puertos presentan una carga "pull-up" activada por
software.
Sistemas con microprocesadores Parte II
Ing. Gerardo Collaguazo 63
Microchip dispone de cuatro gamas de microcontroladores de 8 bits para adaptarse a las necesidades de la mayora
de los clientes potenciales, a saber:
2.1.8.1 GAMA ENANA: PIC12FXXX
Se trata de un grupo de PIC de reciente aparicin
que ha acaparado la atencin del mercado. Su
principal caracterstica es su reducido tamao, ya
que los PIC12CXXX/PIC12FXXX son de 8 pines.
Tienen un set de instrucciones de 12 14 bits, un
voltaje de operacin muy bajo, de 2.5 y 5.5V y
consume menos de 2mA a 5V, manejo de
interrupciones, una pila de varios niveles, mltiples
canales A/D, memoria de programa FLASH, OTP
o ROM y una memoria de datos EEPROM. Todas
estas caractersticas proporcionan un nivel de
inteligencia no antes disponible tomando en cuenta
el costo y tamao.
Aunque estos PIC solo tienen 8 pines, se pueden destinar hasta 6 lneas E/S para los perifricos, ya que posee un
oscilador interno.
2.1.8.2 GAMA BAJA O BASICA: PIC16C5X
Se trata de una serie de PIC de recursos muy limitados, pero con una de las mejores relaciones coste/beneficio. Los
PIC16C5X tienen un tamao de instruccin de 12 bits, estn disponibles en circuitos de 14, 18, 20 y 28 pines,
operan con bajo voltaje, menos de 2.0V para OTP hace a esta familia ideal para las aplicaciones que requieren de
batera. Adems, el PIC16HV5XX puede operar con ms de 15V para el uso directo con una batera. Tienen un
repertorio de 33 instrucciones de 12 bits. No admiten ningn tipo de interrupcin y la Pila slo dispone de dos
niveles.
2.1.8.3 GAMA MEDIA: PIC 16FXXX
Es la gama ms variada y completa de los PIC.
Con la introduccin de los PIC16FXXX Microchip
proporciona un ADC (Convertidor
Analgico/Digital) de 12 bits. Estos
microcontroladores ofrecen un amplio rango de
opciones, por ejemplo, estn disponibles en
circuitos de 18 a 68 patas, van del nivel bajo al ms
alto en cuanto a la integracin de perifricos. Esta
familia tiene un set 35 instrucciones de 14 bits,
manejo de interrupciones, una pila de 8 niveles
para el anidamiento de subrutinas. Los
PIC16FXXX proporcionan la versatilidad para
cubrir los requerimientos de ms demanda hoy en
da. Dentro de esta gama el ms representativo es
el PIC16F628A, que ser el objeto de nuestro
estudio.
Sin embargo, como se mencion anteriormente, el
estudio lo extenderemos tambin para los
PIC16F819, PIC16F877A, etc.
Fig. 2.9 PIC de la gama enana
Fig. 2.10 PIC de la gama media
Sistemas con microprocesadores Parte II
Ing. Gerardo Collaguazo 64
2.1.8.4 GAMA ALTA: PIC17CXXX
Esta familia extiende la potencialidad de los microcontroladores PIC con una palabra de instruccin de 16 bits,
mejora el set de instrucciones y la capacidad de manejo de interrupciones. Cuenta con las caractersticas de
perifricos de mayor demanda en las aplicaciones.
2.1.8.5 GAMA SUPERIOR: PIC18FXXX
Es la familia de alto nivel, de tecnologa CMOS, tiene una MCU esttica con convertidor A/D, una pila de 32
niveles, una palabra de instruccin de 16 bits, mltiples interrupciones internas y externas, un set de 77
instrucciones. Adems tiene un set de largos registros que permiten algunas de las innovaciones usadas para
alcanzar un alto rendimiento de 10 MIPS (Millones de Instrucciones por Segundo) para una MCU. La familia
PIC18FXXX tiene caractersticas especiales para reducir componentes externos, por ello reduce el costo, aumenta
la confiabilidad y reduce el consumo de energa.
2.2 DESCRIPCION FSICA Y FUNCIONAL DEL MICROCONTROLADOR PIC16F628A
Este PIC16F628A de la firma Microchip se encuentra en la gama media y dentro de ella es uno de los ms
pequeos y bsicos; solo tiene 18 pines, de 8 bits y posee memoria EEPROM tipo Flash de 2 kbytes; por lo que es
muy prctico, sencillo y econmico, pudindolo emplear en pequeos proyectos que realizan los aficionados,
estudiantes y quienes prefieren progresar en sus conocimientos de lo fcil a lo difcil.
A continuacin se explican las caractersticas ms relevantes de los PIC de la familia PIC16F628A. Al terminar
este subcaptulo, el lector tendr un conocimiento adecuado sobre estos dispositivos.
2.2.1 CARACTERISTICAS GENERALES
El encapsulado ms comn para el microcontrolador es el DIP (Dual In-line Pin) de 18 pines, propio para usarlo en
experimentacin. La referencia completa es 16F628A-20/P. Sin embargo, hay otros tipos de encapsulado que se
pueden utilizar segn el diseo y la aplicacin que se quiere realizar. Por ejemplo, el encapsulado tipo surface
mount (montaje superficial) tiene un reducido tamao y bajo costo, que lo hace propio para producciones en serie o
para utilizarlo en lugares de espacio muy reducido.
Las siguientes son la tarjeta de presentacin del PIC 16F628A, con sus datos ms significativos:
MEMORIA DE PROGRAMA: 2Kx14 Flash. Con 1000 ciclos de borrado/escritura
MEMORIA DE DATOS RAM: 224 Bytes
MEMORIA DE DATOS EEPROM: 128 Bytes con 1000.000 de ciclos de borrado/escritura y con retencin de
datos por ms de 40 aos Tiempo de escritura de datos 4ms.
REGISTROS: de 8bits de propsito general tipo SRAM y 34 de funcin especial de hardware.
PILA (Stack) 8 niveles
INTERRUPCIONES: 10 tipos diferentes (pin externo RBO/INT; exceso del temporizador TMR0; interrupcin
al cambio de estado RB<7:4> y al completar la escritura en la EEPROM de datos, etc.)
JUEGO DE INSTRUCCIONES RISC (set de instrucciones reducidas): 35
ENCAPSULADO: Plstico DIP de 18 pines
FRECUENCIA DE TRABAJO: 4MHz a 20MHz mxima
OSCILADOR: 5 tipos, RC, LP, XT, HS, e interno
TEMPORIZADORES: un Timer/counter (TMR0, TMR1 y TMR2) programables y un Perro Guardin (WDT)
LINEAS E/S DIGITALES: 16 (8 Puerto A(si se usan el oscilador interno y el Reset interno), 8 Puerto B) lneas
para control de direccionamiento individual
COMPARADORES de voltaje
MODULO CCP/PWM para el control del ancho de pulso
MODULO USART para la comunicacin serie asncrona y sncrona (I2C)
Sistemas con microprocesadores Parte II
Ing. Gerardo Collaguazo 65
Reset interno o externo
Seguridad para cdigo de programa
Power-on Reset (POR), Power-up Timer (PWRT), Oscillator Start-up Timer (OST). Watchdog Timer (WDT)
con su propio oscilador RC incorporado en el chip para un funcionamiento confiable.
Corriente mxima absorbida: 80mA puerto A, 150mA puerto B
Corriente mxima suministrada: 50mA puerto A, 100mA puerto B
Corriente mxima absorbida por lnea: 25mA
Corriente mxima suministrada por lnea: 20mA
Modo de bajo consumo de corriente: MODO SLEEP
VOLTAJE DE ALIMENTACIN (V
DD
): 2 a 5.5 V
DC
VOLTAJE DE GRABACIN (V
PP
): de 12 a 14 V
DC
.
Consumo <2mA a 5V y 4MHz.
2.2.2 PINES Y FUNCIONES
El PIC 16F628A est fabricado con tecnologa CMOS de altas prestaciones y encapsulado plstico de 18 pines.
Seguidamente describiremos en forma breve la misin de cada uno de los pines.
En la tabla siguiente se describen las funciones de cada pin del microcontrolador PIC16F84A.
Pin Nombre
Tipo
Descripcin
16 RA7 E/S Entrada / salida digital cuando se utiliza el oscilador interno
OSC1 XTAL Entrada del circuito oscilador externo que proporciona la frecuencia
de trabajo del mC.
CLKIN E Entrada para el oscilador externo tipo RC
15
RA7 E/S E/S digital cuando se utiliza el oscilador interno
OSC2 XTAL Entrada del circuito oscilador externo que proporciona la frecuencia
de trabajo del mC.
CLKOUT S Salida del cristal oscilador. En el modo RC este pin proporciona una
seal de reloj equivalente de OSC1 y representa el ciclo de
instruccin.
17 RA0 E / S E/S digital
AN0 E Entrada de la seal anloga para el comprador
18 RA1 E / S E/S digital
AN1 E Entrada de la seal anloga para el comprador
1 RA2 E / S E/S digita
Fig. 2.11 Pines y funciones del PIC16F628A
Sistemas con microprocesadores Parte II
Ing. Gerardo Collaguazo 66
AN2 E Entrada de la seal anloga
Vref E Voltaje de referencia externo
2 RA3 E / S E/S digital
AN3 E Entrada de la seal anloga
CMP1 S Salida del comparador
3 RA4 E / S E/S digital. La salida es de colector abierto.
T0CKI E Entrada de reloj al contador/temporizador TMR0
CMP2 S Salida del comparador
4 RA5 E Entrada digital si se emplea el reset interno
MCLR E Entrada del pulso de reset externo
Vpp E Entrada del voltaje de programacin (12-13.4)V
6 RB0 E / S E/S digital.
INT E Entrada para la interrupcin externa RB0
7 RB1 E / S E/S digital
RX E Recepcin de datos en comunicacin serie asncrona
DT E/S E/S de datos en la comunicacin sncrona
8 RB2 E / S E/S digital
TX S Salida de datos para la comunicacin serie asncrona
CK S Salida de pulsos de reloj para la comunicacin serie sncrona
9 RB3 E / S E/S digital
CCP1 S E/S del mdulo CCP/PWM
10 RB4 E / S E/S digital
PGM E Pin de entrada para la programacin de bajo voltaje. Cuando la
programacin a bajo voltaje es habilitada, este pin queda
deshabilitado
11 RB5 E / S E/S digital
12 RB6 E / S E/S digital
T1OSO S Salida de pulsos del TMR1
T1CKI E Entrada de pulsos de reloj para TMR1
PGC E Seal de reloj para la programacin
13
RB7 E / S E/S digital
T1OSI E Entrada de pulsos para el TMR1
PGD E Entrada de datos en la programacin
5 V
SS
A Referencia de tierra (masa) para todos los pines lgicos de E/S.
14 V
DD
A Alimentacin positiva para todos los pines lgicos E/S.
2.2.3 PUERTOS DEL MICROCONTROLADOR
Los puertos son el puente de comunicacin
entre el microcontrolador y el mundo exterior.
Son lneas digitales que trabajan entre cero y
cinco voltios y se pueden configurar como
entradas o como salidas, de forma individual.
El PIC16F628A tiene dos puertos. El puerto A
con 8 lneas, en caso que se empleen el
oscilador y el reset internos (en negrillas), en
caso que necesitemos emplear los elementos
Fig. 2.12 Puertos del PIC
Sistemas con microprocesadores Parte II
Ing. Gerardo Collaguazo 67
Externos (en comunicacin serial por ejemplo) solo dispondremos de 5 lneas. El puerto B tiene 8 lneas. Cada pin
se puede configurar como entrada o como salida independientemente configurando un par de registros diseados
para tal fin. En ese registro un 0 configura el pin del puerto correspondiente como salida y un 1 lo configura
como entrada.
Los pines RA0:RA3 del puerto A tiene Buffers de entrada tipo TTL y drivers de salida tipo CMOS. El pin
RA4/TOCKI del puerto A puede ser configurado como un pin de entrada/salida o como entrada del
temporizador/contador. Cuando este pin se programa como entrada digital, funciona como un disparador
Schmitt (Schmitt trigger). Puede reconocer seales un poco distorsionadas y llevarlas a niveles lgicos
(cero y cinco voltios). Cuando se usa como salida digital se comporta como colector abierto, por lo
tanto, se debe poner una resistencia de pull-up (resistencia externa conectada a un nivel de cinco voltios).
Como salida, la lgica es inversa: un 0 escrito al pin del puerto entrega en el pin un 1 lgico.
Adems, como salida no puede manejar cargas como fuente, slo en el modo sumidero. Adicional a esto
el pin RA5 se puede configurar slo como entrada en caso de utilizarse el reset interno.
Otra situacin importante de tener en cuenta en el puerto A es que, para que funcione como E/S digital, se deben
APAGAR los comparadores de voltaje de este puerto. Esto se ver ms adelante en la configuracin de puertos
(Cap. 3)
El puerto B tiene internamente unas resistencias de pull-up conectadas a sus pines (sirven para fijar el pin a un nivel
de cinco voltios), su uso puede ser habilitado o inhabilitado bajo control del programa. Todas las resistencias pull-
up se conectan o se desconectan a la vez, usando el bit llamado RBPU que se encuentra en el registro llamado
OPTION_REG. La resistencia pull-up es desconectada automticamente en un pin si este se programa como
salida.
Los pines RB0 y RB7:RB4 pueden generar una interrupcin al detectar un cambio en sus pines. Solo los pines
configurados como entradas pueden generar dicha interrupcin. El valor de los pines de entrada es comparado con
el valor almacenado de la ltima lectura del puerto B. Esta interrupcin puede despertar al microcontrolador del
modo SLEEP.
Como este dispositivo es de tecnologa CMOS, todos los
pines deben estar conectados a alguna parte, nunca dejarlos
al aire porque se pueden daar el integrado.
Los pines que no se estn usando se deben conectar a la
fuente de alimentacin de +5V, como se muestra en la
figura.
La mxima capacidad de corriente de cada uno de los pines de los puertos en modo sumidero (sink) es de 25 mA y
en modo fuente (source) es de 20 mA. La mxima capacidad de corriente total de los puertos est dada en la
siguiente tabla:
El consumo de corriente del microcontrolador depende del voltaje de operacin, la frecuencia y de las cargas que
tengan sus pines. Para un reloj de 4 MHz el consumo es de aproximadamente 3 mA; aunque este se puede reducir a
40 microamperios cuando se est en el modo sleep (en este modo el micro se detiene y disminuye el consumo de
potencia). Se sale de ese estado, cuando se produce alguna condicin especial, como por ejemplo una interrupcin.
Modos PUERTO A PUERTO B
Sumidero 80 mA 150mA
Fuente 50 mA 100 mA
Fig. 2.13 Pines no utilizados conectados a +5V
Sistemas con microprocesadores Parte II
Ing. Gerardo Collaguazo 68
2.2.4 EL OSCILADOR
Todo microcontrolador requiere un circuito generador de pulsos que le indique la velocidad a la que debe trabajar.
Este circuito, que se conoce como oscilador o reloj, es muy simple pero de vital importancia para el buen
funcionamiento del sistema, ya que es un parmetro fundamental a la hora de establecer la velocidad de ejecucin
de instrucciones y el consumo de energa. Todas las instrucciones del PIC se realizan en un ciclo de instruccin,
memos la de salto, que tardan el doble. El PIC16F628A, puede utilizar ocho tipos de osciladores diferentes,
programando los bits (FOSC1 y FOSC0) de la palabra configuracin para seleccionar uno de estos osciladores.
Los tipos de osciladores son:
INTOSC Oscilador interno de precisin (dos modos)
RC Oscilador con resistencia y condensador (dos modos)
XT Cristal / Resonador
HS Cristal de alta velocidad / Resonador.
LP Cristal para baja frecuencia y bajo consumo de potencia.
EC Reloj externo
En el momento de programar o quemar el microcontrolador se debe especificar que tipo de oscilador se usa. Esto
se hace a travs de unos bits llamados: fusibles de configuracin.
Para los tipos de cristal XT, LP o HS estos se conectan a los pines de OSC1/CLKIN y OSC2/CLKOUT.
OSCILADORES DE CRISTAL
El oscilador de cristal de cuarzo tipo XT es el ms empleado.
El tipo de oscilador que se sugiere para las prcticas es el
cristal de 4 MHz, porque garantiza mayor precisin y un buen
arranque del microcontrolador. Internamente esta frecuencia
es dividida por cuatro, lo que hace que la frecuencia efectiva
de trabajo sea de 1MHz, por lo que cada instruccin se ejecuta
en un microsegundo. El cristal debe ir acompaado de dos
condensadores y se conecta como se muestra en la figura.
Fig. 2.14 Modos de operacin de los puertos
Fig. 2.15 Oscilador de cristal
Sistemas con microprocesadores Parte II
Ing. Gerardo Collaguazo 69
Fosc Rext Cext
4.61MHz
2.66MHz
311kHz
5k
10k
100k
20pF
1.34kHz
756kHz
82.8kHz
5k
10k
100k
100pF
428kHz
243kHz
26.2kHz
5k
10k
100k
300pF
El oscilador de cristal viene en una cpsula metlica con dos pines que se conectan al microcontrolador a los pines
OSC1 y OSC2. Dependiendo de la aplicacin, se pueden utilizar cristales de otras frecuencias, por ejemplo se usa
el cristal de 3,579545 MHz porque es muy econmico, el de 32,768 KHz cuando se necesita crear bases de tiempo
de segundo muy precisas. El lmite de velocidad en estos microcontroladores es de 20 MHz. Los valores de los
condensadores C1 y C2 recomendados para trabajar con osciladores de cristal, se indican en la tabla siguiente:
Tipo Frecuencia OSC1/C1 OSC2/C2
LP
32 Khz
200 Khz
68 100 pF
15 - 33 pF
68 - 100 pF
15 - 33 pF
XT 100 Khz
2 Mhz
4 Mhz
100 150 pF
15 33 pF
15 33 pF
100 150 pF
15 33 pF
15 33 pF
HS 4 Mhz
10 Mhz
15 33 pF
15 33 pF
15 33 pF
15 33 pF
OSCILADOR TIPO RC
Si no se requiere mucha precisin en el oscilador y se quiere economizar dinero, se puede utilizar una resistencia y
un condensador, como se muestra en la figura. Los valores recomendados de Rext y Cext son: 5K Rext
100K y Cext > 20pF.
2.2.5 RESET DEL MICROCONTROLADOR
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 as se halla diseado el sistema. El pin de reset en los PIC
es llamado MCLR (master clear reset). El PIC 16F628A admite diferentes tipos de reset:
Al encendido (Power On Reset POR)
Pulso en el pin MCLR durante operacin normal
Pulso en el pin MCLR durante el modo de bajo consumo (modo sleep)
El rebase del conteo del circuito de vigilancia (watchdog) durante operacin normal.
El rebase del conteo del circuito de vigilancia (watchdog) durante el modo de bajo consumo (sleep)
Reset por disminucin de voltaje (Brown Out Reset BOR)
Fig. 2.16 Oscilador tipo RC
Sistemas con microprocesadores Parte II
Ing. Gerardo Collaguazo 70
En la figura se muestra el diagrama de bloques del circuito de reset. El MCLR tiene un filtro para ignorar pulsos
pequeos, por lo que estos pulsos de reset deben ser grandes.
Los registros de la memoria RAM del microcontrolador son afectados en distinta forma segn el tipo de reset. En la
Tabla se indican las condiciones de reset para el contador de programa (PC) y el registro STATUS.
Condicin Contador de
programa
Registro STATUS
Reset al encendido 000h 0001 1xxx
MCLR Reset durante operacin normal 000h 000u uuuu
MCLR Reset durante el modo SLEEP 000h 0001 0uuu
Reset de WDT (en operacin normal) 000h 0000 1uuu
Despertar con WDT PC + 1 uuu0 0uuu
Despertar por interrupcin del SLEEP PC + 1 uuu1 0uuu
Nota: u = no cambia, x = desconocido; Cuando el microcontrolador sale de una condicin de reset debido a una interrupcin y
el bit GIE est en 1 lgico, el contador de programa es cargado con el vector de interrupcin.
En la Tabla siguiente de describe los estados de reset para todos los registros.
Fig. 2.17 Diagrama de bloques del circuito de RESET
Sistemas con microprocesadores Parte II
Ing. Gerardo Collaguazo 71
Nota: u =no cambia; x = desconocido; - =bit no implementado y se lee con 0;
El reset al encendido se consigue gracias a dos temporizadores. El primero es el PWRT (Power-Up Timer.
Temporizador de encendido) que provee un retardo fijo de 72 ms (nominal) en el encendido nicamente, diseado
para mantener el dispositivo en reset mientras la fuente se estabiliza; este retardo se consigue mediante un oscilador
RC interno, y puede ser inhabilitado mediante el bit de configuracin PWRET.
Sistemas con microprocesadores Parte II
Ing. Gerardo Collaguazo 72
El segundo de ellos es el OST (Oscillator Start- Up Timer: Temporizador de encendido del oscilador), que provee
un retardo de 1024 ciclos de oscilacin, orientado a mantener el microcontrolador en reset hasta que el oscilador
del cristal se estabilice. Este temporizador inicia al terminarse el tiempo del temporizador de encendido PWRT.
Este retardo es habilitado solo con los osciladores tipo XT, LP y HS.
Para utilizar estos temporizadores, slo basta con conectar el pin MCLR
a la fuente de alimentacin a travs de una resistencia, evitndose
utilizar las tradicionales redes RC externas en el pin de reset.
El reset por MCLR se consigue llevando momentneamente este pin a
un estado lgico bajo, mientras que el watchdog WDT produce el reset
cuando su temporizador rebasa la cuenta, o sea que pasa de 0FFh a 00h.
Cuando se quiere tener control sobre el reset del sistema se puede
conectar un botn como se muestra en la figura.
2.2.6 ARQUITECTURA INTERNA DEL MICROCONTROLADOR
Este trmino se refiere a los bloques funcionales internos que conforman el microcontrolador y la forma en que
estn conectados, por ejemplo la memoria FLASH (de programa), la memoria RAM (de datos), los puertos, la
lgica de control que permite que todo el conjunto funcione, etc. La figura siguiente muestra la arquitectura general
del PIC16F628A, en ella se pueden apreciar los diferentes bloques que lo componen y la forma en que se conectan.
Se muestra la conexin de los puertos, las memorias de datos y de programa, los bloques especiales como el
watchdog, los temporizadores de arranque, el oscilador, etc.
Fig. 2.18 Circuito de Reset
Fig. 2.19 Arquitectura interna del PIC16F628A
Sistemas con microprocesadores Parte II
Ing. Gerardo Collaguazo 73
Todos los elementos se conectan entre s por medio de buses. Un bus es un conjunto de lneas que transportan
informacin entre dos o ms mdulos. Vale la pena destacar que el PIC16F628A tiene un bloque de memoria de
datos y registros (RAM) de 224 bytes, una memoria EEPROM de 128 bytes, adems del bloque de memoria de
programa de 2Kbytes de 14bits.
El PIC16F628A se basa en la arquitectura Harvard, en la cual el programa y los datos se pueden trabajar desde
memorias separadas, lo que posibilita que las instrucciones y los datos posean longitudes diferentes. Esta misma
estructura es la que permite la superposicin de los ciclos de bsqueda y ejecucin de las instrucciones, lo cual se
ve reflejado en una mayor velocidad del microcontrolador. Posee un procesador tipo RISC.
Los bloques son:
1. Memoria de programa EEPROM de 2 Kbytes x14 bits.
2. Memoria de datos formada por 4 reas. Una RAM donde se alojan 33 registros de propsito especfico y
de 224 propsito general y la otra del tipo EEPROM de 128 bytes.
3. Camino de datos con una ALU de 8 bits y un registro de trabajo W del que normalmente recibe un
operando y enva el resultado. El otro operando puede provenir del bus de datos o del propio cdigo de la
instruccin (literal).
4. Diversos recursos conectados al bus de datos, tales como Puertas de E/S, Temporizador TMR0, etc.
5. Base de tiempos y circuitos auxiliares.
6. Direccionamiento de la memoria de programa en base al Contador de Programa ligado a una Pila de 8
niveles de profundidad.
7. Direccionado directo e indirecto de la memoria RAM.
2.2.7 MEMORIA DE PROGRAMA
Es una memoria de 2 Kbyte de longitud con palabras de 14
bits. Como es del tipo FLASH se puede programarla y
borrarla elctricamente, lo que facilita el desarrollo de los
programas y la experimentacin. En ella se graba, o
almacena el programa o cdigos que el microcontrolador
debe ejecutar. Dado que el PIC16F628A tiene un contador
de programa de 13 bits, tiene una capacidad de
direccionamiento de 8K x 14, pero solamente tiene
implementado las primeras 2048 posiciones (0000h hasta
07FFh), por lo que se ignoran los 3 bits de ms peso del
registro PC. Si se direccionan posiciones de memoria
superiores a 07FFh se causar un solapamiento con el
espacio del segundo 2K. En la figura se muestra el mapa de
la memoria de programa, el registro PC y la Pila.
La Pila (STACK) es una zona aislada de las memorias de
instrucciones y datos. Tienen una estructura LIFO, en la
que el ltimo valor guardado es el primero que sale. Tiene
8 niveles de profundidad cada uno de 13 bits. La
instruccin CALL y las interrupciones originan la carga del
contenido del PC en el nivel superior de la Pila. El
contenido del nivel superior se saca de la Pila al
ejecutar la instruccin Return.
Cuando ocurre un reset al microcontrolador, el contador de
programa se pone en ceros (000H). Por esta razn, en la
primera direccin del programa se debe escribir todo lo
relacionado con la iniciacin del mismo.
VECTOR DE INTERRUPCIN
Fig. 2.19 Mapa de la memoria de programa
Sistemas con microprocesadores Parte II
Ing. Gerardo Collaguazo 74
Cuando el microcontrolador recibe una seal de interrupcin, el contador de programa apunta a la direccin 04H de
la memoria de programa, por eso, all se debe escribir toda la programacin necesaria para atender dicha
interrupcin (ver Tratamiento de Interrupciones captulo 3).
2.2.8 MEMORIA DE DATOS
La memoria de datos del PIC16F628A consta de dos zonas diferentes:
MEMORIA DE DATOS EEPROM
Tiene una capacidad de 128x8 Bytes donde, opcionalmente, se pueden almacenar datos que no se pierden al
desconectar la alimentacin, pudiendo durar 40 aos guardados.
MEMORIA RAM ESTATICA O SRAM
La memoria RAM se halla dividida en cuatro bancos (B0, B1, B2 y B3) de 128 posiciones cada uno, donde residen
los Registros de Funcin Especfica (SFR) y los Registros de Propsito General (GPR).
En la siguiente figura podemos observar los cuatro bancos de la RAM y los nombres de los Registros de Funcin
Especial. Es de notarse que a partir de la posicin 20H, el usuario tiene disponibles los registros de propsito
general, para guardar datos temporales.
Fig. 2.20 Mapa del archivo de registros PIC16F628A
Sistemas con microprocesadores Parte II
Ing. Gerardo Collaguazo 75
A los bancos de registros de la RAM se acceden,
configurando los bits RP0 y PR1 del registro STATUS, de
la forma que muestra la figura adyacente.
REGISTROS DE PROPSITO GENERAL (GPR)
Cada registro de propsito general tiene 8 bits de ancho y son accesados mediante direccionamiento directo e
indirecto a travs del registro selector de registros FSR, y estn disponibles a partir de la posicin 20H.
REGISTROS DE FUNCIN ESPECIAL (FSR)
Los registros de funcin especial FSR son usados por la CPU y los perifricos para controlar las operaciones del
sistema. Estos registros son RAM esttica.
Los SFR se clasifican en dos grupos. En uno se incluyen aquellos que controlan en ncleo del microcontrolador
(STATUS, OPTION, etc.) y se describen en esta seccin, mientras en el otro los que caracterizan la operatividad de
los recursos auxiliares y perifricos, que se estudiarn en el momento en que se analicen dichos perifricos (Cap.
3). Si observamos en la datasheet del PIC16F628A (pags.18-21 ) podremos observar que cada registro tiene 8bits
de nombres especficos.
A continuacin realizaremos el anlisis de los registros que controlan el ncleo del microcontrolador.
REGISTRO DE ESTADOS: STATUS (Direcciones: 03h, 83, 103h, 183h)
Contiene el estado aritmtico de la ALU, la causa del reset y los bits de preseleccin de pgina (bancos) para la
memoria de datos. En la figura 2.22 muestra los bits correspondientes a este registro. Los bits 5 y 6 (RPO y RP1)
son los bits de seleccin de pgina para el direccionamiento directo de la memoria de datos. Los bits TO y PD no se
pueden modificar por un proceso de escritura; ellos muestran la condicin por la cual se ocasion el ltimo reset.
Se debe tener en cuenta que al escribir sobre el registro STATUS no se obtendr posiblemente el resultado
esperado, pues sus bits cambian segn el resultado de las operaciones, por ejemplo con la instruccin CLRF
STATUS se borrarn los tres bits altos y el bit Z se setear.
El bit C y DC operan como un llevo en las operaciones de resta, esto se puede entender al revisar las
instrucciones SUBLW y SUBWF.
Registro de estados
Fig. 2.21 Acceso a los Bancos de la RAM
Fig. 2.22 Bits del Registro STATUS
Sistemas con microprocesadores Parte II
Ing. Gerardo Collaguazo 76
Cuando el registro STATUS es el destino de una instruccin que afecte a los bits Z, DC o C, entonces la escritura
de estos tres bits se inhabilita. Estos bits se actualizarn de acuerdo a la lgica del sistema.
REGISTRO PARA DIRECCIONAMIENTO INDIRECTO DE DATOS: INDF
(Direcciones: 00h, 80h, 100h, 180h)
Este no es un registro disponible fsicamente; utiliza el contenido del FSR y el bit RP0 del registro STATUS para
seleccionar indirectamente la memoria de datos RAM del usuario; la instruccin determinar que se debe realizar
con el registro sealado.
REGISTRO SELECTOR DE REGISTROS: FSR (Direcciones: 04h, 84h, 104h, 184h)
Como mencionamos anteriormente, en asocio con el registro INDF se utiliza para seleccionar indirectamente los
otros registros disponibles, como puntero para direccionar indirectamente la memoria de datos. Si en el programa
no se utilizan llamadas indirectas, este registro se puede utilizar como un registro de propsito general. Para
entender mejor el funcionamiento del registro INDF, obsrvese el resultado de leer dos registros RAM (05h y 06h)
que contienen los valores 10h y 0Ah utilizando direccionamiento indirecto.
El registro 05 contiene el valor 10h
El registro 06 contiene el valor 0Ah
Se carga el valor 05 al registro FSR
Entonces al leer el registro INDF se obtendr el valor 10h
Se incrementa en uno el registro FSR (FSR = 06 )
Entonces al leer el registro INDF ahora se obtendr el valor 0Ah
Leyendo indirectamente el mismo registro INDF ( FSR = 0 ) se obtendr 00h. Escribiendo indirectamente en el
registro INDF resulta en una operacin no efectuada, pues los bits del registro STATUS pueden ser afectados. Otro
ejemplo simple de un programa para borrar las localidades de 20h 2Fh usando direccionamiento indirecto es
mostrado a continuacin:
movlw 20h ;inicializa el puntero
movwf FSR ;de la memoria RAM
NEXT clrf INDF ;borra el registro INDF
incf FSR ;incrementa el puntero
btfss FSR,4 ;ya termino el borrado?
goto NEXT ;NO, borra el siguiente registro
CONTINUA . ;SI, continua con la ejecucin del
. ;programa restante
El bit IRP del registro STATUS funciona como el noveno bit del registro FSR, como se muestra en la figura.
Fig. 2.24 Direccionamiento directo e indirecto
Fig. 2.23 Direccionamiento indirecto
Sistemas con microprocesadores Parte II
Ing. Gerardo Collaguazo 77
REGISTRO CONTADOR DE PROGRAMA: PCL y PCLATH
Se utiliza para direccionar las palabras de 14 bits del programa
del usuario que se encuentra almacenado en la memoria ROM; es
decir, contiene la direccin de la instruccin a ser ejecutada; este
contador de programa es de 13 bits de ancho. Sobre el byte bajo
(PCL), se puede escribir o leer directamente, mientras que sobre
el byte alto, no. El byte alto se maneja mediante el registro
PCLATH (0Ah). Como sabemos, el 16F628A ante una condicin
de reset inicia el contador de programa con todos sus bits en
cero. Durante la ejecucin normal del programa, y dado que
todas las instrucciones ocupan slo una posicin de memoria, el
contador se incrementa en uno con cada instruccin, a menos que
se trate de alguna instruccin de salto, en la cual se incrementa
con dos.
En una instruccin CALL o GOTO, los bits PC <l0:0> se cargan desde el cdigo de operacin de la instruccin,
mientras que los bits PC <12:11> lo hacen desde el PCLATH<4:3>.
En otras instrucciones donde PCL es el destino, PC<12:8> se carga directamente desde el PCLATH<4:0>, por
ejemplo, en el caso de la instruccin ADDWF. Esto se debe tener en cuenta cuando se desea hacer lectura de tablas
usando el comando: ADDWF PC, 1; en este caso la tabla debe estar comprendida dentro de un solo bloque de 256
bytes (0-255, 256-511, etc.).
REGISTRO DE CONFIGURACIN DEL PUERTO A: TRISA (Direccin: 85h)
Como ya se mencion, el Puerto A tiene 8 lneas cuando se utilizan tanto el oscilador interno como el reset interno,
caso contrario se tienen solo 5 lneas tiles. El Registro TRISA controla la direccin de las lneas del puerto A. Un
cero en el bit correspondiente al pin lo configura como salida y pone el contenido de la memoria (latch) en el
pin seleccionado, mientras que un uno lo configura como entrada y pone el correspondiente circuito de salida en
alta impedancia.
Es importante observar que este registro se encuentra en el banco 1 de la RAM, por lo que habr que posicionarse
en dicho banco para poder configurarlo.
PUERTO A DE ENTRADA / SALIDA: PORTA (Direccin: 05h )
Las lneas del Puerto A pueden leerse o escribirse como si se tratara de un registro cualquiera, de hecho a travs de
las lneas de este puerto el microcntrolador se comunica con el exterior. Luego de un reset de encendido, estos
pines son configurados como entradas y se leen con cero. Al realizar una operacin de lectura se lee el estado del
pin, y al realizar una operacin de escritura se carga en la memoria (latch) del puerto.
REGISTRO DE CONFIGURACIN DEL PUERTO B: TRISB (Direccin: 86h)
Igual que TRISA, es orientado hacia el control del puerto B. Son vlidas las mismas consideraciones del registro
anterior.
PUERTO B DE ENTRADA/SALIDA DE 8 BITS: PORTB (Direccin: 06h)
Este puerto tiene 8 bits de ancho, al igual que en todos los PIC este puede leerse o escribirse como si se tratara de
un registro cualquiera; algunos de sus pines tienen funciones alternas en la generacin de interrupciones.
REGISTRO DE TRABAJO W
Este es el registro de trabajo principal, se comporta de manera similar al acumulador en los microprocesadores.
Este registro participa en la mayora de las instrucciones.
Fig. 2.24 Contador de programa (13 bits)
Sistemas con microprocesadores Parte II
Ing. Gerardo Collaguazo 78
REGISTRO DE LA PALABRA DE CONFIGURACIN (Direccin: 2007h)
El PIC16F628A posee 10 bits de configuracin en la direccin 2007h de la memoria de programa, posicin a la
cual el usuario slo tiene acceso durante la grabacin del microcontrolador. Estos bits se pueden programar para
seleccionar varias configuraciones del dispositivo: tipo de oscilador, proteccin de cdigo, habilitacin del circuito
de vigilancia y el temporizador de encendido, etc.
Cuando se programa la proteccin de cdigo, el contenido de cada posicin de la memoria no se puede leer
completamente, de tal manera que el cdigo del programa no se puede reconstruir. Adicionalmente, todas las
posiciones de memoria del programa se protegen contra la reprogramacin.
Una vez protegido el cdigo, el bit de proteccin slo puede ser borrado (puesto en 1) si se borra toda la memoria
del programa y la de datos.
LAS PULL-UPs INTERNAS
Cada uno de los pines del puerto B tiene un elemento pull-up interno dbil (250 A tpico); este elemento es
automticamente desconectado cuando el pin se configura como salida. Adicionalmente, el bit RBPU
Fig. 2.25 Bits del registro de configuracin
Sistemas con microprocesadores Parte II
Ing. Gerardo Collaguazo 79
(OPTION<7>) controla todos estos elementos, los cuales estn inhabilitados ante una condicin de reset. Estos
elementos pull-up son especialmente tiles cuando el microcontrolador va a colocarse en el modo de bajo consumo,
ya que ayudan a no tener las entradas flotantes, significando una reduccin en el consumo de corriente.
PALABRAS DE IDENTIFICACIN ID
Cuatro posiciones de la memoria de programa ubicadas en las direcciones (2000h 2004h) son diseadas como
posiciones para cdigos de identificacin o chequeo de suma (checksum ). Estas posiciones no son accesibles
durante ejecucin normal pero pueden ser escritas y ledas durante el proceso de grabacin.
Solo se usan los cuatro bits menos significativos de cada palabra de identificacin (ID), en donde se almacena un
valor que puede consistir en un nmero de serie, cdigos de identificacin, numeraciones secuenciales o aleatorias,
etc.
Sistemas con microprocesadores Parte II
Ing. Gerardo Collaguazo 80
AUTOEVALUACION
1. Consulte en los sitios de INTERNET 10 aplicaciones con Microcontroladores en diferentes reas.
2. De las 10 aplicaciones anteriores, saque un resumen de tres de ellas para presentarlas.
3. Podra indicar cules son las diferencias entre un sistema con microprocesador y un microcontrolador?
4. Tome la datasheet de los PIC16F628A, PIC16F819, PIC16F88, PIC16F87XA y establezca un cuadro
comparativo entre las diferentes prestaciones (diferencias y semejanzas).
5. Tome la datasheet del PIC16F876A y ATMEGA8. Estudie las diferencias y semejanzas y realice un cuadro
comparativo.
6. Si se tiene cierta aplicacin que disear, qu consideraciones tcnicas tomara en cuenta para seleccionar
un microcontrolador?
7. Si tendra que elegir entre un microcontrolador PIC y ATMEL. Cul de dos elegira? Argumente su
decisin.
8. Qu componentes bsicos tiene en su interior un microcontrolador PIC?
9. Cuntos tipos de osciladores acepta un PIC16F628A, y cul es la velocidad de trabajo de este PIC?
10. Qu funcin tiene el registro de estados? Explique la funcin de los bits: Z, C, RP0 y RP1.
11. Cules son las posibles causas para el RESET de un microcontrolador? Explique cada una de ellas.
12. Qu funcin realizan los registros de funcin especial: TRISx, PORTx, CMCON?
13. Qu funcin cumplen: ALU, Registro W, la Pila, las direcciones 0 y 4 del la memoria de programa?
Explique cada uno de ellas.
14. Qu caracterstica presenta el pin RA4 del PIC16F628A? Cmo se le conectara al ser configurado como
salida a un LED?
15. Para qu sirve la palabra de configuracin? Indique las maneras existentes para su configuracin.
16. Por qu el Registro PC tiene 14 bits y cul es su funcin?
17. La memoria RAM contiene los datos temporalmente. Desde qu posicin est disponible para el usuario
y de qu cantidad dispone?
18. Para qu sirven las resistencias Pull-Up internas, en que puertos se encuentran y en donde se habilitan?
Indique qu sucedera en el caso que estn las Pull-Up internas activas y se conectan otras externas?
19. Suponiendo que un perifrico de salida necesita para su funcionamiento ms de 25mA en el pin, qu
solucin dara para evitar que se queme el pin en mencin? Realice un diagrama y explique.
20. Indique la secuencia de encendido de un microcontrolador PIC.
Sistemas con microprocesadores Parte II
Ing. Gerardo Collaguazo 81
BIBLIOGRAFIA
1. Sanchez, Julio y Canton, Mara, Microcontroller Programming, The Microchip PIC, Ed. CRC Press,
New York 2007.
2. Bates, Martin, Interfacing PIC Microcontollers- Embedded Desing by Interactive Similation, Ed.
Elsevier 2006.
3. Barret, Steven y Pack, Daniel, Microcontrollers Fundamentals for Engineers and Scientists, Ed. M&C,
EEUU 2006.
4. Ibrahim, Dogan, Microcontroller Based Applied Digital Control, Ed. John Wiley and Sons, West Sussex
2006.
5. Angulo Usategui, Jos, Laboratorio de Prcticas de Microelectrnica, Vol.II, Ed. McGraw-Hill, Madrid
2002.
6. Vallejo, Horacio, Microcontroladores PIC Funcionamiento, Programacin, Diseos, Ed. Quark,
Buenos Aires 2002.
7. Vallejo, Horacio, Todo sobre PICs. Microprocesadores y Microcontroladores, Ed. Quark, Buenos Aires
2001.
8. Mike Predko, Programming and Customizing PICmicro Microcontrollers, 2da. Edicin, Toronto 2000.
9. Angulo Usategui, Jos, Microntroladores PIC-Diseo prctico de aplicaciones, 2da. Edicin, Ed.
McGraw-Hill, Madrid 1999.
10. Nebojsa, Matic, PIC Microcontrollers for beginners, too! On line, www.mikroelectronika.co.yu
11. Duque, Edison, Curso avanzado de microcontroladores PIC, Ed. Cekit, Bogot 1998.
12. Campo Cerda, Manuel F., Implementacin de un sistema de desarrollo utilizando los
microcntroladores PIC Microchip Technology, Universidad de Guadalajara, Guadalajara 1998.
Revistas
1. Saber Electrnica No. 127, 128, 131.
2. Electrnica & Computadoras No. 42, 71.
3. Curso prctico de Electrnica Digital/Analgica.
Direcciones de INTERNET.
1. www.microchip.com Productos e informacin de los microcontroladores PIC.
2. www.mikoe.co.yu Entrenadores y libros on line de PICs.
3. www.x-robotics.com Informacin sobre LCDs, motores PAP, teclados, etc.
4. www.Redeya.com Historia del PIC.
5. www.monografias.com Todo tipo de temas relacionados al PIC.
6. www.todopic.com.ar Informacin de Proyectos con PICs.
7. www.usuarios.lycos.es Teora de microcontroladores PIC
8. www.geocities.com Teora PIC16Cxxx
Datasheets PI16F628A, PIC16F819, PIC16F87XA www.microchip.com

También podría gustarte