Microcontroladores. El 8051 de Intel
Transcript of Microcontroladores. El 8051 de Intel
-
Microcontroladores. El 8051 de la INTEL. 11
ndice. Tema 1 Microprocesadores, Microcomputadoras y Microcontroladores. 1.1 Introducindonos en el Tema. 1.2 Haciendo un poco de historia. 1.3 Principales fabricantes de Microcontroladores. 1.4 Los Microcontroladores por dentro. Tema 2 El microcontrolador 8051. 2.1 Los microcontroladores de la INTEL. 2.2 Los parientes cercanos, la Familia CMS - 52. 2.3 La Memoria Interna del microcontrolador 8051. 2.4 Las Instrucciones para trabajar con la Memoria Interna. Tema 3 El Repertorio de Instrucciones del 8051. 3.1 Moviendo un bloque de datos. 3.2 Repertorio de Instrucciones. Tema 4 Elementos imprescindibles en un sistema con el 8051. 4.1 Conociendo al microcontrolador 8051. 4.2 Dndole alimentacin al microcontrolador. 4.3 Sincronizando la operacin del microcontrolador. 4.4 Iniciando la operacin del microcontrolador. 4.5 Haciendo programas para el microcontrolador. Tema 5 Conectando dispositivos externos al microcontrolador. 5.1 Los Puertos del 8051. 5.2 El Puerto 1. 5.3 El Puerto 3. 5.4 El Puerto 2. 5.5 El Puerto 0. Tema 6 Desarrollando aplicaciones simples con el Microcontrolador 8051. 6.1 Tomando Decisiones. 6.2 Secuencia de Eventos. 6.3 Trabajando con Tablas. 6.4 Trabajando con Display a Cristal Liquido. 6.5 Trabajando con Teclas del tipo Push Botom. 6.6 Eliminando el efecto indeseable del Rebote. 6.7 Ejercicios Propuesto. Tema 7 La Interrupcin en el 8051.
-
Microcontroladores. El 8051 de la INTEL. 22
7.1 Encuesta o Interrupcin. 7.2 El Controlador Interno de Interrupciones del 8051. 7.3 Atendiendo a los dispositivos que solicitan Interrupcin. 7.4 El proceso de interrupcin en el Microcontrolador. Tema 8 Sincronizando eventos impredecibles en el tiempo. 8.1 Atendiendo una Tecla del tipo Push Botom por Interrupcin. 8.2 Termmetro Digital. 8.3 Sincronizando la llegada de datos desde un Teclado ASCII-Paralelo. 8.4 Generador de avisos Tema 9 Los Temporizadores del 8051. 9.1 Los Temporizadores por dentro. 9.2 Los Registros TMOD y TCON. 9.3 Contando tiempo o eventos. 9.4. Los Modos de Trabajo de los Temporizadores. 9.5 Los Temporizadores y la Interrupcin. Tema 10 El Puerto Serie Asincrnico empotrado en el Microcontrolador 8051. 10.1 El Puerto Serie Asincrnico del 8051. 10.2 Los Modos de Operacin del Puerto Serie del 8051. Tema11 Aplicaciones de mediana complejidad con el Microcontrolador 8051. 11.1 Frecuencimetro Digital. 11.2 Controlador de Semforo. 11.3 Medidor de la Velocidad y de la Direccin del Viento. 11.4 Mural Dinamico. Tema 12 El Microcontrolador 8051 trabaja como Microprocesador. 12.1 Los Buses Externos del Microcontrolador 8051. 12.2 Modo Especial de Trabajo del Microcontrolador 8051. 12.3 Instrucciones para el trabajo con Memoria de Datos Externa. 12.4 Ejemplo de sistema expandido. 12.5 Diseo de un Data Logger. 12.6 Diseando con el Microcontrolador 8031.
-
Microcontroladores. El 8051 de la INTEL. 33
Tema 1. Microprocesadores, Microcomputadoras y Microcontroladores. 1.1 Introducindonos en el Tema. Cuando en al ao 1971 la Compaa norteamericana INTEL irrumpa en el mercado con un circuito
integrado digital cualitativamente nuevo a los existentes hasta ese momento, al que se le llamo
Microprocesador, comenzaba una nueva era en el diseo de los sistemas digitales. Ahora el
diseador contaba para sus diseos con un circuito que las tareas que realizaba venan dadas por
un programa desarrollado a partir de un conjunto de instrucciones que le brindaba el fabricante
para trabajar con dicho circuito.
Esto permiti traer al campo del diseo de los sistemas digitales tcnicas hasta ese momento
exclusivas para el diseo de las granes computadoras y las minicomputadoras. Se poda decir que
el diseador contaba con una computadora para resolver su aplicacin.
Por su puesto en los primeros aos los recursos que adornaban a un microprocesador dado
estaban limitados, fundamentalmente en cuanto a capacidad de memoria para almacenar los
programas y los datos y con la velocidad de procesamiento, quizs de ah viene el nombre de
Microprocesador. Esta situacin no duro mucho y con relativa rapidez salan nuevas versiones de
microprocesadores, cada uno de ellos aventajando a su antecesor en cuanto a estos dos aspectos
tan importantes. Esto fue propiciando la idea de emplear fundamentalmente a los
microprocesadores en el desarrollo de Computadoras de Propsito General cada vez ms potentes
y con precios muy competitivos. A estos nuevos sistemas se le dio el nombre de
Microcomputadora.
No obstante, quedaba un gran campo de aplicaciones, fundamentalmente en la instrumentacin y
el control automtico, que dada la envergadura de los mismo no se ajustaba el empleo de las
nuevos sistemas en su solucin. Nuevamente INTEL se percata de este segmento del mercado al
que no se ajustaba el desarrollo vertiginoso que iban tomando los microprocesadores y saca a
mediados de la dcada de los aos 70 un circuito integrado con caractersticas muy similares a
estos a los que les dio el nombre de Microcomputadora en una Pastilla. As surge al mercado la
familia CMS-48 de la que constituye su principal representante el 8748. Estos circuitos
constituyeron la gnesis de los circuitos que hoy se conocen con el nombre de Microcontroladores.
A partir de este momento, el nmero de productos en el mercado que funcionan en base a uno o
varios microcontroladores aumenta de forma exponencial y prcticamente no quedan campos de la
vida actual en los que no encontremos equipos gobernados por el programa que se ejecuta en uno
de estos dispositivos.
-
Microcontroladores. El 8051 de la INTEL. 44
Dentro del propio campo de las Microcomputadoras, aparente territorio dominado por los
Microprocesadores, encontramos cada da ms la presencia de estos circuitos donde casi todos
sus perifricos basan su funcionamiento en el programa ejecutado por un Microcontrolador.
Ejemplo de algunos de estos dispositivos que podemos mencionar. lo constituyen el mouse, el
teclado, la impresora, etc.
Los Microcontroladores han irrumpido tambin con fuerza en nuestras casas, fundamentalmente
en los equipos llamados electrodomsticos que basan su funcionamiento en estos circuito. Ejemplo
de ello son, las lavadoras, los hornos, los televisores, los videos, los equipos de msica, los
sistemas de alarmas, etc. Segn publicaciones especializadas en esta temtica en los Estados
Unidos se prev que para el ao 2010 en una casa tpica de este pas se encuentren aplicados
aproximadamente entre 100 y 150 microcontroladores controlando la operacin de diferentes
elementos de la misma.
Dentro del propio campo de las construcciones, cuando hablamos de edificios INTELigentes
encontramos en los sistemas de supervisin y vigilancia la presencia de estos circuitos para
optimizar el rendimiento de ascensores, calefaccin, alarmas de incendio, robo, etc.
Otros campos de aplicacin lo constituyen:
Los aparatos porttiles y de bolsillo. Las Mquinas expendedoras y juguetera. La Instrumentacin. La Industria de automocin. El Control industrial. La Robtica. La Electromedicina. Los Sistema de navegacin espacial. La Domtica.
Por lo que se puede decir sin temor a equivocarnos que, hoy en da ningn especialista que se
dedique al diseo de sistemas digitales puede estar ajeno al desarrollo de los Microcontroladores y a como se esta moviendo el mercado cada vez ms amplio y competitivo de estos circuitos.
En este momento darle respuestas a las siguientes preguntas podra constituir un elemento
imprescindible para poder seguir adelante en el estudio de los Microcontroladores.
-
Microcontroladores. El 8051 de la INTEL. 55
Que es un Microcontrolador?, Que lo diferencia de un Microprocesador? Qu diferencia existe entre un Microcontrolador y los tan conocidos y populares Microprocesadores? Definamos primeramente al Microprocesador. Definiremos como microprocesador a un Circuito
Integrado de Muy Alta Escala de Integracin, VLSI, que contiene una Unidad Central de Procesos,
una Unidad Aritmtico y Lgica y un conjunto de Registros, al que se le pueden conectar
externamente Mdulos de Memoria y de Puertos de Entrada/Salida, lo que permite la configuracin
de un Computador mediante la interconexin de varios circuitos integrados. Un Repertorio de
Instrucciones propio y definido por el fabricante le permitir al diseador configurar el programa,
que almacenado en uno de los Mdulos de Memoria ser ejecutado por el microprocesador y
gobernar las operaciones de este y del Computador. Es comn llamar a este Computador, como
ya se defini anteriormente, Microcomputadora.
Por su parte, podramos decir que un Microcontrolador es la versin industrial de un
Microprocesador, donde la preocupacin de los fabricantes no esta tanto en el aumento de la
capacidad de almacenamiento y de procesamiento, sino en brindar un conjunto de recursos
integrados en el circuito que constituyan elementos significativos a la hora de enfrentar la solucin
de una aplicacin dada. Algunos de estos circuitos lo constituyen:
Memoria no voltil para contener el programa para la aplicacin dada. Memoria de lectura y escritura para guardar datos. Lneas de Entrada/Salida digitales que agrupadas en forma de Puertos permiten la
conexin de los diferentes elementos que conforman la aplicacin.
Circuito de reloj interno. Temporizadores. Modulos de Captura. Puertos Series Sincronicos y Asincronicos. Perro guardin. Convertidores A/D y D/A.
Un Microprocesador es un sistema abierto con el que el diseador puede construir su
Microcomputadora con las caractersticas que el desee, mediante el acople de los circuitos necesarios, ver Figura 1.1.1 a, mientras que un Microcontrolador es un sistema cerrado, que
contiene un computador completo, de prestaciones limitadas, el que no puede ser modificado por
el diseador, ver Figura 1.1.1 b.
-
Microcontroladores. El 8051 de la INTEL. 66
Esta diferencia marca las posibilidades que brindan cada uno de estos dispositivos al diseador
para la solucin de sus aplicaciones. Mientras que un Microcontrolador puede resolver
determinadas aplicaciones por si solo sin la necesidad de ayuda de otros componentes en el
sistema, los Microprocesadores siempre necesitan de otros dispositivos que lo apoyen en la solucin de una aplicacin dada por muy pequea que esta sea.
FFigura 1.1.1 (a) Microcomputadora basada en un Microprocesador.
(b) Microcontrolador. Esto que aparenta favorecer a los microcontroladores sobre los microprocesadores a la hora de
escoger con cual resolver una aplicacin dada no resulta de esta manera en todos los casos.
Debemos tomar en consideracin tambin para podernos hacer un juicio justo que permita
establecer una comparacin correcta los recursos limitados con que cuentan, que por lo general,
los Microcontroladores y la facilidad de expansin y modificacin con que cuentan los Microprocesadores. Por lo que una buena pregunta a la que deberamos intentar dar respuesta en
este momento lo podra constituir.
Cundo utilizar un Microcontrolador y cuando utilizar un Microprocesador para solucionar una aplicacin dada? Como pasa siempre en la ingeniera no existe una receta que al usted aplicarla le de la respuesta
deseada para cualquier tipo de aplicacin. No obstante, nos atreveremos a brindarle los dos
consejos siguientes:
-
Microcontroladores. El 8051 de la INTEL. 77
Si la aplicacin a resolver es lo suficientemente pequea que permita ser resuelta solo con los recursos internos del microcontrolador y no se prev su expansin futura, no vacile,
resuelva la aplicacin con un sistema basado en el Microcontrolador en cuestin.
Si la aplicacin a resolver no es lo suficientemente pequea como para ser resuelta solo con los recursos internos del Microcontrolador y por lo tanto este necesita de dispositivos
que lo apoyen y que le deben ser conectados externamente o su ampliacin futura en un
corto plazo esta prevista, tome papel y lpiz y saque cuenta de que le resulta mas
econmico.
Por su puesto nunca usted debe olvidar los campos de aplicacin para los que son concebidos los
Microcontroladores por parte de los fabricantes, ya que estos brindan todo un conjunto de facilidades al diseador y al programador en la solucin de dichas aplicaciones.
El estado del arte actual en la fabricacin de Microcontroladores y Microprocesadores no es ms que el reflejo del desarrollo tecnolgico alcanzado por las compaas que se dedican a la
fabricacin de estos dispositivos. Este desarrollo ha permitido el aumento de forma creciente de la
cantidad de transistores por unidad de rea en los circuitos integrados permitiendo que estos
dispositivos realicen tareas ms complicadas. Este proceso fue predicho por Moore en fecha tan
temprana como a mediados de la dcada de los aos 60 cuando defini lo que ms tarde se
conoci como la Ley que lleva su nombre en la que predeca, del punto de vista cuantitativo, a que
velocidad iba a ocurrir este desarrollo. Moore planteo que, ...el nmero de transistores por mm 2 en un circuito integrado se duplicara cada 2 aos. Esta ley se ha venido cumpliendo con una buena precisin tal y como lo muestra la grafica de la figura 1.1.2.
Figura 1.1.2 Progresin de la integracin de transistores por mm 2 en un circuito integrado. Ley de Moore.
-
Microcontroladores. El 8051 de la INTEL. 88
Les proponemos con el objetivo de lograr un mejor entendimiento del tema que estamos
estudiando conocer algunos elementos de inters en el desarrollo de los microprocesadores y de
los microcontroladores a partir del estudio de la evolucin que han ido teniendo estos dispositivos
desde su surgimiento hasta hoy.
1.2 Haciendo un poco de historia. Como ya mencionamos hacia el ao 1971 una Compaa de los Estados Unidos, llamada INTEL,
especializada en aquel entonces en la construccin de circuitos integrados de mediana escala de
integracin anuncio la salida al mercado de un circuito integrado de nuevo tipo, el 4004, al que
dieron el nombre genrico de microprocesador.
Qu tenia de nuevo y diferente este circuito integrado comparado con los ya existentes hasta ese momento? El mercado digital hasta ese momento estaba dominado por los circuitos integrados de baja y
mediana escala de integracin con tecnologa de fabricacin Bipolar TTL y MOS. Los diseos de
sistemas digitales consistan en la conjuncin de compuertas lgicas, multivibradores, contadores,
registros desplazamiento, almacenadotes, etc., alambrados dentro de una placa de circuito
impreso. Estos circuitos integrados, dada sus caractersticas constructivas, respondan a un modo
de operacin nico e imposible de cambiar por el diseador una vez construidos, lo que converta a
los diseos en sistemas rgidos, imposibilitando su utilizacin en la solucin de otras aplicaciones
ligeramente diferentes. Se podra decir que, cada aplicacin tena un circuito para su solucin y
cada circuito solucionaba una aplicacin dada.
El microprocesador tena la caracterstica de que la funcin que realizaba dependa no solo de sus
caractersticas constructivas sino que dependa fundamentalmente de un programa almacenado
fuera de dicho circuito desarrollado por el diseador, donde este moldeaba las funciones que
quera que este realizara, lo que brindaba gran flexibilidad a los nuevos diseos. Ahora con un
mismo hardware se podan realizar muchas funciones con solo cambiar el programa que
gobernaba dicho hardware.
Para el ao, 1974, INTEL saca al mercado el microprocesador 8080, microprocesador de 8 bits,
con 78 instrucciones en su repertorio de instrucciones y capacidad de memoria para almacenar
programas y datos de 65 536 localizaciones, el que a la postre constituy el primer
microprocesador utilizado de forma masiva en el diseo de sistemas para la solucin de
aplicaciones en los ms dismiles campos, lo que marco el comienzo de una nueva era,
cualitativamente superior, en el diseo digital.
-
Microcontroladores. El 8051 de la INTEL. 99
A partir de este momento comienza una carrera vertiginosa en el desarrollo de nuevos
microprocesadores en la cual no se encontraba ya solo INTEL sino que se le fueron incorporando
nuevas Compaas en la lucha por el gran mercado que se comenzaba a perfilar. De esta forma
aparece ZILOG con su microprocesador Z80, para muchos el microprocesador de 8 bits ms
potente y muy utilizado en el diseo de equipos, asi como Motorola con su microprocesador de 8
bits 6800 por solo mencionar a dos.
El ao 1976 marca la salida al mercado del primer microprocesador de 16 bits, el 8086, siendo
nuevamente INTEL la compaa productora. Con mayor velocidad de operacin, repertorio de
instrucciones ms completo y capacidad de almacenamiento de programas muy superior al de sus
antecesores, anunciando la temprana entrada de los microprocesadores en el diseo de
Computadoras Digitales de Propsito General.
El ao 1980 con la irrupcin en el mercado de la Microcomputadora IBM-XT de la Compaa IBM,
basado en un microprocesador de 16 bits interno y de 8 bits externo, el 8088 de INTEL, diseado
por encargo especficamente para este objetivo comenz lo que se ha dado en llamar la era de las
Microcomputadoras dentro del desarrollo de los microprocesadores la que se extiende hasta el da
de hoy.
A partir de este momento los nuevos microprocesadores van saliendo al mercado y van siendo
conocidos a partir de la microcomputadora basada en el mismo. As la dcada de los 80 estuvo
marcada por las microcomputadoras 80286 y 80386, basadas en los microprocesadores del mismo
nombre, comenzando con este ultimo la era de los microprocesadores de 32 bits y la dcada de los
90 por las microcomputadoras 80486 y Pentium, comenzando con este ultimo la era de los
microprocesadores de 64 bits.
En la actualidad las diferentes versiones de microcomputadoras basadas en un nmero igual de
versiones de microprocesadores Pentium caracterizan el mercado del diseo de las
Microcomputadoras Digitales.
Dnde encajan en esta historia los Microcontroladores? Con el surgimiento de los primeros microprocesadores se convirti en un sueo para muchos
diseadores de Circuitos Integrados, entre ellos INTEL, el poder integrar en un solo circuito todos
los elementos que conforman una Computadora Digital. Este sueo tuvo su primera materializacin
hacia el ao 1976 en el que esta compaa saca al mercado un circuito integrado al que dio el
-
Microcontroladores. El 8051 de la INTEL. 1100
nombre de Microcomputadora en una Pastilla 8048 el que constituye el antecedente primario de los
microcontroladores.
Esta Microcomputadora en una Pastilla se encontraba muy limitada en cuanto a la capacidad de
almacenamiento interno tanto de los programas como de los datos por lo que la idea original de
construir una microcomputadora basada en el mismo fue dndole paso a la de utilizarlo como
controlador de los perifricos que se le conectaban a la misma. As encontr aplicacin como
controlador de la operacin de los Teclados, en el control de la operacin de las impresoras, de los
ploteadores, etc.
A esta Microcomputadora en una Pastilla se le fueron agregando funciones muy tiles para
desarrollar aplicaciones de instrumentacin y control en la industria, surgiendo de esta forma la
versin industrial de las Microcomputadoras en una Pastilla, los Microcontroladores. As salen al
mercado en la dcada de los 80 la familia de microcontroladores de 8 bits de la INTEL, el 8051, y
mas tarde la familia de microcontroladores de 16 bits de la misma compaa el 8096/80196. Estos
dispositivos produjeron un obvio beneficio en aplicaciones pequeas siendo su caracterstica mas
sobresaliente la de constituir sistemas integrados.
Es incuestionable el aumento casi exponencial de nuevos productos en el mercado basados en
nuevos Microcontroladores. Mientras que los diseadores de Microprocesadores se han dedicado
a aumentar las posibilidades y velocidad de los mismos pensando en mejores y ms potentes
Microcomputadoras y poniendo la vista en el desarrollo de grandes redes de comunicacin
mediante este dispositivo, un segmento del mercado, nada despreciable, ha sido ocupado de
forma creciente por los Microcontroladores.
Es como si el mercado se hubiera dividido en dos partes muy bien definidas:
Produccin de Microcomputadoras en todas sus variantes, basadas en Microprocesadores cada vez ms potentes.
Produccin de equipos para aplicaciones a la medida, basados en Microcontroladores cada vez ms verstiles.
Esto ha incorporado a un gran nmero de las compaas tradicionales productoras de
Microprocesadores a acompaar a la INTEL en la produccin de Microcontroladores como son los
casos de la Motorola, la Zilog, etc., y en otros casos a que surjan nuevas compaas a competir por
el mercado como es el caso de la Microchip y de la Atmel.
Todo esto a trado una nueva disyuntiva a los diseadores de equipos para solucionar aplicaciones
a la medida,
-
Microcontroladores. El 8051 de la INTEL. 1111
Cul Microcontrolador escoger a la hora de implementar mi aplicacin? Dmosle una vista a algunos de los principales fabricantes de Microcontroladores y a sus
productos para irnos aclarando la respuesta a esta pregunta.
1.3 Principales fabricantes de Microcontroladores. Se considera a INTEL como una de las Compaas lideres a nivel mundial en la fabricacin de
Microcontroladores, constituyendo su familia de microcontroladores de 8 bits CMS-51, del cual el
8051 es su ms conocido representante, uno de las mas utilizados en la solucin de aplicaciones
en la industria. Con una arquitectura interna del tipo Von Newman con la memoria de datos
segregada, los microcontroladores de esta compaa brindan un repertorio de instrucciones muy
completo en el que se incluyen instrucciones de multiplicacin, divisin, ajuste decimal, etc. Sus
posibilidades de expansin externa son amplias permitindole llegar a conformar sistemas donde
la capacidad de memoria de programas y de datos que puede manejar es superior a las que le
estaban permitidas manejar a la mayora de los microprocesadores de 8 bits.
Quizs debido a que la lnea de fabricacin de Microcontroladores en la INTEL constituye
realmente una produccin de fondo de esta compaa las herramientas que esta brinda para la
puesta a punto de los sistemas fabricados con este microcontrolador no son de las mejores en el
mercado. No obstante, dada su amplia utilizacin otras compaas proveen herramientas muy
tiles en este sentido.
Otra caracterstica de esta familia de microcontroladores de la INTEL es la de contar con
numerosas segundas fuentes de compaas que brindan microcontroladores con caractersticas
similares a los de esta familia. Ejemplos de ello lo constituyen la Philips y la Atmel.
La Philips cuenta con una gran variedad de microcontroladores, con la caracterstica fundamental
de constituir versiones de la familia CMS-51, ofertando relaciones de potencia/costo muy
ventajosas para sus aplicaciones. La Philips a incorporado a estos microcontroladores la
posibilidad de utilizar su bus serie sincrnico I2C para la expansin de las posibilidades del
microcontrolador de poder trabajar conjuntamente con otros dispositivos en la solucin de una
aplicacin dada.
Por su parte la Atmel se ha hecho eco de la incorporacin a sus microcontroladores de las tan
cmodas memorias de almacenamiento permanente del tipo Flash, con lo que se aumenta
significativamente la flexibilidad de los diseos basados en los microcontroladores de esta
compaa. Esta compaa tambin brinda una gran variedad de microcontroladores que
constituyen versiones de los microcontroladores de 8 bits de la INTEL, encontrndonoslo con
-
Microcontroladores. El 8051 de la INTEL. 1122
empaquetados con diferente nmero de terminales y con diferentes combinaciones de circuitos
empotrados en el microcontrolador.
Otra de las principales empresas del mundo de dispositivos programables, Motorola, que dispone
del potente microcontrolador 68HC11, muestra una gran variedad de aplicaciones resueltas
basadas en este Microcontrolador.
Los microcontroladores PIC de la compaa Microchip se emplean en la actualidad cada vez ms
debido a su reducido consumo, bajo costo, pequeo tamao, facilidad de uso y la abundancia de
informacin y herramientas de apoyo, as como la gran variedad de dispositivos que fabrican de
forma tal que se puede decir, sin temor a equivocarnos, que para cada aplicacin que usted
necesite resolver, usted encontrar entre los microcontroladores de la Microchip el que se ajusta a
sus necesidades con una relacin beneficio / costo de las ms ventajosas entre todos los
microcontroladores.
Empleando una arquitectura interna del tipo Hardvar, lo que le permite contar con ancho de bus
diferentes para cdigos y datos, subdivide sus microcontroladores en tres grandes gamas, la baja,
la media y la alta, con prestaciones muy interesante para los diseadores. Basado en un repertorio
de instrucciones reducido, entre 32 y 35 instrucciones en dependencia de la gama a la que
pertenezca el microcontrolador, le permite incorporar todas las ventajas que representa para el
programador el poder trabajar con un microprocesador del tipo RISCH. No obstante, la subdivisin
de la memoria de datos en bancos, y la necesidad de conmutar entre bancos para trabajar con los
registros y la memoria de datos puede resultar un tanto complicada y poco estimulante para los
principiantes en el diseo con estos microcontroladores.
Tambin Zilog ha irrumpido con fuerza en el mercado de los microcontroladores. Recientemente ha
lanzado algunos modelos con memoria OTP de la familia Z86XX, muy completos y fciles de
manejar.
Otras empresas como SGS - Thomson, Hitachi, Texas, Toshiba, Nacional Semiconductor, etc.,
abarcan pequeas partes del mercado con sus microcontroladores los que relacionamos en la
siguiente lista:
HITACHI HD64180
SGS-THOMSON (ST) ST-62XX
NATIONAL SEMICONDUCTOR COP8
TEXAS INSTRUMENTS TMS370
TOSHIBA TLCS-870
-
Microcontroladores. El 8051 de la INTEL. 1133
INFINEON C500
DALLAS DS5000
NEC 78K
Como se puede observar, cada fabricante de Microcontroladores oferta un elevado nmero de
modelos diferentes, desde los ms sencillos hasta los ms complejos. Esto que podra representar
un dolor de cabeza para los diseadores al tener que escoger entre tantas posibilidades cual es el
microcontrolador que ms se ajusta a su aplicacin, realmente constituye una gran ventaja ya que
al diseador le es posible seleccionar, tomando en cuenta la capacidad de la memoria de
programa y de datos, el nmero de lneas de Entrada/Salida digitales y analgicas, el tipo y la
cantidad de elementos auxiliares y la velocidad de funcionamiento necesarios para resolver su
aplicacin, prcticamente el microcontrolador a la medida logrando precios muy ventajosos.
Por su puesto para poder hacer una seleccin adecuada se hace necesario conocer las
caractersticas fundamentales de todos los microcontroladores que se producen en la actualidad,
cosa esta prcticamente imposible por la gran cantidad de fabricantes, versiones y por la velocidad
en que van apareciendo nuevos productos en el mercado. En la prctica los diseadores basan
sus diseos en uno o dos fabricantes, tomando en cuenta no solo las posibilidades de los
Microcontroladores que estos fabrican y sus precios, sino tomando en cuenta tambin el contar con
las herramientas que le permitan la puesta a punto de sus productos lo ms rpido posible.
Por lo tanto cuando usted va a emprender el diseo de un circuito para la solucin de una
aplicacin dada y se ha decidido por basar este diseo en un microcontrolador, ante de escoger
con cual de ellos lo va a llevar a cabo tome en cuenta los siguientes aspectos:
Con que herramientas de puesta a punto del hardware y del software cuento para llevar a cabo mi tarea. Tenga siempre presente que comprar herramientas para la puesta a punto
de sistemas basado en un microcontrolador cualquiera cuesta por lo general mucho ms
que el gasto incurrido en la materializacin del circuito que nos proponemos construir.
Cantidad y fiabilidad de la informacin con que cuento. Existencia de suministrador y de segundas fuentes. Relacin beneficio / costo.
Ya tenemos una visin de las diferencias que existen entre un Microprocesador y un
Microcontrolador, as como la importancia cada vez creciente de estos ltimos en el diseo de
sistemas para la solucin de una aplicacin dada. Hemos visto tambin la gran variedad de
microcontroladores que se fabrican en la actualidad por un nmero muy grande de compaas en
el mundo, cada uno de ellos con sus propias caractersticas y ventajas. Por su puesto solo
-
Microcontroladores. El 8051 de la INTEL. 1144
estamos comenzando a adentrarnos en este tema y una buena pregunta a darle respuesta para
poder continuar podra ser la siguiente,
Cuando tengo un Circuito Integrado delante, Cmo saber que me encuentro en presencia de un Microcontrolador?
1.4 Los Microcontroladores por dentro. Generalmente cuando tenemos un circuito integrado delante y queremos saber que funcin realiza
buscamos en el manual que entrega el fabricante y hay conocemos las caractersticas tanto
funcionales como elctricas del circuito al que nos estamos enfrentando, de igual forma
procederamos en el caso que el circuito integrado en cuestin resulte ser un microcontrolador. Si
el manual no esta a tu alcance los fabricantes de microcontroladores entregan los data sheet de
sus circuitos en ficheros nombre.pdf que por lo general son accesibles a travs de la pagina web
de dichas compaas, por lo que con la sola lectura de la primera pagina de dicho data sheet
sabremos si nos encontramos en presencia de un microcontrolador o no. Por lo que esto no
constituir el aspecto fundamental en este tema sino, en que conozcamos cuales son las
caractersticas y circuitos que nos podemos encontrar cuando estamos en presencia de un
microcontrolador.
La Arquitectura interna. Como ya se explico anteriormente, un Microcontrolador es un computador completo, limitado en
cuanto a las prestaciones que brinda, contenido en un chip de circuito integrado y que se designa
para gobernar una sola tarea, lo que lo hace un controlador dedicado. En su memoria de programa
interna solo reside un programa destinado a gobernar una aplicacin determinada. Sus lneas de
Entrada/Salida soportan el conexionado de los sensores y actuadotes del dispositivo a controlar.
Una vez configurado y programado el microcontrolador solamente sirve para gobernar la tarea
asignada.
Por regla general un microcontrolador posee todos los componentes de un computador, pero con
caractersticas fijas que no se pueden alterar. Estos elementos constituyen partes imprescindibles
en cualquier microcontrolador al que nos enfrentemos. Estas partes comunes son:
Procesador o Unidad Central de Proceso (CPU). Unidad Aritmtico y Lgica (ULA) Memoria no voltil para contener el programa. Memoria de lectura y escritura para guardar los datos.
-
Microcontroladores. El 8051 de la INTEL. 1155
Lneas de Entrada/Salida para los perifricos.
Un conjunto de circuitos adicionales adornan a los diferentes microcontroladores en dependencia
de sus particularidades y constituyen circuitos que lo caracterizan. Estas funciones pueden estar
presentes o no en dependencia del microcontrolador que nos estemos enfrentando. Estos circuitos
auxiliares son:
Oscilador interno. Temporizadores. watch doog o perro guardin. Convertidores A/D y D/A. Mdulos de captura.
El Procesador o Unidad Central de Procesos es el elemento ms importante del microcontrolador
tanto a nivel hardware como software. Se encarga de direccionar la memoria de programa, recibir
el cdigo de la instruccin en curso, efectuar su decodificacin y efectuar la ejecucin de la
operacin aritmtica o lgica con ayuda de la Unidad Aritmtico y Lgica que implica dicha
instruccin, as como la bsqueda de los operandos y el almacenamiento del resultado.
La comunicacin entre las diferentes secciones internas del microcontrolador con la unidad Central
de Procesos se efecta a travs de un conjunto de lneas internas denominadas buses que
posibilitan el movimiento de direcciones, datos y seales de control. Estas lneas tomando en
cuenta la funcin que realizan se dividen en tres grupos o buses tal y como ocurre en los sistemas
a microprocesadores:
Bus de datos. Se emplea para transferir los datos y los cdigos de las instrucciones entre la memoria y la Unidad Central de Procesos. El nmero de lneas de este bus es igual a la
longitud de palabra del dispositivo y es lo que define si el microcontrolador es de 8 o 16
bits.
Bus de direcciones. Permite transferir informacin de direcciones, a travs de estas lneas la Unidad Central de Procesos enva la direccin que caracteriza al dispositivo con
que quiere efectuar una operacin, ya sea memoria de programa, memoria de datos o
dispositivo de entrada / salida. El nmero de lneas en el bus de direcciones determina el
nmero de posiciones de memoria, tanto de programa como de dato, que el
microcontrolador puede especificar. Un bus de direcciones de 8 lneas sera capaz de
especificar 256 direcciones diferentes.
-
Microcontroladores. El 8051 de la INTEL. 1166
Bus de control. El procesador utiliza las lneas del bus de control para sincronizar las operaciones entre los diferentes componentes as como conocer el estado en que se
encuentran algunos dispositivos.
No todos los fabricantes de microcontroladores conectan internamente sus circuitos internos a
travs de los buses de la misma forma y por lo general cada uno define su propia Arquitectura
Interna. En el caso de los microcontroladores de INTEL esta compaa adopto como Arquitectura
Interna la misma que haba definido para sus microprocesadores, la arquitectura conocida como de
Von Newman, la que recibe su nombre del especialista que la propuso en los albores del diseo de
las Grandes Computadoras.. Esta arquitectura se caracteriza porque la Unidad Central de
Procesos es conectaba a una memoria nica donde coexistan tanto los datos como las
instrucciones a travs de un sistema de buses comn, ver Figura 1.4.1.
Figura 1.4.1. Estructura interna de un Microcontrolador con arquitectura Von Newman.
Los sistemas con arquitectura Von Newman al dedicar un mismo bus de datos para mover la
informacin entre la unidad central de procesos y la memoria de programa y de datos provocan
que el ancho de banda de ambas memoria tenga que ser igual, por lo que el numero de bits
dedicado a representar el cdigo de una instruccin tenga que coincidir con el nmero de bits con
que dicha unidad esta habilitada para manejar los datos. Esto trae como consecuencias la
necesidad de que los cdigos de algunas de las instrucciones tengan la necesidad de ser
almacenados en ms de una localizacin en la memoria de programas, provocando los siguientes
inconvenientes:
No coincide el nmero de instrucciones de un programa con el nmero de localizaciones de memoria que este necesita para su almacenamiento.
No todas las instrucciones consumen el mismo tiempo para su ejecucin.
-
Microcontroladores. El 8051 de la INTEL. 1177
La necesidad de conseguir rendimientos elevados en el procesamiento de las instrucciones y en
aprovechar al mximo la capacidad de almacenamiento interno de dichas instrucciones ha
desembocado en el empleo generalizado de procesadores de arquitectura Harvard, nombre que
recibe dicha arquitectura al ser desarrollada en dicha universidad de los Estados Unidos. En esta
arquitectura la memoria de programas y la memoria de datos son independientes y cada una
dispone de su propio sistema de buses para el acceso, ver Figura 1.4.2.
Figura 1.4.2. Estructura interna de un Microcontrolador con Arquitectura Harvard.
Esta caracterstica permite que el ancho de banda de ambas memorias pueda ser diferente
permitiendo la representacin de los cdigos con un nmero de bits diferentes, por lo general
superior, que los empleados para representar los datos, con lo que se ahorra espacio para
almacenar los programas.
Ahora los inconvenientes vistos en la arquitectura Von Newman parecen estar solucionados al
tener los fabricantes la posibilidad de aumentar el nmero de bits posibles a almacenar en cada
localizacin de memoria de programas de forma tal que para almacenar el cdigo de una
instruccin solo se necesite de una localizacin de memoria, logrando con ello:
Coincide el nmero de instrucciones de n programa con el nmero de localizaciones de memoria de programa necesarias para almacenarlos.
Salvo excepciones, todas las instrucciones consumen el mismo tiempo en su ejecucin.
-
Microcontroladores. El 8051 de la INTEL. 1188
Otra consecuencia del empleo de una u otra arquitectura a la hora de disear el microcontrolador
lo constituye:
Los Microcontroladores con arquitectura Von Newman no estn capacitados para que el procesador efectu dos operaciones de forma simultnea, como puede ser, traer el cdigo
de la prxima instruccin a ejecutar de la memoria de programa y escribir el resultado de la
instruccin en curso en la memoria de datos al utilizar el mismo bus para ambas
operaciones.
Por su parte los microcontroladores con arquitectura Harvard, al tener buses de datos para la memoria de datos y de programas separados, estn capacitados para efectuar estas dos
operaciones de forma simultnea con lo que se logra reducir el tiempo de ejecucin de los
programas.
En la figura 1.4.3 se muestra la Arquitectura Interna del Microcontrolador de la INTEL 8051, la que
se corresponde con la Arquitectura Von Newman, mientras que en la Figura 1.4.4 se muestra la
Arquitectura Interna del Microcontrolador 16F873 de la Microchip, la que se corresponde con la
Arquitectura Harvard.
Figura 1.4.3. Arquitectura Interna del Microcontrolador 8051.
-
Microcontroladores. El 8051 de la INTEL. 1199
Figura 1.4.4. Arquitectura Interna del Microcontrolador de la Microchip de la Gama Media PIC16F873. Al observar la arquitectura interna del Microcontrolador de la 8051 puede llamar a confusin que
aparecen separadas la memoria de datos de la memoria de programa, ver Figura 1.4.3, lo que
podra ser contradictorio con lo que se haba definido como la arquitectura de Von Newman. No
obstante, aunque ambas memorias se encuentran separadas ambas se conectan con la Unidad
Central de Procesamiento a travs del mismo bus de datos, lo que resulta lo caracterstico en este
tipo de arquitectura. En este caso se define la 8051 como un microcontrolador con arquitectura
interna del tipo Von Newman, pero con la memoria de datos segregada. Ms adelante veremos las
consecuencias de esto.
Por su parte al observar la arquitectura interna del microcontrolador de la Microchip 16F873
podemos notar la existencia de un bus de datos de 14 bits que conecta a la memoria de programas
con la Unidad Central de Procesos a travs del cual se mueven los cdigos de las instrucciones a
ejecutar por el microcontrolador, mientras que otro bus de datos de 8 bits es el encargado de
mover los datos a todos los otros elementos que conforman al microcontrolador, lo que constituye
lo tpico de una arquitectura del tipo Harvard.
Aunque el presente curso esta orientado al microcontrolador 8051, hemos credo oportuno
comparar las arquitecturas internas de estos dos microcontroladores que caracterizan a dos de los
fabricantes ms importantes de estos dispositivos en la actualidad, con el objetivo de que los
estudiantes puedan comprender bien las limitantes y ventajas de la arquitectura Von Newman
tpica del 8051 con la arquitectura Hardvar que va apareciendo en los modernos
microcontroladores de la Microchip.
-
Microcontroladores. El 8051 de la INTEL. 2200
Hasta aqu en muchas ocasiones hemos hecho hincapi en la existencia de un programa que el
microcontrolador debe ejecutar, por lo que en este momento nos parece oportuno dar respuesta a
las dos preguntas siguientes,
Qu es un Programa?, Cmo se ejecuta este Programa? Un Programa es una lista de instrucciones al procesador que con un ordenamiento lgico busca
resolver una determinada aplicacin. Todos los microcontroladores tienen un conjunto de
instrucciones que pueden ejecutar, definidas por el fabricante, y que constituyen su Repertorio de
Instrucciones.
Repertorio de Instrucciones. Cada tipo de microcontrolador tiene su propio conjunto de instrucciones, y por lo general los
programas escritos para uno no funcionarn en otro. Un microcontrolador tpico tendr en su
repertorio de instrucciones, instrucciones para: transferir informacin entre registros y memoria,
realizar operaciones aritmticas y lgicas, efectuar comparaciones y pruebas sobre el contenido de
sus registros de memoria, as como para controlar la secuencia de ejecucin de programas, etc.
Existen tres orientaciones en cuanto a la arquitectura y funcionalidad de los procesadores actuales,
las que influyen decisivamente en las instrucciones que brinda el microcontrolador y la forma de
programarlo. Estas tres orientaciones son: CISC, RISC y SISC.
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, facilitndole el trabajo de
programacin.
Tanto la industria de los computadores comerciales como la de los microcontroladores estn
inclinndose 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.
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
-
Microcontroladores. El 8051 de la INTEL. 2211
la aplicacin prevista. Esta filosofa se ha bautizado con el nombre de SISC (Computadores de
Juego de Instrucciones Especfico).
Nuevamente los dos microcontroladores que hemos estado comparando en el material se
caracterizan por pertenecer a dos grupos diferentes. El 8051 se caracteriza por ser un
microcontrolador tipo CISC con ms de 80 instrucciones en su repertorio de instrucciones, algunas
tan complejas como las instrucciones de Multiplicacin y de Divisin. Por su parte, el
Microcontrolador 16F873 se caracteriza por ser un microcontrolador tipo RISC con solo 35
instrucciones en su repertorio.
Por lo general la operacin que una instruccin ha de ejecutar est definida por un cdigo de
operacin, generalmente de un solo byte, conocido tambin como opcode. Algunas instrucciones requieren adems del cdigo de la instruccin, informacin extra para definir los operandos. Por ejemplo, una instruccin para almacenar el contenido de un registro en una posicin de memoria,
necesitar incluir la direccin de memoria de destino.
La Unidad de Control y Decodificacin de instrucciones incluida en la Unidad Central de Procesos
del microcontrolador constituye el corazn del procesador. Esta es la encargada de extraer de
forma secuencial las instrucciones de la memoria de programa y luego ejecutarlas. Unido a la
Unidad de Control se encuentra el generador de reloj, que utiliza un oscilador para producir una
seal de reloj muy precisa. El tiempo se divide en un cierto nmero de ciclos de la seal de reloj.
El funcionamiento de la Unidad de Control y Decodificacin de Instrucciones se puede dividir en
dos partes o ciclos, el Ciclo de Bsqueda y el Ciclo de Ejecucin.
Ciclo de Bsqueda. En este ciclo el procesador transfiere la direccin de la siguiente instruccin a ejecutar por el microcontrolador al Bus de Direcciones interno, conjuntamente
con la orden de lectura de la memoria de programa a travs de las seales del Bus de
Control interno. Un tiempo despus, el procesador lee la informacin puesta en el Bus de
Datos interno por parte de la memoria de programa como respuesta a la orden de lectura,
transfiriendo esta informacin al Registro de Instrucciones.
Ciclo de ejecucin. En este ciclo se ejecuta la instruccin. Para ello el Registro de Instrucciones est conectado al Decodificador de Instrucciones, que determina cuntos
byte de informacin adicionales se requieren para poder ejecutar la instruccin, en caso de
que sean necesarios. De ser necesarios, estos se cargan mediante Ciclos de Bsqueda
adicionales, tantos como byte conformen la instruccin a ejecutar. Una vez que todos los
-
Microcontroladores. El 8051 de la INTEL. 2222
operandos que intervienen en la operacin son conocidos, y el microcontrolador ejecuta la
instruccin.
Cuando la ejecucin de la instruccin es completada, el microcontrolador comienza, de forma
automtica un nuevo Ciclo de Bsqueda de la siguiente instruccin del programa, con lo que se
garantiza la operacin secuencial y cclica del programa por parte del microcontrolador. La
ejecucin es por tanto, una secuencia continua de ciclos de bsqueda y ejecucin.
De lo explicado hasta aqu las tareas a ejecutar por el microcontrolador el diseador se las entrega
mediante un Programa diseado a partir de las instrucciones propias del microcontrolador y que el
fabricante define en el Repertorio de Instrucciones del mismo. Estas instrucciones son
representadas por cdigos binarios reservados trados de la memoria de programa interna del
microcontrolador hacia su Unidad Central de Procesos durante los Ciclos de Bsqueda.
Con el objetivo de continuar profundizando en este tema podramos intentar dar respuesta a la
siguiente pregunta,
Qu caractersticas presentan estas memorias de programa interna en los microcontroladores? Es el nico tipo de memoria con que cuentan los microcontroladores? La Memoria interna. Los microcontrolador estn diseados para que en su Memoria de Programa interna se almacenen
los cdigos de todas las instrucciones que conforman el programa definitivo que solucionar una
aplicacin dada. Una vez definido el programa este no debe ser cambiado mientras el
microcontrolador se mantenga resolviendo la aplicacin para el cual fue creado. Esta caracterstica
es la que hace que la Memoria de Programa de los microcontroladores sean del tipo de
almacenamiento permanente, constituyendo esta su caracterstica comn en todos los casos.
Son posibles encontrar cinco tipos de Memoria de Programa en los microcontroladores:
ROM de mscara. Esta memoria se graba en el chip durante el proceso de fabricacin. Los altos costes de diseo slo aconsejan usarla cuando se precisan series grandes.
EPROM. En la superficie de la cpsula del microcontrolador existe una ventana de cristal por la que se puede someter al chip a rayos ultravioletas para producir el borrado de la
memoria con el objetivo de programarla nuevamente. Su coste unitario es elevado y se
justifica en la fase de Puesta a Punto de los sistemas.
-
Microcontroladores. El 8051 de la INTEL. 2233
OTP (One Time Programmable). Este modelo de memoria slo puede ser grabada una vez por parte del usuario. Su bajo precio y la sencillez de la grabacin aconsejan este tipo de
memoria para prototipos finales y series de produccin cortas.
EEPROM. La grabacin es similar a la EPROM y OTP, pero el borrado y nueva programacin es mucho ms sencillo al poderse ejecutar elctricamente, en el propio
circuito, las veces que se quiera. Muy utilizada para almacenar configuraciones de los
sistemas que son de vital importancia para su correcto funcionamiento y que por ende no
deben perderse por cualquier falla de la energa.
FLASH. Se trata de una memoria no voltil de bajo consumo que se puede escribir y borrar en el propio circuito al igual que la EEPROM, pero suele disponer de mayor capacidad que
estas ltimas. El borrado slo es posible en bloques completos. Por sus mejores
prestaciones est sustituyendo a la memoria EEPROM en los microcontroladores
modernos.
Estos tipos de Memoria de Programa estn constituidos por un conjunto de localizaciones las que
se encuentra organizada de forma secuencial de las direcciones. De la explicacin anterior
queremos llamar la atencin en dos palabras especficas, localizacin y direccin.
Definiremos como localizacin al lugar fsico en la memoria destinado para almacenar un contenido
dado en un formato digital. Estas localizaciones estn constituidas por los bits que pueden tomar el
valor de 0 o 1 en dependencia de la informacin que se desea almacenar. El nmero de bits
que conforman una localizacin dada en la memoria de programa depende del microcontrolador.
Por ejemplo en el caso del microcontrolador 8051 el nmero de bits es de 8 mientras que en el
16F87 es de 14. Por su parte definiremos como direccin a la manera de referirnos a una
localizacin dada a la hora de trabajar con ella. A una localizacin se le asigna una direccin que
es nica y propia de ella. Por lo tanto cuando hablamos de una localizacin de memoria de
programa nos estaremos refiriendo a ella o bien por su contenido o por su direccin. Por lo general
tanto la direccin como el contenido de una localizacin dada se expresa en hexadecimal, por un
problema de comodidad. El esquema de la Figura 1.4.5 nos ayudar a comprender mejor lo
explicado sobre este aspecto.
-
Microcontroladores. El 8051 de la INTEL. 2244
Figura 1.4.5 Concepto de localizacin, direccin y contenido en la memoria de programa. El nmero de localizaciones define la capacidad con que cuenta la memoria de programas para
almacenar las instrucciones, tablas o cualquier otra cosa que defina el diseador del sistema. Esta
capacidad se especifica en Kilo, lo que resulta equivalente a 1024 localizaciones. Por lo que
cuando me definen que el microcontrolador cuenta con 2K localizaciones en su memoria de
programas, me estn especificando de que el microcontrolador cuenta con 2048 localizaciones
para almacenar cdigos u cualquier otra cosa en su memoria de programa.
La cantidad de informacin posible almacenar en esta memoria de programa no solo depende del
numero de localizaciones con que cuente, sino tambin depender del numero de bits con que
este conformada dicha localizacin. Por ejemplo si en el caso de la memoria anterior las
localizaciones estuvieran conformadas por 8 bits la capacidad de almacenamiento de la memoria
en cuestin sera de 2048 bytes, se define como byte un nmero conformado por 8 bits, o 2
kilobyte o lo que es lo mismo 2048 x 8 bits.
Tomando como ejemplo los dos microcontroladores a los que nos hemos estado refiriendo durante
el material el 8051 y el 16F873, en el primero su capacidad de memoria de programa es de 8
Kilobyte, mientras que en el segundo su capacidad de memoria de programa es de 8 kx14 bits, ya
que las localizaciones de memoria de programa en este microcontrolador estn conformadas de 14
bits.
-
Microcontroladores. El 8051 de la INTEL. 2255
Las localizaciones de memoria de programa internas del microcontrolador tienen direcciones fijas e
impuestas por el fabricante, las que no pueden ser alteradas por el diseador del sistema,
correspondindole a una localizacin ser la de la direccin ms baja y a otra la direccin mas alta.
Entre estas dos se encuentran el resto de las localizaciones a las que le corresponden direcciones
consecutivas. Una de estas localizaciones juega un papel trascendental a la hora de cargar nuestro
programa de aplicacin en la memoria de programa y es a la que le debe corresponder almacenar
el cdigo de la primera instruccin de nuestro programa. La direccin de esta localizacin no es la
misma para todos los microcontroladores, pero si es nica para un microcontrolador dado. Por
ejemplo en el caso del microcontrolador 8051 esta localizacin es a la que le corresponde la
direccin ms baja, la 0000 H. En la Figura 1.4.6 se muestra de forma esquemtica la estructura de
la memoria de programa del microcontrolador 8051.
Figura 1.4.6 Memoria de Programa del microcontrolador 8051.
Mientras que los programas deben permanecer inalterables durante el tiempo de vida del
microcontrolador en una aplicacin dada, los datos que manejan estos programas por lo general
varan continuamente y eso exige que la memoria que los contiene nos brinde la posibilidad de
almacenar datos de forma temporal y poderlos alterar cada vez que sea necesaria por el programa.
de ah que estas memoria se conozcan con el nombre de memoria de datos, aunque esto no
excluya la posibilidad de que en algunos casos puedan almacenar cdigos o partes integrantes de
los programas. Lo anterior impone la necesidad de que las memorias que conformen la memoria
de datos de los microcontroladores deban ser del tipo de lectura y escritura o como se conoce
normalmente Memorias RAM.
-
Microcontroladores. El 8051 de la INTEL. 2266
Las memorias RAM pueden ser de diferentes tipos pero todas tienen en comn la caracterstica de
que la informacin almacenada en ellas se pierde cuando se les retira la energa, de ah que se
conozcan como memorias voltiles. Es por ello que en la mayora de los microcontroladores el
contenido de las localizaciones de la memoria de datos cuando este es energizado es
desconocido. Los conceptos definidos de localizacin, direccin y contenido para el caso de la
memoria de programa son validos para la memoria de datos tambin. Las memorias RAM que se
fabrican en la actualidad las podemos dividir en dos grandes grupos:
Memoria RAM Dinmica. La informacin almacenada en ellas tiene que ser refrescada constantemente y en intervalos de tiempo bien definidos, de no hacerse la informacin
almacenad en ellas se pierde. Esta incomodidad en el trabajo con este tipo de memoria es
recompensado con la posibilidad de obtener mucha ms capacidad de memoria en una
misma rea que en los otros tipos.
Memoria RAM Esttica. No se hace necesario el refrescamiento de la informacin almacenada en la memoria y el contenido de una localizacin una vez definido no se
pierde a no ser porque el programa escriba un nuevo dato en dicha localizacin o la
memoria pierda la energa por alguna causa.
Las memorias RAM Estticas (SRAM) resultan ser las ms apropiada para materializar la memoria
de datos de los microcontroladores y es con la que estn construidas por lo general estos
dispositivos.
Hay microcontroladores que aprovechan la caracterstica de las memorias EEPROM de poder ser
ledas y escrita de forma elctrica y poseen parte de su memoria de datos implementada por una
memoria de este tipo, de forma tal que cierta informacin, que no constituye programa pero si
informacin muy importante para el trabajo del sistema, no se pierda producto de la perdida de la
energa, pudindose recuperar dicha informacin una vez que esta es establecida permitiendo al
sistema continuar con su tarea.
Como hemos visto en epgrafes anteriores otros circuitos comparten el espacio interno de los
microcontroladores con la memoria. Estos circuitos se incorporan en dependencia del
microcontrolador que sea, reforzando la potencia del dispositivo para resolver determinadas tareas.
A estos circuitos los llamaremos circuitos empotrados y a ellos estar dedicado el prximo
epgrafe.
-
Microcontroladores. El 8051 de la INTEL. 2277
Circuitos empotrados ms comunes. Los circuitos empotrados constituyen aquellos dispositivos que el fabricante agrega a un
microcontrolador dado con el objetivo de que contengan un conjunto de facilidades para realizar
determinadas funciones que por lo general son las mas comunes encontrar en los sistemas para
los que fue desarrollado dicho microcontrolador. Dado que la mayora de los microcontroladores
fueron concebidos por sus fabricantes para resolver aplicaciones dedicadas a la instrumentacin y
el control, estos han agregados a los mismos un conjunto de facilidades que se repiten mucho de
un microcontrolador a otro.
Entre las facilidades ms comunes que se encuentran en muchos microcontroladores o en alguna
de sus versiones podemos mencionar:
Los Temporizadores. El Perro guardin. Los Mdulos de Captura, Comparacin y PWM. Los Puertos Serie ya sean sincrnicos o asincrnicos. Los Conversores A/D.
Como mencionamos anteriormente no todas estas facilidades tienen que estar presentes en un
mismo microcontrolador. Por ejemplo el 8051 en su versin clsica cuenta con 2 Temporizadores y
1 Puerto Serie, no contando ni con Perro Guardin, ni con Modulo de Captura, Comparacin y
PWM, ni con Conversores A/D, sin embargo el 16F873 cuenta con 3 Temporizadores, Perro
Guardin, 2 Mdulos de Captura, Comparacin y PWM, 2 Puertos Serie y un Conversor anlogo
Digital con 5 entradas analgicas.
Poder conocer las facilidades que brinda al diseador el contar con alguno de estos elementos en
su microcontrolador somos del criterio de que nos permitira tener una visin completa de que es lo
que podemos hacer con un microcontrolador dado. Por lo que le proponemos que en a
continuacin le demos respuesta a las preguntas siguientes,
Qu funcin realiza cada uno de estos circuitos empotrados? Para que tipo de operaciones me pudrieran ser tiles en una aplicacin dada?
-
Microcontroladores. El 8051 de la INTEL. 2288
Los Temporizadores.
Son muchas las aplicaciones en las cuales los Temporizadores constituyen una ayuda valiosa e
imprescindible para el diseo, ejemplos de ello son los siguientes casos:
Determinar de forma automtica el tiempo en 1 de un pulso generado por un circuito. Determinar el valor que toma una determinada variable fsica con una periodicidad de 1
segundo.
Determinar la frecuencia de un tren de pulsos generado por un circuito. Determinar la cantidad de productos terminados que se mueven por una cinta
transportadora.
En los dos primeros casos se impone la necesidad de contar tiempo, mientras que en los dos
ltimos lo necesario es contar un determinado evento. En los cuatro casos los Temporizadores
podran ser utilizados como parte de la solucin o como elemento fundamental de la misma.
De los ejemplos anteriores podemos concluir las funciones fundamentales para las que estn
destinados los Temporizadores en un microcontrolador, las que las podemos resumir en los
siguientes tres aspectos:
Como reloj interno en la sincronizacin de eventos. En la generacin de intervalos de tiempo. Como contador de eventos externos.
La pregunta aqu sera, En qu consisten los Temporizadores?, que pueden realizar tareas tan
dismiles.
En esencia los Temporizadores consisten en un circuito contador, de 8 o de 16 bits, al que se le
puede escoger mediante su programacin, la fuente de conteo, la habilitacin del conteo, la
cantidad de bits y la base de conteo, lo que permite al diseador moldear al temporizador en
dependencia de las necesidades de su aplicacin. Una vez programados, su operacin es
completamente por hardware, liberando al microcontrolador de la labor de supervisin por software
de los mismos.
Por ejemplo, si la fuente de conteo es la salida del circuito oscilador interno del microcontrolador,
entonces el contador estara contando tiempo y el Temporizador podra ser utilizado como reloj
-
Microcontroladores. El 8051 de la INTEL. 2299
interno en la sincronizacin de eventos o como generador de intervalos de tiempo muy preciso. Por
otro lado, si la fuente de conteo lo constituye una seal externa al microcontrolador que responde a
la ocurrencia de un determinado evento, entonces el contador contara eventos y el Temporizador
estara contando las veces que dicho evento ocurre.
Estos contadores adems, cuentan con una lgica que determina cuando el contador se desborda
lo que genera la habilitacin de una bandera propia de cada Temporizador y el pedido de
interrupcin al microcontrolador para ser atendidos.
El Perro Guardin.
En esencia es un temporizador, pero con la caracterstica de que no se le puede cambiar ni la
fuente de conteo ni la base de conteo. Todo lo que se puede decidir es cuando esta habilitado y
cuando no, adems, mediante instruccin se puede reiniciar su conteo cada vez que el
programador lo entienda conveniente dentro del programa. De esta manera el Perro Guardin una
vez habilitado se desborda, ladra de hay su nombre, siempre que transcurra el mismo intervalo de
tiempo para un microcontrolador dado para una frecuencia de reloj dada, si no fue interrumpido su
conteo mediante una instruccin de reinicio.
La interrogante en este momento podra ser,
Cul puede ser la funcin del Perro Guardin en una aplicacin dada? En esencia su funcin es la de avisarnos que una determinada tarea se encuentra fuera de tiempo y por ende existe algn fallo en el sistema. Existen programas que una vez iniciadas una tarea
dada, el microcontrolador espera por alguna respuesta antes de continuar con el resto del
programa. Esto se implementa mediante un lazo de espera que pregunta constantemente por la
ocurrencia de una condicin dada y del cual no se saldr hasta que dicha condicin ocurra. Por
ejemplo, se le da inicio de conversin a un Conversor Anlogo Digital y el programa se queda
esperando porque el Conversor le indique que termino con la conversin para efectuar su lectura,
pero esta condicin nunca se da, digamos que porque el Conversor esta roto o por cualquier otra
causa. En este caso el programa quedara en un lazo infinito del que no saldra, ya que la
condicin por la que espera nunca ocurre, no existiendo otra causa que lo haga salir.
Ahora bien, si antes de iniciar la tarea se habilita el Perro Guardin, el programa se quedara en el
lazo infinito hasta que este se desborde y con ello sacara al programa de esta condicin. Si por el
contrario todo ocurre bien, una vez ledo el Conversor se reinicializa la operacin del Perro
Guardin, comenzando nuevamente con el conteo y por consiguiente no ocurriendo su
-
Microcontroladores. El 8051 de la INTEL. 3300
desbordamiento y por tanto no interrumpiendo la operacin normal del microcontrolador. De este
forma el programa continuar con su secuencia de trabajo tal y como estaba establecido por el
programador. Todo lo que debe tener en cuenta el programador es que el tiempo de respuesta de
la condicin por la que se pregunta sea menor que el tiempo en que se desborda el Perro
Guardin.
El Mdulo de Captura, Comparacin y PWM. Estas tres funciones por lo general vienen implementadas en un mismo dispositivo, a pesar de que
realizan funciones diferentes, ya que utilizan los mismos recursos para efectuar su operacin. Por
lo general este recurso compartido es uno de los Temporizadores. Cada una de las funciones
viene implementada mediante un Modo de operacin especfico. Estos Modos de Operacin son:
Modo de Captura. Modo de Comparacin. Modo de Modulacin de Ancho de Pulsos.
En el Modo de Captura la funcin fundamental es la de capturar la informacin que existe en uno
de los Temporizadores al ocurrir una condicin externa al microcontrolador. Para ello, en un
registro interno del microcontrolador, por lo general de 16 bits, se almacena el valor en curso en el
Temporizador siempre que ocurra dicha condicin externa, introducida al microcontrolador a travs
de uno de sus terminales. Lo que puede constituir una condicin, esta muy en dependencia del
microcontrolador que sea, pero alguna de las ms comunes resultan ser:
Un flanco ascendente. Un flanco descendente. Cada 4 flancos ascendentes. Cada 16 flancos ascendentes.
Al verificar el microcontrolador la ocurrencia de una de las posibles condiciones externas, este lleva
a cabo una captura del valor en el Temporizador en cuestin y se activa una bandera interna
indicando que es el momento de leer el valor en el registro de captura correspondiente. Esta
bandera puede generar un pedido de interrupcin, si esta habilitada, librando al programa de
chequear mediante muestreo cuando dicha bandera se hace verdadera.
Una aplicacin del Modo de Captura puede ser la medicin de los intervalos de tiempo que
transcurre entre dos pulsos que ocurren externamente. Para ello el acontecimiento que se vigila es
-
Microcontroladores. El 8051 de la INTEL. 3311
la ocurrencia del flanco de subida de la seal en cuestin y con ambos valores tomados del
registro de captura se puede determinar el tiempo transcurrido entre uno y otro pulso.
En el Modo de Comparacin la funcin fundamental es la de comparar el valor de un registro interno con el contenido de uno de los Temporizadores. Para ello, cuando el Modulo trabaja de
esta manera el contenido de dicho registro interno, previamente definido por el fabricante, se
compara continuamente con el contenido de uno de los Temporizadores, cuando coinciden ambos
valores, el microcontrolador lo puede indicar mediante el cambio del valor en un terminal de salida
previamente configurado para esta tarea o mediante la activacin de un pedido de interrupcin.
En el Modo de Modulacin por Ancho de Pulsos la funcin fundamental es la de modular el
intervalo de tiempo en el que cambia de 1 a 0 un determinado terminal de salida del
microcontrolador. Para ello el contenido de un registro interno de este, por lo general de 8 bits, se
compara con el valor almacenado en uno de los Temporizadores, enmarcando el tiempo de 1 y
de 0 de una determinada seal que se genera externamente a travs de uno de los terminales del
microcontrolador. Este modo de operacin puede ser de gran utilidad para el control de la
velocidad de los motores de corriente directa.
El Puerto Serie.
La solucin de la comunicacin entre dispositivos separados entre si distancias relativamente
largas, pasa hoy en da de forma insoslayable por la transmisin y la recepcin de los datos de
forma serie. Un ejemplo de lo anterior lo podra constituir la necesaria comunicacin de un equipo
construido en base a un microcontrolador y diseado para la adquisicin de datos de forma remota
en un determinado proceso industrial con una microcomputadora donde se encuentra instalado el
Programa Supervisorio de todo el sistema. La mejor solucin en este caso, para la comunicacin,
lo constituira la creacin de un canal serie entre ambos dispositivos.
Para ello se hace necesaria la existencia de un dispositivo interno en el microcontrolador que
convierta los datos paralelos que se mueven dentro del microcontrolador a un formato serie que
permita su transmisin hacia el dispositivo externo y lo inverso, la conversin de los datos que le
llegan al microcontrolador serie del dispositivo externo en paralelo para que pueda ser utilizado
internamente por el microcontrolador. Para el diseador en este caso sera de gran utilidad el
poder contar con un Puerto Serie que se encargue de estas dos tareas.
Existen dos formas bsicas de efectuar esta transmisin serie, conocidas como Sincrnicas y
Asincrnicas. En la Comunicacin Serie Sincrnica conjuntamente con los datos, el
microcontrolador amo transmite una seal de reloj que es utilizada por el microcontrolador esclavo
-
Microcontroladores. El 8051 de la INTEL. 3322
para la recepcin de los mismos, los datos son transmitidos a la frecuencia de la seal de reloj. En
el caso de la Asincrnica no existe esta seal de reloj independiente de los datos para sincronizar
la recepcin de los mismos, sino que la seal de sincronizacin viaja conjuntamente con el dato y
constituye el primer bit de la transmisin. Los bits de datos que le siguen se transmiten a una
determinada frecuencia de bits reconocida por el receptor, que le permiten a este sincronizar la
recepcin de los datos.
De la explicacin anterior podemos concluir que independientemente de la forma empleada para la
transmisin serie de los datos, contamos con una cadena serie de bits que constituyen los datos y
una determinada frecuencia a la que se transmiten dichos bits. Esto es lo que provoca que el
circuito bsico Puertos Serie lo constituyan los Registros Desplazamiento.
Estos circuitos son capaces de desplazar de forma serie un dato a una frecuencia dada. Para ello
cuentan con un conjunto de biestables internos concatenados de forma serie, la salida del
biestable anterior constituye la entrada del biestable siguiente, con entrada de reloj comn. Estos,
adems permiten cargar sus biestables con un dato que le llega de forma paralela y leer la
informacin almacenada en estos de forma paralela. La seal de reloj a los biestables en muchos
microcontroladores es entregada por uno de los Temporizador.
El Conversor A/D.
Son muchas las aplicaciones donde se emplea el microcontrolador para conocer el valor en
unidades de ingeniera que tiene una determinada variable fsica, como puede ser la Temperatura,
la Humedad Relativa, la Presin en una Tubera, etc. Para ello se hace necesario poder contar en
el sistema con algn elemento transductor que convierta el valor de esta variable fsica en el valor
de una determinada variable elctrica, como puede ser un valor de Resistencia, un valor de
Capacidad, etc. Por lo general estos dispositivos son conocidos con el nombre de Sensores.
Generalmente los sensores vienen acompaados de otro circuito, que se conocen con el nombre
de Transmisor, que convierte esta variable elctrica en una seal elctrica lista para ser
transmitida. Esta seal elctrica puede ser un voltaje o una corriente enmarcada en un intervalo de
valores continuos. Esta seal es la que llega en la mayora de las aplicaciones al microcontrolador
para su procesamiento.
La caracterstica fundamental de esta seal es que la misma es analgica, no digital, por lo que
seria muy til poder contar en el microcontrolador con algunas entradas que aceptaran seales
analgicas y con un circuito interno que convierta esta seal analgica en un nmero digital listo
para ser procesado por el este. Muchos microcontroladores cuentan con estas entradas
-
Microcontroladores. El 8051 de la INTEL. 3333
analgicas, por lo general ms de una, y con estos circuitos conversores analgicos digitales,
ejemplo de ello son el 16F873 y algunas versiones del 8051.
De esta manera todo lo que tiene que hacer el programador es dar inicio al proceso de conversin
al conversor, esperar por que este concluya, para leer un nmero digital que estar relacionado
con el valor de voltaje o de corriente impuesto por el transmisor del sensor en la entrada analgica
correspondiente.
La caracterstica fundamental de estos Conversores Anlogo - Digitales lo constituye el nmero de
bits con que entregan el valor digital obtenido producto de la conversin de la seal analgica. Este
nmero de bits esta relacionado con la precisin del conversor y con la posibilidad del
microcontrolador de trabajar con valores ms cercanos al valor real de la seal analgica. Por lo
general estos conversores son de 8 o de 10 bits.
Ya conocemos los elementos ms comnmente encontrados en los microcontroladores, su funcin,
modo de operacin y posibles aplicaciones a resolver con los mismos, pero,
Nos encontraremos todos estos circuitos empotrdos en el microcontrolador 8051? Cmo trabajar con los que existen? Qu posibilidades y qu limitaciones me brindan? Esperemos dar respuestas a estas interrogantes mediante el estudio del microcontrolador 8051
objetivo fundamental de los temas que aparecen a continuacin en este material.
-
Microcontroladores. El 8051 de la INTEL. 3344
Tema 2. El microcontrolador 8051. Se considera a INTEL como el "padre" de los microcontroladores. Este fabricante siempre ha ido
por delante de los dems presentando los nuevos productos. El primer microcontrolador de 8 bits
se considera al 8048 y lo fabric esta compaa en la dcada de los 70. La siguiente generacin,
ms evolucionada, fue la del 8051 / 8052 a la que ha seguido la de 16 bits, 80C196, que alcanza
frecuencias de funcionamiento de hasta 50 Mhz. Con buen olfato comercial, INTEL ha lanzado
versiones de microcontroladores basados en los microprocesadores 8088 y 8086. Se trata de los
modelos 80188 y 80186. La misma poltica ha seguido con el 80386 creando el 80386EX. Estos ltimos productos permiten trabajar con las herramientas clsicas desarrolladas para el entorno de
la PC.
2.1 La Familia MCS-51. En el titulo de este epgrafe ha aparecido una palabra nueva, familia. Por su puesto que es nueva
cuando estamos hablando de microcontroladores pero de la cual tenemos una definicin en la vida
social muy clara. La pregunta a contestar en este momento podra ser,
Qu constituye una familia de microcontroladores? Por regla los fabricantes cuando sacan al mercado un microcontrolador lo acompaan de un
conjunto de versiones del mismo que son los que constituyen su familia. Estas versiones se
caracterizan por tener un alto porciento de compatibilidad del punto de vista del hardware y del
software entre si, pero presentan algunas diferencias como pueden ser: el tipo de memoria de
programa que utilizan, la capacidad de la memoria de programa y de datos, el tipo y nmero de
dispositivos complementarios que traen integrado, las posibles fuentes de interrupcin, etc. Todos
estos aspectos hacen que los microcontroladores que integran una familia sean similares pero no
iguales.
Con el nombre de MCS-51 se define a una familia de microcontroladores de 8 bits desarrollados
originalmente por la INTEL, de la cual el microcontrolador 8051 es su principal representante.. Este
microcontrolador de 8 bits, presenta un software orientado a facilitar el desarrollo de aplicaciones
para la instrumentacin y el control. Con una gran flexibilidad del punto de vista del hardware
constituye un dispositivo ideal, del punto de vista econmico y de tiempo de desarrollo para la
solucin de aplicaciones que demanden la necesidad de pocos recursos en su solucin.
Los primeros microcontroladores de esta familia que INTEL coloca en el mercado respondan a la
tecnologa de fabricacin HMOS y llevaban el nombre de 8051AH, 8031AH y 8751H.
-
Microcontroladores. El 8051 de la INTEL. 3355
Qu es lo que tenan de comn estos dispositivos que posibilitaba su inclusin dentro de una misma familia de microcontroladores? Qu es lo que los diferencia y les daba particularidades propias? Como caractersticas comunes estos tres dispositivos tenan las siguientes:
Necesidad de una sola fuente de alimentacin de 5 volts. Unidad Central de Procesos de 8 bits. Oscilador interno. 128 byte de Memoria de Datos interna. Cuatro Bancos de Registros internos. 128 banderas posibles a definir por software por el programador. Ciclo de Instruccin de un microsegundo a 12 Mhz. Dos Temporizadores de 16 bits. Una Unidad Asincrnica Serie Full Duplex. Seis fuentes de interrupcin vectorizada con cinco vectores, estructurada en dos niveles de
prioridad.
Modos de Direccionado Directo, Indirecto, Inmediato, Extendido y de Bit en sus Instrucciones.
Instrucciones para la aritmtica binaria y decimal, incluyendo instrucciones para la Multiplicacin y la Divisin.
Procesador Booleano integrado para las aplicaciones de control. Modo Especial de Trabajo en el que se le pueden conectar al sistema de forma externa
hasta 64 Kilobyte de Memoria de Programas y 64 Kilobyte de Memoria de Datos.
Un aspecto estableca la diferencia entre estos tres dispositivos. Este aspecto estaba relacionado
con la existencia o no y el tipo de la Memoria de Programa interna para aquellos que la tuvieran.
En el caso del 8031AH no tiene Memoria de Programa interna lo que impona al diseador siempre
utilizarlo en el Modo Especial de Trabajo, conectndole la Memoria de Programa de forma externa.
Esto a su vez condicionaba a que este microcontrolador tuviera que generar su propio Bus de
Direcciones y de Datos externo lo que lo limitaba en cuanto al numero de terminales disponibles
para lneas de entrada / salida, quedando limitado a solo 16 agrupadas en dos Puertos de 8 bits.
Son estas las razones por la que muchos se cuestionan si esta versin de la familia constituye realmente un microcontrolador o es en realidad un microprocesador con dispositivos empotrados
para realizar determinadas funciones.
-
Microcontroladores. El 8051 de la INTEL. 3366
Por su parte las versiones 8051AH y 8751H cuenta con una capacidad de Memoria de Programas
interna de 4 Kilobyte, lo que posibilitaba al usuario grabar sus programas de aplicacin en el propio
microcontrolador y no tener que utilizar las posibilidades que brinda el Modo Especial de Trabajo.
Esto adems permiti a los diseadores contar con un nmero mayor de terminales disponibles
para sus aplicaciones al contar con otros dos Puertos de entrada / salida de 8 bits con lo que
elevaban a 32 el nmero de lneas con este fin.
Qu marcaba la diferencia entre estos dos ltimos dispositivos? La diferencia venia dada por el tipo de memoria empleada para la materializacin de la Memoria de
Programa interna. Mientras que el 8051AH utilizaba un tipo de Memoria OTP, el 8751H utilizaba un
tipo de Memoria EPROM.
Estos elementos condicionaban la eleccin de uno u otro dispositivo en dependencia de la
aplicacin que se desear resolver. Si su aplicacin una vez puesta a punto no se previa un
posible cambio en el software, escoger el 8051AH, si por el contrario era factible la ocurrencia de cambios en el software desarrollado inicialmente, entonces escoger el 8751H.
De lo anterior nos queda una posible interrogante a responder,
Cundo utilizar el 8031AH? La utilizacin del 8031AH es muy til durante la fase de puesta a punto de los sistemas en que se
hace necesaria la programacin de diferentes versiones de programas ante de encontrar el
definitivo. Esto permite que las versiones de prueba se programen en Memorias EPROM
conectadas externamente y solo se lleve al microcontrolador escogido, la versin definitivamente
probada con resultados satisfactorios.
Despus de este comienzo dado por la INTEL y ante el xito del nuevo dispositivo en la solucin
de mltiples aplicaciones, muchas otras compaas productoras de circuitos integrados se dieron a
la tarea de introducir al mercado sus propias versiones de los microcontroladores de esta familia,
destacndose entre ellas a la compaa Analog Devices con su lnea de microcontroladores
ADUC8xx, las compaas Atmel y Philips con una variedad de microcontroladores de esta familia
superior hoy en da a la que produce la propia INTEL, la compaa Dallas Semiconductor con su
lnea de Microcontroladores DS muy poderosos en cuanto a la ampliacin de sus capacidades y la
Texas Instruments con su lnea de dispositivos TS entre otras.
-
Microcontroladores. El 8051 de la INTEL. 3377
Las nuevas versiones se caracterizaban por agregar nuevas posibilidades al microcontrolador. As
aparecieron versiones que aumentaban la capacidad de Memoria de Programa hasta 8 Kilobyte,
aumentaban la Memoria de Datos hasta 1 Kilobyte, agregaban otros dispositivos de interfaz como:
otro Temporizador, Perro Guardin, entradas Analgicas, etc., que ya hacen verdaderamente difcil
enmarcar a este microcontrolador en un conjunto de posibilidades fijas como ocurri en las
primeras versiones de INTEL.
Otro aspecto que fue variando con el desarrollo de nuevas versiones lo constituye la tecnologa de
fabricacin del microcontrolador. Despus de las primeras versiones con tecnologa HMOS
aparecieron otros dispositivos con tecnologa de fabricacin CHMOS, lo que brindaba un
microcontrolador de ms bajo consumo que los anteriores y por lo tanto permita el integrar en el
circuito un nmero mayor de posibilidades o circuitos complementarios. As surgieron los
dispositivos 8XC51FA y 8XC51FB que incorporan un bloque PLA (Arreglo Lgico Programable)
interno con lo que aparecieron en estos microcontroladores funciones tales como:
Salida de Alta Velocidad. Circuito de Comparacin, Captura y PWM.
En su bsqueda por aumentar de forma cuantitativa las posibilidades de su microcontrolador de 8
bits, el 8051, la INTEL saca al mercado una nueva familia de microcontroladores a la que nombro
MCs 52 de la cual el microcontrolador 8052 es su principal representante.
Cules son las cosas comunes y cuales las diferencias entre estas dos familias de microcontroladores de la INTEL?
2.2 Los parientes cercanos, la Familia MCs - 52.
Son pocas las diferencias que existen entre estas dos familias de microcontroladores, tan pocas
que generalmente cuando se habla de una se menciona siempre a la otra. Entre las cosas
comunes podemos mencionar:
La existencia de las tres versiones, con Memoria de Programa OTP o EPROM o sin Memoria de Programa presente entre los miembros de la familia MCs - 51 estn presentes
tambin en la familia MCs - 52, por lo que nos encontramos:
8032. Sin Memoria de Programa interna.
8052. Con Memoria de Programa del tipo OTP.
8752. Con Memoria de Programa del tipo EPROM.
-
Microcontroladores. El 8051 de la INTEL. 3388
Los terminales de los microcontroladores de la familia MCs - 52 presentan las mismas funciones que la de los microcontroladores de la familia MCs - 51, razn por la cual son
compatibles pin a pin.
Con respecto al Repertorio de Instrucciones, todas las instrucciones presentes en el repertorio de los microcontroladores de la familia MCs - 51 se encuentran presentes en el
Repertorio de Instrucciones de los microcontroladores de la familia MCs- 52, razn por la
cual los programas desarrollados para el primero pueden ser ejecutados por el segundo sin
necesidad de efectuar ningn arreglo a los mismos.
Los microcontroladores de la familia MCs - 52 cuentan tambin con: Necesidad de una sola fuente de alimentacin de 5 volts.
Unidad Central de Procesos de 8 bits.
Oscilador interno.
Cuatro Bancos de Registros internos.
128 banderas posibles a definir por software por el programador.
Ciclo de Instruccin de un microsegundo a 12 Mhz.
Dos Temporizadores de 16 bits.
Una Unidad Asincrnica Serie Full Duplex.
Modos de Direccionado Directo, Indirecto, Inmediato, Extendido y de Bit en sus
Instrucciones.
Instrucciones para la aritmtica binaria y decimal, incluyendo instrucciones para
la Multiplicacin y la Divisin.
Procesador Booleano integrado para las aplicaciones de control.
Modo Especial de Trabajo en el que se le pueden conectar al sistema de
forma externa hasta 64 Kilobyte de Memoria de Programas y 64 Kilobyte de
Memoria de Datos.
Qu elementos los diferencia? En la prctica a los microcontroladores de la familia MCs - 52 los debemos ver como una
ampliacin cuantitativa de los microcontroladores de la familia MCs- 51 y en esto estriban sus
diferencias, las que las podemos resumir en los siguientes tres aspectos:
La capacidad de Memoria de Programas interna aumenta a 8 Kilobyte. La capacidad de Memoria de Datos interna aumenta a 256 byte. El nmero de Temporizadores de 16 bits aumenta a 3.
Qu consecuencias traen estas ampliaciones?
-
Microcontroladores. El 8051 de la INTEL. 3399
El aumento en cantidad de las capacidades de memoria interna solo trae como consecuencias
ventajas para el diseador al contar con ms espacio para sus aplicaciones ya desde el momento
que coloca el microcontrolador en su sistema sin la necesidad de efectuar ampliaciones. En el caso
de la Memoria de Programa el aumento de la capacidad permite el poder contar con ms espacio
de memoria para almacenar los cdigos de los programas almacenados internamente y por lo
tanto poder resolver aplicaciones con un grado de complejidad que demanden programas ms
extensos. En el aso de la memoria de datos aumenta de forma significativa, en el doble, el espacio
para almacenar los datos temporales propios de cualquier aplicacin.
Por su parte el agregar un tercer Temporizador, adems de la ventaja que nos da el contar con un
circuito de estas caractersticas ms, integrado en el propio microcontrolador para la solucin de
las aplicaciones, trae como consecuencia la necesidad de aumentar el repertorio de Instrucciones
del microcontrolador con aquellas instrucciones destinadas para trabajar con este Temporizador,
as como el aumento del nmero de fuentes