Anda di halaman 1dari 50

SISTEMA DE DESARROLLO BASIC-52

MANUAL TÉCNICO

Circuitos, Programas y Aplicaciones


PROYECTO ELECOMP
SÍNTESIS DEL MANUAL TÉCNICO
El Manual Técnico del Sistema de Desarrollo BASIC-52, está configurado por capítulos.
En las siguientes líneas, existe un breve resumen sobre el contenido de cada uno de
ellos, en algunos casos al leer el resumen del capítulo, podemos discernir si es necesaria
su lectura, bien porque conocemos del tema o somos de los impacientes por entrar en
materia de una vez. Es recomendable hacer la lectura de cada capítulo que en el mejor
de los casos reforzará nuestros conocimientos.

LA INTRODUCCIÓN

En esta parte introductoria del manual, comenzamos a definir lo que es un


MICROCONTROLADOR, y a diferenciarlo de un MICROPROCESADOR. Conocemos qué
es un Sistema de Desarrollo y como está formado el Sistema de Desarrollo Basic-52
(SDB52), y la razón por la cual usamos el 8052-BASIC.

CAPÍTULO 1 : INTRODUCCION A LOS MICROCONTROLADORES

En este capítulo vamos a encontrar una evolución histórica del Microcontrolador desde
sus inicios hasta la actualidad. Para poder entender lo que es realmente un
Microcontrolador, es necesario el estudio de los Microprocesadores, ya que estos son los
antecesores del Microcontrolador.

Estudiamos el funcionamiento del Microprocesador, su organización interna, la estructura


de sus buses y entre otras cosas estudiaremos también como es la organización de un
Sistema Operativo basado en un Microprocesador, la secuencia de operaciones, la
ejecución de una instrucción y los puertos de entrada y salida.

I
Analizado lo que es un Microprocesador, entramos en materia al estudio de los
Microcontroladores, veremos lo que es un Sistema Microcontrolador y la diferencia entre
un Sistema basado en un Microprocesador y un Sistema basado en un Microcontrolador.

CAPÍTULO 2: LOS MICROCONTROLADORES 8051 DE INTEL

En esta parte del manual, estudiaremos la ARQUITECTURA de un Microcontrolador


desarrollado por la compañía pionera de los Microcontroladores – INTEL
CORPORATION – Dentro de la amplia gama de estos Microcontroladores estudiaremos
uno de la familia MCS-51, específicamente el 8051, que es de la generación avanzada de
8 bits.

Conocer su arquitectura es un paso fundamental para entender el 8052-BASIC.


Comenzaremos estudiando su arquitectura básica, descripción de pines, organización de
la memoria, función de los registros, puertos, temporizadores, cómo funcionan las
interrupciones, las comunicaciones seriales, en fin es el estudio del CORAZÓN del
Microcontrolador. Conocer su funcionamiento interno es esencial para programarlo
correctamente.

Para finalizar el capítulo estudiaremos el Microcontrolador 8052-BASIC, el cual es la


piedra angular del Sistema de Desarrollo Basic-52. Toda la Arquitectura estudiada en el
8051 de INTEL es la misma del 8052-BASIC solo que ”MEJORADA”, la diferencia está
en que el 8052-BASIC cuenta con un Timer extra, más memoria RAM y ROM el resto es
idéntico, la otra diferencia fundamental está en la memoria ROM, allí se encuentra
grabado el interpretador del Lenguaje BASIC-52, que se ejecuta al arrancar el
Microcontrolador.

CAPÍTULO 3: DENTRO DEL SISTEMA DE DESARROLLO BASIC-52

En este capítulo entramos en materia para conocer el SDB52 (Sistema de Desarrollo


Basic-52), si hemos comprendido su arquitectura estudiada en el Capítulo 2, el estudio
de este capítulo será muy provechoso para su programación, veremos cuales son las
características que tiene el SDB52, el esquemático o circuito electrónico, la ubicación de
Terminales y Jumpers.

El comprender el plano del circuito electrónico, la ubicación de los terminales y jumpers,


es imprescindible para poder desarrollar proyectos y programar correctamente el SDB52.
Encontramos en este capítulo el Mapa de Memoria del SDB52, hoja importante de tener a
mano a la hora de programar, encontraremos también las características más
importantes de los periféricos del SDB52, El 8255: Interfaz Paralela Programable (PPI),
El ADC0838: Convertidor Analógico Digital, La 93LC46: Memoria Serial de 1K, El
DS1210: Chip Nonvolatil, Hitachi 44780: Pantalla LCD.

II
Entre las características más importantes resaltaremos la dirección de cada uno de estos
periféricos en el Mapa de Memoria, los modos de programación, la descripción de sus
pines, la configuración de sus registros entre otros.

CAPÍTULO 4: PROGRAMANDO

Este capítulo es una introducción al Lenguaje de Programación BASIC, específicamente


estudiaremos el BASIC-52, al igual que el BASIC común, es un programa que se
construye a partir de instrucciones o palabras reservadas. Analizaremos los modos de
operación del BASIC-52, la forma de escribir un programa, el conjunto de instrucciones,
los nombres de las variables, algunos errores en el BASIC-52 y algunos ejemplos
bastantes sencillos.

Comprender esta parte del manual es el primer paso para hacer programas de mayor
envergadura, de allí la importancia de ejecutar los ejercicios de este capítulo, estos
ejercicios contienen ideas importantes que va a servir de clave para el desarrollo de
futuros proyectos.

CAPÍTULO 5: INICIALIZANDO EL SISTEMA DE DESARROLLO BASIC52

Este capítulo es básicamente el Manejo y Operación del SDB52, es por ello que
recomendamos su estudio en profundidad, para el uso correcto del equipo.

Estudiaremos como establecer la comunicación del SDB52, con el computador personal,


la forma de construir el cable de transmisión de datos, la forma de comprobar la
comunicación entre el SDB52 y la PC, mediante un mensaje que aparece en el monitor
de la computadora, realizaremos algunas pruebas básicas, instruiremos al SDB52.

Por otra parte analizaremos la forma correcta de escribir los programas, la forma de
descargarlo desde la PC hasta el SDB52, recomendamos enérgicamente hacer el estudio
de este capítulo, ya que el próximo es la ejecución de ejercicios de programación.

CAPÍTULO 6: EJERCICIOS DE PROGRAMACION BÁSICA CON EL SDB52

En este capítulo vamos a desarrollar varios proyectos de programación, aplicaremos


algunas de las técnicas aprendidas hasta ahora, combinándolas con algunas
herramientas tales como el software de comunicación: MIRROR, el uso del Protoboard,
el uso de tarjetas de interfase de potencia, entre otras.

Este capítulo servirá de tutorial para el desarrollo de futuros proyectos.

APÉNDICE

III
En las siguientes páginas encontraremos algunos temas que complementan el estudio de
los Microcontroladores, así como tópicos para tener en cuenta a la hora de programar,
como por ejemplo los Sistemas de Numeración. Comprenderlo es fundamental para
programar, así como la Conversión de Sistemas, Las Cantidades Binarias, Los Códigos y
Conversiones, todos estos temas son puntuales cuando queremos programar
correctamente.

Una colección de conocimientos básicos de electrónica, que servirán de base para el


desarrollo de circuitos electrónicos, algunos conceptos técnicos, y temas de suma
importancia a tomar en cuenta cuando estamos en la fase de Investigación y Desarrollo.
Dentro de los tópicos a consultar están: La Tabla de Colores de Resistencias y
Condensadores, Cálculo de Resistencias, Conexión de Transistores, Conversiones
Analógica-Digital, Los Cristales y el Tiempo, Hojas de Datos entre otros.

SISTEMA DE DESARROLLO BASIC-52


IV
MANUAL TÉCNICO
INTRODUCCIÓN

El Manual que tienes en tus manos, es una guía didáctica para diseñar, construir y probar
circuitos electrónicos basados en MICROCONTROLADORES.

¿QUE ES UN MICROCONTROLADOR?

Para responder a esta pregunta: imaginemos una computadora integrada en un solo


“CHIP” – Pastilla de Silicio o Circuito Integrado – que utiliza larga escala de integración
(LSI). Para tener una idea, un microcontrolador tiene unos 10000 transistores
almacenados en un área de 6mm 2. Esto lo hace ideal para proyectos que controlan
procesos y que requieren de inteligencia computacional, pero no necesitan de unidad de
disco, cd-rom, teclado, monitor o ratón.

La palabra MICRO, sugiere un dispositivo pequeño y CONTROLADOR, se le dice a un


dispositivo poderoso que puede ser usado para controlar, procesar objetos o eventos.
Hoy día, podemos encontrar una gran gama de microcontroladores de uso en el hogar,
por ejemplo: en un microondas, para controlar la temperatura, en una lavadora para
controlar los ciclos de lavado, en un dvd, en un tv, para la programación de canales, en
equipos de medición, equipos médicos en cámaras de video, la lista seria inimaginable.

En un computador personal, por ejemplo, podemos encontrar microcontroladores dentro


del teclado, dentro del ratón, en la impresora, en el modem y otros periféricos.

Un Microcontrolador es similar al Microprocesador que se encuentra dentro de las


computadoras personales. Ejemplos de microprocesadores inluyen a los Intel 8086,
Motorola 6800, Zilog Z80, y los recientes CPU Intel Celeron 3.0 GHz y los Pentium IV de
3.0 GHz, ambos Microprocesador y Microcontrolador contienen una Unidad Central de
Proceso – CPU –

La CPU ejecuta instrucciones de lógica, matemática, movimiento de datos y otras


funciones. Para hacer un computador completo un Microprocesador requiere de
almacenamiento de datos y programas, interfase de entrada y salida (I/O), interfase
para conectar dispositivos externos como teclado y monitor.

En contraste un Microcontrolador es una “COMPUTADORA” en un simple “CHIP”


(Pastilla de Silicio), que contiene la memoria, las interfases de entrada y salida (I/O), y
en algunos casos el convertidor Analógico-Digital (ADC), todo incluido dentro de la
Pastilla de Silicio mejor conocido como Circuito Integrado (IC). Aunque hay que tomar
en cuenta que la memoria, la interfase y otros elementos encontrados en estos Chip’s ,

V
son limitados, hace que estos microcontroladores se usen en pequeños sistemas de
control y que requieran de pocos componentes.

Ejemplos de Microcontroladores están: el popular INTEL 8051, el INTEL 8052, incluyendo


el 8052-BASIC, el 68HC11 de Motorola, los PIC de Microchip, incluyendo al famoso
PIC16F84, el Z80 de Zilog, y una gran variedad de microcontroladores existentes en el
mercado actual de Baja, Mediana y Alta Potencia para el Desarrollo de Proyectos.

SISTEMA DE DESARROLLO BASIC-52

¿Qué es el Sistema de Desarrollo BASIC-52?

Un sistema de desarrollo es un ”SISTEMA PARA LA ENSEÑANZA Y EL APRENDIZAJE


ASISTIDO POR UN COMPUTADOR” (SEAAC), con el cual se pueden experimentar
aplicaciones orientadas al control electrónico, permitiendo al estudiante el aprendizaje de
los conceptos teóricos, y la experimentación sobre una placa de desarrollo –
HARDWARE - , basado en un microcontrolador de la familia INTEL MCS-51,
específicamente el 8052-BASIC, el cual posee internamente en su memoria, el
interpretador del LENGUAJE DE PROGRAMACIÓN BASIC . De allí el nombre de
Sistema de Desarrollo BASIC-52.

¿ Y QUÉ ES BASIC ?

BASIC – Beginners A-purpose Symbolic Instruction Code - BASIC, no es más que un


Código de Instrucciones Simbólicas Todo-propósito para Principiantes. Es uno de
los códigos de programación más fáciles de usar y entender, ideal para la
programación de microcontroladores. Nació en el año 1964 en el Dartmouth
College, de la mano de John G. Kemeny y Thomas Kurtz, y fue concebido como
lenguaje interactivo, polivalente y de fácil aprendizaje y empleo.

En la década de los ochenta, el BASIC se constituyó en el Lenguaje de programación más


utilizado en el campo de las computadoras personales.

¿ Cómo está formado el Sistema de Desarrollo BASIC-52?

El Sistema de Desarrollo BASIC-52 está formado por:

Placa de Desarrollo – HARDWARE –

VI
Es un Sistema Electrónico basado en un Microcontrolador 8052-BASIC y conectado a un
computador a través de uno de sus puertos. Este sistema está físicamente en una placa
de circuito impreso que se denomina placa de desarrollo.

Entorno de Desarrollo – SOFTWARE –

Un entorno de desarrollo es un conjunto de programas – SOFTWARE - , que permiten


realizar todas las tareas necesarias para desarrollar el programa de una aplicación.
Básicamente consta de un programa de comunicación serial entre la Placa de Desarrollo
y el Computador, un programa editor donde escribimos el programa de aplicación, para
ser descargado luego al Sistema de Desarrollo a través de un cable entre el computador
y el sistema.

Las funciones típicas del programa de desarrollo, que se ejecutan en el computador son:

 Edición del programa de la aplicación


 Simulación de su comportamiento
 Consulta de datos del microcontrolador empleado
 Ensamble del programa
 Corrección sintáctica
 Depuración del programa
 Transferencia de programas para su ensayo
 Experimentación en el Lenguaje Basic
 Depuración final
 Eventual generación de un prototipo

¿POR QUÉ USAR EL 8052-BASIC?

El 8052-BASIC, es un Microcontrolador fácil de usar, de bajo costo y es una versátil


computadora integrada en un solo chip, es ideal para proyectos que requieran de una
gran cantidad de compuertas lógicas, pero menos que un sistema completo de
computación con teclado, monitor, ratón , unidad de disco, cd-rom etc.

El Microcontrolador 8052-BASIC incluye su propio Lenguaje de Programación llamado


BASIC-52, el cual está contenido en la memoria ROM del micro. Está almacenado como
un interpretador del Lenguaje BASIC. Dentro de este lenguaje se puede “ESCRIBIR”,
“CORRER” y “PROBAR” los programas rápidamente. Con más de cien (100) Comandos,
Instrucciones y Operaciones, el Basic-52 es más versátil que otros microcontroladores
que usen Basic.

Es un miembro de la familia 8051 de INTEL, siendo este el estándar de la popular


arquitectura MCS-51. Con unos pocos Circuitos Integrados (IC), y un programa

VII
almacenado en la memoria, el 8052-Basic, se puede usar para sensar, medir y controlar
procesos.

El 8052-Basic es prácticamente dos productos en uno: como 8052 Microcontrolador mas


el lenguaje BASIC incorporado.

Para comenzar a usar el 8052-Basic, se requiere de un mínimo circuito que consiste del
Microcontrolador 8052-Basic, y algunos componentes, cualquier computador personal
que servirá como “HOST” – anfitrión o computador central - , que tenga un puerto RS-
232 serial y un software de comunicación.

Con el 8052-Basic conectado al puerto serie de la Computadora como lo muestra LA


FIGURA tiene un Sistema de Desarrollo que tiene las siguientes posibilidades:

ENLACE SERIAL ENTRE


EL 80C52-BASIC Y LA PC
ELECOMP

SISTEMA BASIC-52

A LOS DISPOSITIVOS
ENTRADA/SALIDA

COMPUTADOR PERSONAL
CORRIDA Y ALMACEN DE PROGRAMAS

 Puede escribir y correr los programas Basic, puede usar el teclado, el monitor y otras
fuentes de la computadora para tipear y visualizar los programas y comandos. Recuerde
que el BASIC-52 es un lenguaje interpretado, por lo tanto se puede correr los programas
o ejecutar comandos inmediatamente después de haber escrito el programa.
 Puede usar las funciones del programa BASIC-52 permanentemente almacenados en
la memoria EPROM, “NO” necesita separar la EPROM del sistema.
 Puede almacenar los programas en el computador, puede escribir o editar programas
en la computadora y luego descargarlo en el sistema Basic-52.
 Al circuito básico se le puede añadir, Displays, Switches, Relays, y otros componentes
dependiendo de la necesidad del proyecto.
 Después de programar el sistema se puede desconectar la computadora de sistema
Basic-52 y el programa almacenado seguirá “CORRIENDO”.

VIII
INTRODUCCIÓN A LOS
MICROCONTROLADORES

Un microcontrolador es un circuito
integrado que contiene toda la estructura
de una microcomputadora, o sea, CPU
(Unidad Central de Proceso), memoria
RAM , memoria ROM, circuitos de
entrada-salida (I/O) y otros módulos con
aplicaciones especiales. Su nombre nos
indica sus principales características: mi-
cro por lo pequeño y controlador porque
se utiliza principalmente para controlar
otros circuitos o dispositivos eléctricos,
mecánicos, etc

IX
Este maravilloso componente resume, en
un solo circuito integrado, más de
cuarenta años de tecnología electrónica.
Es difícil encontrar en la actualidad un
aparato o una aplicación que no lo utilice
o no pueda utilizarlo para optimizar su
operación.

Se ha mencionado y confirmado muchas


veces que la electrónica es la tecnología
de los componentes. El desarrollo de
cada nuevo dispositivo de estado sólido
trae consigo técnicas de diseño Figura 1.1 Ejemplo de un circuito
diferentes, por lo general, más simples. con lógica cableada
En los años sesenta, para construir un
reloj digital, era necesario acoplar un Con los microprocesadores y ahora con
buen número de circuitos integrados los circuitos lógicos programables
lógicos. Al mismo tiempo, el diseñador (FPGA), los microcontroladores y los
debía poseer conocimientos muy claros circuitos de DSP (Procesamiento Digital
sobre cada uno de los elementos, para de señales), entre otros, es posible
realizar, con éxito, la integración. modificar cuantas veces se requiera el
programa, aún en forma remota por la
A partir de 1970, el panorama de la internet, y el circuito o aparato en el
electrónica y especialmente el de la cual están instalados, trabajará de una
electrónica digital, cambió radicalmente forma completamente diferente sin
cuando apareció en el mercado un nuevo modificar físicamente una sola conexión.
supercomponente: el microprocesador. De esta forma, el límite de los diseños
Esto introdujo un concepto novedoso que solo lo establece la imaginación de los
en la actualidad se conserva y refuerza programadores y la capacidad de los
cada vez más, el de la lógica dispositivos que lancen al mercado los
programada. Antes de los fabricantes especializados en estas
microprocesadores, los circuitos tecnologías.
electrónicos se diseñaban para una
función específica la cual no podía Consolidadas las técnicas digitales de
modificarse sin cambiar físicamente las los años sesenta, se creó entonces la
conexiones, el número y la cantidad de necesidad de profundizar en el estudio y
los diferentes elementos que los desarrollo de las aplicaciones para los
formaban a lo cual se le llamó la lógica microprocesadores y la programación en
cableada, figura 1.1.- lenguaje de máquina o assembler. Fué la
época de oro del 8080, el 8086, el Z-80,
el 6809, el 6502, el 68000 y otros
microprocesadores, utilizados como
circuitos centrales en las aplicaciones de
control.
X
En 1980, aproximadamente, los fabri- permiten enlazar otros dispositivos
cantes de circuitos integrados iniciaron como memorias y puertos de entrada o
la difusión de un nuevo circuito con de salida (I/O), formando un sistema
aplicaciones para control, medición e completo para cumplir con una
instrumentación, al que llamaron aplicación específica dentro del mundo
"microcomputador en un sólo chip" o, real. Para que el sistema pueda realizar
de manera más exacta y concisa: su labor debe ejecutar paso a paso un
microcontrolador. Para entender mejor la programa que consiste en una secuencia
estructura interna, el funcionamiento y de números binarios o instrucciones,
los orígenes de los microcontroladores, almacenadas en uno o más elementos
repasaremos primero el tema de los de memoria, generalmente externos al
microprocesadores. mismo. La aplicación más importante de
los microprocesadores y que cambió
LOS MICROPROCESADORES totalmente la forma de trabajar, ha sido
la computadora personal o
Desde el punto de vista funcional, un microcomputador.
microprocesador es un circuito
integrado, figura 1.2, Un solo microprocesador, utilizado en el
diseño de un sistema digital, puede
reemplazar una gran cantidad de
circuitos integrados de pequeña y
mediana escala como compuertas, flip-
flops, registros, contadores,
decodificadores, memorias, sumadores,
comparadores, etc, figura 1.3.

Figura 1.3 Tarjeta con circuitos


integrados individuales vs un micro
procesador

Figura 1.2 Microprocesador 8085

Que incorpora en su interior una unidad Esto es ventajoso desde varios puntos
central de proceso (CPU) y todo un de vista: facilidad de diseño,
conjunto de elementos lógicos que modularidad, versatilidad, flexibilidad,
XI
mantenimiento, bajo costo, confiabilidad, desarrollada por el hombre le había dado
poco consumo de energía, etc. tanto poder para crear otras y acelerar
su evolución en todos los campos. Para
Evolución histórica de los asimilar mejor el desarrollo de esta
microprocesadores tecnología, retrocedamos un poco en la
historia de la electrónica, sus
Dentro de los anales de la electrónica componentes y aplicaciones.
está el año de 1970 como la fecha de
invención del microprocesador. Desde Sin lugar a dudas, la senda la abrió el in-
entonces, este diminuto dispositivo, uno vento del tubo de vacío por Lee De
de los adelantos tecnológicos más Forest a comienzos del siglo, basado en
importantes de nuestro siglo, ha el descubrimiento de un fenómeno
revolucionado todos los campos de la llamado Efecto Edison. Este dispositivo
vida humana. Con el microprocesador se hizo posible la radio, la telefonía, la
inició una nueva era de desarrollo de la telegrafía inalámbrica, etc., e impulsó el
industria de las computadoras y de la desarrollo comercial e industrial de la
electrónica, la cual hasta el presente ha electrónica. Inclusive las primeras
ido evolucionando con una velocidad que computadoras eran fabricadas con tubos
aún sorprende incluso a los visionarios de vacío. Luego vino la revolución del
más futuristas. Nadie en esa época se transistor, desarrollado en los
imaginaba el impacto tan grande que laboratorios de Bell Telephone en 1948 y
causaría este desarrollo en la vida del utilizado a partir de 1950 a escala in-
hombre moderno. dustrial, con su inclusión en la
fabricación de todo tipo de aparatos de
Los aparatos electrónicos que utilizan radio, televisión, sonido, computadoras y
microprocesadores, entre ellos las en la industria militar y espacial, entre
computadoras personales y de escritorio, otras aplicaciones.
figura 1.4,
De los tres inventores del transistor (W.
Brattain, W. Shockley y J. Bardeen),
Figura 1.5,

Shockley fue el único que se dedicó a


Han cambiado totalmente la forma de desarrollar métodos de fabricación en
trabajar e investigar de los seres serie de este revolucionario dispositivo
humanos. Ninguna herramienta anterior en su empresa, Shockley Semiconductor

XII
Laboratories, dando nacimiento a una forma entre sí con alambres y con otros
nueva era en la industria electrónica y a componentes ¿por qué no fabricar de
la ubicación de esta tecnología en un una vez todo el conjunto de material
sitio de California cercano a San semiconductor y aislante, interconectado
Francisco que más tarde se llamó Silicon internamente para que cumpliera la
Valley o Valle del Silicio. En esta misma función del sistema total?
compañía se iniciaron los principales
científicos e ingenieros que más tarde Este planteamiento fue desarrollado en la
formarían sus propias empresas y práctica simultáneamente, pero en forma
desarrollarían los circuitos integrados y independiente, por dos empresas muy
los microprocesadores. importantes en la historia de la
electrónica: Fairchild Semiconductor y
El microprocesador es el máximo ex- Texas Instruments. En Fairchild dirigía el
ponente de la etapa siguiente al transis- equipo de trabajo Robert Noyce, y en
tor: la tecnología de los circuitos integra- Texas Jack Kilby. Como anécdota,
dos. El concepto de circuito integrado, podemos mencionar que los primeros
circuitos integrados salieron al mercado
en el año de 1959 a un precio de 450
dólares y solamente incluían cuatro tran-
sistores y varias resistencias.
Actualmente, un circuito integrado
cuesta entre 10 y 20 centavos de dólar y
un microcontrolador sencillo, con muchas
más prestaciones, puede costar hasta un
dólar o menos en escalas industriales. La
explosión de los circuitos integrados
desde el año 1960 hasta la fecha, ha
permitido el desarrollo de la electrónica
en una forma sorprendente.

Noyce renunció a la Fairchild en 1968 y


figura 1.6 fundó, en compañía de Gordon Moore y
An-drew Grove y con el respaldo
Figura 1.6 Estructura interna básica económico de Arthur Rock, la empresa
de un circuito integrado Intel en donde se dieron los primeros
pasos para el desarrollo del
empezó a rondar por los cerebros y microprocesador. Esta compañía empezó
mentes prodigiosas de quienes a vislumbrar un gran mercado en el área
trabajaban en el diseño y fabricación de de las computadoras y su investigación
transistores. El planteamiento fue más o se orientó hacia el reemplazo de los
menos el siguiente: si se fabricaban circuitos de memoria magnéticos con
transistores en forma individual y luego núcleo de ferrita, por circuitos de
se tenían que unir siempre de la misma memoria basados en Semiconductores.
La base técnica consistió en el uso de un
XIII
simple flip-flop como elemento de memo- manipulaba datos de cuatro bits. Intel
ria. Así se creó el primer circuito de desarrolló muy pronto, en 1972, el 8008,
memoria tipo RAM llamado el 1103, con el cual podía procesar datos de ocho bits,
una capacidad de 1024 bits. pero era muy lento.

El diseño del microprocesador se inició Para remediar esto, Intel desarrolló un


en un grupo de trabajo de Intel dirigido sustituto, el 8080, y posteriormente el
por Ted Hoff, un brillante ingeniero 8085, compatible con el primero, con
egresado de la Universidad de Stanford. funciones adicionales y menos circuitos
Todo empezó cuando Intel se decidió a de soporte. Un equipo de diseñadores
firmar un contrato con una compañía que antes había trabajado para Intel en
japonesa fabricante de calculadoras (la el 8080 formó la Zilog Inc. y construyó el
desaparecida Busicom Corporation). Esta microprocesador Z-80, el cual incorpo-
quería que se les fabricara un conjunto raba un conjunto de instrucciones más
de circuitos integrados que reemplazaran extenso que el 8080, aunque era
la gran cantidad de componentes que te- compatible con este último. Este
nían las calculadoras de ese entonces. microprocesador ha sido uno de los más
utilizados en el campo de control.
Después de un largo trabajo, se llegó
hasta lograr que todo el circuito fuera Por la misma época en que se
reemplazado por tres chips, pero estos presentaba al mercado el 8080, otra
resultaron ser de un tamaño mayor de empresa de semiconductores, Motorota,
acuerdo a los requerimientos. A Hoff se desarrolló el 6800, un microprocesador
le ocurrió que debía agrupar toda la de 8 bits con un diseño completamente
parte de proceso aritmético y lógico en distinto pero con iguales características.
un solo circuito y el resto de la Motorola perfeccionó el 6800 hacia el
calculadora en los otros dos circuitos. 6809, considerado como uno de los
Con la intervención de otro diseñador, mejores procesadores de 8 bits de todas
Federico Faggin, el proyecto se llevó las épocas.
acabo con todo éxito. A este circuito, de
2250 elementos integrados en un área A pesar de sus excelentes características,
de 3 x 4 milímetros, se le llamó el 6809 no tuvo el éxito comercial que se
microprocesador. También se le dio el esperaba. Dicho éxito lo obtuvo otro
nombre de CPU (CentralProcessing Unit) derivado del 6800: el 6502, producido
o MPU (Micro Processing Unit) por MOS Technology. Con este
microprocesador se fabricaron las
Aunque este circuito tenía ya muchas de primeras computadoras personales como
las características de una unidad central la PET de Commodore y la Apple II de
de proceso integrada, el primer Apple Computer Inc.
microprocesador en un sólo chip,
fabricado como tal, fue el 4004 de Intel, A partir de ese momento, se estableció
diseñado para reemplazar grandes canti- una guerra técnica y comercial, que aún
dades de circuitos integrados TTL. El subsiste, entre Intel y Motorola, la cual
4004 era un chip muy sencillo que los ha llevado a ser los dos grandes
XIV
líderes indiscutibles del mercado de los Dentro de los microprocesadores de la
microprocesadores. Pero el desarrollo del plataforma PC, actualmente podemos
microprocesador no se quedó ahí. A mencionar los productos de las firmas
principios de la década de los 80, Intel, AMD, Cyrix y Digital. Las
empezaron a aparecer los microprocesa- referencias más novedosas son el
dores de dieciséis bits, mucho más Pentium IV, el Althon, el 686 MMX y el
potentes. El primero en salir al mercado Alpha, respectivamente, figura 1.7.
fue el 8086 de Intel en 1978, el cual fue
adoptado por la IBM para la fabricación
de su famosa IBM PC. Lo siguieron de
cerca el 68000, el 68020, el 68030 y el
68040 de Motorola. Con estos mi-
croprocesadores se inició en Apple una
nueva familia de microcomputadoras: las
Macintosh. Luego, en un consorcio entre
Apple, IBM y Motorola se desarrolló una
nueva familia de microprocesadfores: los
Power PC los cuales se utilizan en las
computadoras Apple e IBM; actuales.

Por los lados de Intel se desarrollaron el


8088 utilizados en el IBM XT, el 80186,
el 80286 utilizado para la IBM AT, el
80386, el 80486 y los Peintium. Todos
estos microprocesadores de Intel han
sido utilizados para la fabricación de
microcomputadoras llamadas clones, lo
que ha hecho que esta empresa siga Figura 1.7 Microprocesadores
siendo el mayor fabricante de modernos
microprocesadores del mundo.

La siguiente generación fueron los Pen-


tium II, Pentium III y actualmente los
Pentium IV con los cuales se han logrado
velocidades de procesamiento
impresionantes y una enorme capacidad
de memoria, lo que los hace apropiados
para moverse sin problemas en entornos
como la internet, el video, la multimedia,
el procesamiento de datos y el trabajo en
tiempo real.

Los Microprocesadores actuales

XV
LOS MICROPROCESADORES

Son los circuitos integrados que


revolucionaron la electrónica al permitir
el diseño de todo tipo de aparatos
programables. Aunque su principal
aplicación son las computadoras
personales, también se encuentran en la
mayoría de los circuitos de control.

XVI
El microprocesador, corazón de unidades con funciones muy específicas,
las computadoras figura 2.2

Una computadora digital es un equipo


especializado en el procesamiento de Figura 2.2 estructura general de una
información, cuyo principio de
funcionamiento es relativamente sencillo,
si lo vemos desde el punto de vista de
los bloques que lo conforman. Cada uno
de esos bloques está formado por varios
circuitos integrados fáciles de entender,
la parte compleja la encontramos cuando
estudiamos el interior de dichos circuitos,
pero esto en realidad no es de mucho
interés para el usuario común.

Una computadora digital se compone de


tres bloques fundamentales, figura 2.1

computadora digital

cuyas funciones describiremos a


continuación.

La unidad de entrada es quien recibe


información del mundo exterior, ya sea
de un operador humano o un fenómeno
físico; esta unidad permite llevar esa
información hacia la unidad de memoria
para poder procesarla posteriormente;
dispositivos de entrada son, por ejemplo,
los teclados y el ratón. La unidad de
Figura 2.1 Bloques principales de
salida entrega los resultados del
una computadora digital
procesamiento al mundo exterior.

una unidad de entradas y salidas, una


Esta información se lleva desde la unidad
CPU y una memoria. A su vez, la unidad
central o CPU, hacia circuitos o aparatos
de entradas y salidas se divide en un
externos llamados periféricos que se
bloque de entrada y otro de salida. Del
encuentran fuera de la computadora, por
mismo modo, la CPU se divide en una
ejemplo monitores, impresoras o
unidad aritmético-lógica (ALU), y una
parlantes.
unidad de control y el bloque de
memoria en memoria RAM y memoria
ROM, obteniéndose seis bloques o
XVII
La unidad de memoria se encarga de Dentro de esta CPU, la unidad de control
almacenar los datos y los programas que se encarga de la interpretación y
operan sobre esos datos y es una de las ejecución de las instrucciones del
más importantes de una computadora. programa. También controla todos los
Se distinguen dos sistemas diferentes de componentes de una computadora por
memoria: la de almacenamiento primario medio de líneas de conexión llamadas
y la de almacenamiento secundario. La buses. La ALU se encarga de realizar las
memoria de almacenamiento primario se operaciones lógicas y aritméticas. Las
refiere a los circuitos que guardan los principales funciones aritméticas
programas que se van a ejecutar y los realizadas en la ALU incluyen la AND, la
datos que se necesitan durante la OR, la EXOR y la comparación. Como he-
ejecución de estos programas, y la mos visto, el microprocesador es quien
memoria de almacenamiento secundario, lleva a cabo las principales funciones de
se utiliza para almacenar grandes un sistema de cómputo, y quien integra a
cantidades de datos que no se requieran los demás componentes y ejecuta las
con frecuencia para la operación de la instrucciones. Es por eso el principal
computadora. Sistemas de este tipo son componente de una computadora.
los discos duros y los discos de 3.5".
Funcionamiento del
Dentro de la memoria de Microprocesador
almacenamiento secundario se
distinguen tres categorías: la ROM (Read Desde un punto de vista conceptual, un
Only Memory) o memoria de solo lectura, microprocesador ideal es un dispositivo
donde se almacenan cierto tipo de digital que acepta o lee datos aplicados a
programas como el del sistema de un cierto número de líneas de entrada
arranque de una computadora (BIOS); la (N); los procesa de acuerdo a las
RAM (Random Access Memory) o instrucciones secuenciales de un
memoria de lectura y escritura, donde se programa almacenado en su memoria, y
almacenan los datos que los programas suministra o escribe los resultados del
van generando y la cache que es una proceso en un cierto número de líneas de
memoria RAM con tiempo de acceso muy salida (M), figura 2.3
rápido donde se mantienen los datos
más utilizados durante la ejecución de un
programa.

La unidad central de proceso (CPU:


Central Processing Unit) reúne la unidad
de control y la unidad aritmético-lógica
en un solo bloque. Esta última también
se conoce como ALU (Aritmetic Logic
Unit). En la práctica, la unidad central o
CPU se encuentra en forma de un circuito
integrado llamado microprocesador.

XVIII
acomodar un número limitado de
terminales o pines para estas funciones.
Como veremos más adelante, para
simplificar el número de pines, la
mayoría de microprocesadores utilizan las
mismas líneas para la entrada y salida de
datos.

De otro lado, mientras que un


microprocesador ideal tiene,
teóricamente, una memoria interna
ilimitada, los microprocesadores reales
solo disponen de una cantidad limitada
para almacenar datos e instrucciones.
Por esta razón, un microprocesador debe
tener la posibilidad de comunicarse con
una memoria externa. Para lograrlo, ne-
Figura 2.3 El microprocesador ideal cesita disponer también de un conjunto
de líneas de selección o direccionamiento
Los datos de entrada pueden provenir de adicionales
interruptores, sensores, convertidores
A/D, teclados, etc. Los datos de salida Finalmente, para sincronizar su
pueden estar dirigidos a actua-dores, operación con la de los componentes
indicadores o displays, pantallas, externos conectados al mismo y tener un
convertidores D/A, alarmas, impresoras, control global de los buses de datos y
etc. El programa almacenado determina direcciones, un microprocesador necesita
como deben ser procesados los datos de disponer también de un conjunto de lí-
entrada y, en consecuencia, que infor- neas de control. Por tanto, un
mación debe enviase a las líneas de microprocesador requiere de un bus de
salida. datos, un bus de direcciones y un bus de
control para comunicarse con los demás
El soporte físico de las instrucciones del componentes
programa es la memoria, la cual
almacena los datos para que sean Naturalmente, el microprocesador ideal
procesados. En un momento dado, los (un dispositivo con sólo entradas y
niveles lógicos (unos y ceros) de las salidas y un programa almacenado en él)
líneas de salida de un microprocesador, no existe." Sin embargo, la tendencia de
dependen no solamente del programa en los nuevos diseños es incluir cada vez
sí sino también de la historia de las más funciones en una misma pastilla,
señales de entrada hasta ese momento. incluyendo unidades de memoria e
Mientras que en un microprocesador ideal interfaces entrada/salida como en el
no existen restricciones respecto al caso de los microcontroladores.
número de entradas y salidas, los
microprocesadores reales sólo pueden
XIX
ORGANIZACIÓN INTERNA DE internamente un microprocesador para
UN MICROPROCESADOR poder utilizarlo. Existen partes y
funciones que normalmente deben estar
La organización interna de un presentes: un reloj, una ALU, varios
microprocesador, es decir, su registros, un contador de programa, etc.
arquitectura, varía notablemente de un
dispositivo a otro. Por esta razón, es En la Figura 2.5 se muestra un ejemplo
difícil definir un modelo de de la arquitectura interna de un
microprocesador que represente todas microprocesador simple, el 8085 de Intel
las alternativas posibles puesto que cada
uno tiene una lógica de funcionamiento Por ejemplo, el reloj o circuito de
propia. La arquitectura, y especialmente oscilación puede estar o no incorporado
el tipo, número y organización de los en el microprocesador, pero es
registros internos, es una consideración absolutamente necesario puesto que
importante a la hora de elegir un tiene la misión de sincronizar todas las
microprocesador para una aplicación operaciones de debe realizar el
determinada dispositivo. Del mismo modo, para
ejecutar un programa, un micropro-
Un registro es una posición de memoria cesador debe tener en su interior
conectada a la CPU donde se pueden registros que le permitan almacenar
retener cifras binarias. Está formado por información, realizar lecturas,
elementos lógicos (compuertas, flip- modificaciones a los datos, etc
flops, etc.) que, al ser tomados en
conjunto, pueden almacenar números Operación básica de
binarios de 4, 8, 16 ó más bits, figura un microprocesador
2.4.
Analizando un sistema de cómputo, nos
damos cuenta que el microprocesador o
CPU es la parte del sistema encargada
de leer, interpretar y ejecutar las
instrucciones del programa almacenado
en la memoria.

Desde un punto de vista conceptual, la


acción de leer e interpretar las
Figura 2.4 registros de un instrucciones la realiza una parte del
microprocesador microprocesador denominada unidad de
instrucción y su ejecución corre a cargo
Se utilizan esencialmente para de otro circuito especializado dentro del
almacenamiento temporal, en el que el mismo denominado unidad de ejecución,
contenido cambia continuamente figura 2.6

Esto no implica que se deba conocer con


demasiado detalle, cómo funciona
XX
instrucciones que el microprocesador
necesita en cada instante. Normalmente,
las instrucciones se leen y ejecutan en el
mismo orden en que fueron almacenadas
en la memoria. Sin embargo, la
presencia de instrucciones de control de
programa puede alterar la secuencia de
ejecución de estas instrucciones.

Para llevar la cuenta de las direcciones


de las instrucciones, la unidad de
instrucción incorpora un registro especial
llamado contador de programa o PC
(Program Counter). Cada vez que se lee
una instrucción, el contador de programa
se incrementa automáticamente para
suministrar la dirección de la posición de
memoria donde se encuentra la siguiente
instrucción o dato del programa.

Cada vez que un microprocesador recibe


una instrucción, la almacena en un
registro interno del mismo llamado
registro de instrucciones con el fin de
proceder a su decodificación o
interpretación y buscar en la memoria
ROM el conjunto de microinstrucciones
Figura 2.6 unidades de instrucción y necesarios para su ejecución. Esta
ejecución función la realiza un circuito denominado
decodificador de instrucciones.
La unidad de ejecución, a su vez,
contiene una unidad aritmético-lógica o
Además del contador de programa y el
ALU y un conjunto de registros auxiliares.
registro de instrucciones, un
La ALU se encarga de realizar una gran
microprocesador contiene usualmente
variedad de operaciones aritméticas y ló-
otros registros para facilitar el acceso a
gicas, y los registros de almacenar
las instrucciones y a los datos. Algunos
temporalmente información. Las distintas
de estos registros son programables en
funciones realizadas por el
el sentido de que su contenido puede ser
microprocesador quedan especificadas
alterado por software (instrucciones)
por su conjunto de instrucciones.
mientras que otros son inaccesibles des-
de el punto de vista de programación y
La unidad de instrucción lleva la cuenta
su contenido sólo lo puede determinar y
de las posiciones o direcciones de
consultar el microprocesador.
memoria donde se encuentran las
XXI
La mayoría de los microprocesadores,
por ejemplo, incluyen un registro
especial llamado acumulador (Registro A)
que es utilizado por muchas
instrucciones como fuente o destino de
datos. También es muy común la
presencia de un registro de estado que
suministra información relativa a la
ejecución de ciertas instrucciones como
sobreflujo, paridad, generación de
acarreo, resultado negativo o cero, etc.

Muchos microprocesadores poseen


también un conjunto de registros de
propósito general que pueden ser
utilizados para almacenar direcciones de
memoria, datos, resultados intermedios
y otros propósitos. El número y tipos de
registros que posee un microprocesador,
es una parte muy importante de su
arquitectura y programación.

En la figura 2.7 se muestra un modelo


genérico de microprocesador que ilustra
los conceptos anteriores.
Figura 2.7 Arquitectura de un
microprocesador genérico

Estructura de buses de un
Microprocesador

En la figura 2.8 se muestra la


estructura de buses generalizada de un
microprocesador. Externamente, el
dispositivo cuenta con un bus de datos,
un bus de direcciones y un bus de
control. En las siguientes secciones
describiremos la función y las
características de cada uno. Además de
estos tres buses principales, un Figura 2.8 estructura de buses
microprocesador debe disponer también generalizada
de un bus de alimentación, el cual hace
llegar la corriente de la fuente a sus Las líneas de los buses de un
distintos componentes internos. microprocesador transportan voltajes que

XXII
representan números binarios (1 y 0). El bidireccional para un microprocesador de N
microprocesador, los puertos de bits se ilustra en la figura 2.9.
entrada/salida y la memoria, responden
únicamente a esos números binarios Un bus bidireccional puede construirse con
codificados electrónicamente. compuertas tri-state para controlar la
dirección del flujo de información. La
El bus de datos. Líneas figura 2.9 (a) representa un
bidireccionales microprocesador de cuatro bits con un bus
de datos bidireccional. En la figura 2.9
El bus de datos lleva datos e (b) se muestra la configuración de una
instrucciones hacia y desde el línea de bus bidireccional. Las líneas de
microprocesador. selección SI y SO proceden del bus de
control.
Las instrucciones proceden siempre de la
memoria mientras que los datos que
procesa u obtiene el programa de ins-
trucciones, puede provenir de o ir hacia
la memoria o los módulos de
entrada/salida.

Generalmente, el número de líneas de


entrada es igual al número de líneas de
salida. Este número define la longitud de
la palabra de datos del microprocesador.
Son comunes longitudes de palabra de 4,
8, 16, 32 y 64 bits. En la figura 2.4, por Figura 2.9 (a) microprocesador de 4
ejemplo, se muestra un micro- bits con bus de datos bidireccional (b)
procesador de 8 bits. En este caso, tanto línea de bus bidireccional
el bus de datos de entrada como el bus
de datos de salida con de un byte, es La transferencia de datos de entrada o
decir de ocho (8) bits. salida desde o hacia el bus de datos se
realiza, respectivamente, con SISO = 10
El número total de pines asignado en el y S1S0= 01. La línea de bus puede
circuito integrado del bus de datos puede inhabilitarse con S1 SO = 00 para im-
reducirse prácticamente en un 50% si se pedir cualquier transferencia de
utilizan los mismos puntos de conexión información entre el bus de datos y el
tanto para los datos de entrada como microprocesador.
para los datos de salida, pero no para
ambos simultáneamente. El bus de datos Las líneas de selección pueden utilizarse
así constituido es bidireccional en el sentido para informar a los módulos externos
de que la información puede circular que comparten el bus de datos el estado
entrando o saliendo del microprocesador. del bus bidireccional en un momento
La forma de representar un bus de datos dado. Este es el propósito de las líneas

XXIII
marcadas como DBOUT (bus de datos en
el modo de salida), DBIN (bus de datos
en el modo de entrada) y HOLDA (bus de El bus de direcciones.
datos en estado de alta impedancia) en Espacio de memoria
la figura 2.9 (b).
El bus de direcciones contiene la
La información contenida en el bus de información digital que envía el
datos puede representarse microprocesador a la memoria y demás
numéricamente de varias formas: elementos direccionables del sistema
binaria, octal y hexadecimal, para seleccionar una posición de memo-
principalmente. Considérese, por ria, una unidad de entrada/salida o un
ejemplo, un microprocesador de 8 bits registro particular de la misma. El
con el byte 10111011 en las líneas D7 a número de líneas disponible en el bus
DO del bus de datos, siendo D7 el bit más de direcciones (n) determina el tamaño
significativo o LSB y DO el bit menos máximo de memoria que puede ser
significativo o LSB. acomodado en el sistema (2n).

Esta palabra de datos representada Así, por ejemplo, un microprocesador


como un número binario es simplemente con un bus de datos de 8 bits y un bus
10111011(B) ó 10111011(2), de direcciones de 16 bits (típico) tal
representada como número octal es como el Z-80 puede manejar
273QÓ 2738 y como número directamente una memoria de 216 =
hexadecimal (la más usada) es BBH ó 65536 (64K) posiciones, cada una
BB16. La forma de convertir números conteniendo un byte (palabra de 8 bits).
binarios en octales o hexadecimales y
viceversa se explicará en detalle en la Naturalmente, una vez seleccionada una
sección de programación. Los sufijos B,Q posición de memoria, el microprocesador
y H, y los subíndices 2, 8 y 16 enfatizan debe estar en capacidad tanto de
el sistema numérico (binario, octal y almacenar información en esa
hexadecimal) de cada presentación. localización (operación de escritura)
como de extraerla (operación de lectura).
A pesar de que el sistema hexadecimal
proporciona una forma muy compacta y La cantidad de memoria utilizada en un
concisa de expresar el contenido de un sistema con microprocesador depende de
bus de datos, no podemos olvidarnos la aplicación específica y es a menudo
completamente de la representación inferior a la máxima que puede manejar
binaria. En una aplicación real, esta el bus de direcciones. El conjunto
última nos permite identificar fácilmente, completo de localizaciones de memoria a
por ejemplo, cual interruptor ha de ser las que puede tener acceso un
abierto o cerrado en un momento dado microprocesador, se denomina espacio
para obtener una condición de entrada de memoria.
específica o cual lámpara ha de ser
energizada para obtener un efecto de Así, por ejemplo, el espacio de memoria,
salida determinado. de un microprocesador de 8 bits con un
XXIV
bus de direcciones de 16 bits (por
ejemplo el 8080) es simplemente 216 =
64K.

En el caso de un microprocesador de 8
bits con un bus de direcciones de 16 bits,
el espacio de memoria puede ser
visualizado gráficamente como un mapa
de 65536 direcciones de memoria, cada
una conteniendo un byte, la más baja de
Figura 2.10 espacio de memoria
las cuales es 0000H y la salida más alta
FFFFH, Figura 2.10.

XXV
Note que la dirección de memoria se control, conjuntamente con las del bus
incrementa en 1000H cada 4K (=4096) de direcciones, determinan que
direcciones de espacio de memoria.
Observe también que cada 1K (=1024)
posiciones de memoria, la dirección de
memoria se incrementa en 400H. La
memoria puede dividirse también en
páginas de memoria, cada una contiene
256 palabras y cubre 100H direcciones
de memoria. Hay, por tanto, 4 páginas
en IK de memoria. Las direcciones en la
página de más bajo orden van desde
0000H hasta OOFFH, en la siguiente de
direcciones la dirección de la posición de
desde 0100H hasta 01FFH, y así
sucesivamente.

El bus de Control

El bus de control contiene la información


que envía el microprocesador a los
elementos del sistema o bien la recibe de
Figura 2.11 diagrama de un sistema
estos con el propósito de sincronizar la
basado en un microprocesador
operación de los circuitos externos. El
número de líneas del bus de control es
elementos se comunican con el
variable y depende del microprocesador
microprocesador en un momento dado.
particular utilizado.
Estos tres buses configuran el bus del
sistema y el gobierno del mismo es
Organización de un sistema responsabilidad del microprocesador.
operativo basado en
microprocesador
La secuencia de instrucciones que
constituyen el programa que debe
En la figura 2.11 se muestra la
ejecutar el microprocesador están
estructura organizativa de un sistema
almacenadas en un área de la memoria.
típico basado en microprocesador. Note
En el momento de iniciar el sistema, el
que consta de cuatro elementos
microprocesador sitúa en el bus de
principales: una memoria, un
direcciones la dirección de la posición de
microprocesador, un puerto de entrada y
memoria donde se encuentra la primera
un puerto de salida.
instrucción. Como resultado, la memoria
entrega esta información en el bus de
El microprocesador está conectado a
datos. Después de interpretar y ejecutar
todos los otros componentes a través del
la primera instrucción, el
bus de datos. Las señales del bus de
microprocesador busca la siguiente

XXVI
instrucción, la ejecuta y así PALABRA: Es un grupo de bits que se
sucesivamente. La generación de la serie tratan como una sola unidad. El más
de instrucciones necesarias para que el común es el byte, el cual está formado
microprocesador realice una tarea por ocho (8.) bits.
determinada, es lo que se denomina su
programación. Cuando se trabaja con un
microprocesador, es importante
Secuencia de operación de un comprender su conjunto de instrucciones
sistema basado en un y ser capaz de utilizarlas en la
microprocesador elaboración de programas; se debe
entender la forma como el
Hasta aquí hemos visto la arquitectura microprocesador las ejecuta y adquirir la
genérica de un microprocesador y de un habilidad para emplearlas eficientemente
sistema basado en uno de estos en la manipulación de datos.
dispositivos; ahora analizaremos con
más detalle los pasos que sigue un Para ejecutar las operaciones indicadas
sistema de esta naturaleza para ejecutar por una instrucción, el microprocesador
las instrucciones contenidas en un debe empezar por direccionar o
programa y aprenderemos como trabajan encontrar la posición de memoria donde
en conjunto cada uno de los bloques del se encuentra la instrucción, leerla y
sistema para desarrollar estas tareas. decodificarla o interpretarla por medio de
sus circuitos internos. Los pasos
Un microprocesador es un diminuto anteriores constituyen lo que se
conjunto de miles o millones de denomina ciclo de instrucción. Durante
elementos lógicos e interconexiones su operación normal, un microprocesador
diseñado para responder a las no hace otra cosa que ejecutar
instrucciones de un programa, el cual le repetidamente ciclos de instrucción.
indica lo que debe hacer en cada
instante. Sin un programa que le de vida, Para ejecutar un programa, un
un microprocesador y todo el hardware microprocesador debe tenerlo
conectado a su alrededor, sería una almacenado en forma binaria (patrones
masa inerte de componentes electrónicos 1 y 0) en posiciones adyacentes de la
sin un objetivo específico. De hecho, la memoria de programa del sistema. Esta
función primaria de un microprocesador forma binaria del programa se
es ejecutar programas. denomina lenguaje de máquina y es el
único lenguaje que entiende el
Las instrucciones que constituyen un microprocesador. En la figura 2.12 se
programa se almacenan en la memoria muestra un ejemplo de un programa en
del sistema como patrones de unos y lenguaje de máquina para un
ceros, organizados en grupos de 8, 16, microprocesador 8085. Para evitar la
32, y más bits, dependiendo de la confusión que, desde el punto de vista
longitud de la palabra de datos del del programador, puede generar una
microprocesador. larga lista de unos y ceros, estos códigos
se pueden representar en forma
XXVII
hexadecimal, constituyendo lo que se No todos los códigos de un programa
denomina un programa o código objeto. objeto o en lenguaje de máquina,
En otras palabras, corresponden a instrucciones
ejecutables. Mucho de ellos corresponden

a datos y direcciones que son utilizados


Figura 2.12 Ejemplo de un programa por el programa para propósitos
en lenguaje de máquina particulares. Los códigos
correspondientes a instrucciones
un código objeto es, simplemente, una ejecutables se denominan comúnmente
representación abreviada de un códigos operacionales (opcodes). Por
programa en lenguaje de máquina. Por tanto, en un sistema de 8 bits, (1 byte)
ejemplo, 10111101 se representa como situados en algún lugar de la memoria.
BD, 0000 0001 como 01, 1110 0110
como E6, 0000 1111 como 0F, etc. Estas secuencias representan a su vez
una mezcla de instrucciones para el
microprocesador (opcodes) y datos sobre
XXVIII
los cuales ha de operar el mismo. Cada microprocesador, en el cual basaremos
código de operación le indica, directa o nuestro análisis de la interacción entre
indirectamente al microprocesador, la cada una de las Partes del sistema y la
dirección de memoria donde se secuencia que presenta.
encuentra almacenada la siguiente
instrucción ejecutable. Al recibir un En este diagrama se puede notar cuatro
código de operación, los circuitos bloques fundamentales: la memoria, la
internos del microprocesador lo unidad de control, la unidad operativa y
descifran. La información obtenida el módulo de entradas y salidas. Todos
permite al dispositivo identificar la ellos conectados a través de los buses de
naturaleza de los bytes que siguen al direcciones, datos y control.
opcode.
EL BLOQUE 1: Es la memoria; en ella se
El conjunto de códigos de operación almacenan una serie de cantidades
(opcodes) a los cuales puede responder codificadas en ocho 8 bits. Para entender
en microprocesador, constituye su la operación de una memoria, puede
conjunto de instrucciones (instrucción hacerse una analogía con un casillero de
set). Cada microprocesador tiene su correos, donde existen muchas casillas
propio conjunto de instrucciones, cada para diferentes usuarios, cada una con
una representada por un opcode un número o dirección que la identifica y
diferente. El número máximo de códigos con la propiedad de almacenar cualquier
de operación que puede descifra un clase de información.
microprocesador es igual a 2n, siendo N
el tamaño de la palabra de datos del Pues bien, una memoria posee un
mismo. conjunto de posiciones cada una con su
propia dirección, y en cada una de
Las instrucciones de un microprocesador dichas posiciones puede existir cualquier
pueden agruparse en tres grandes dato de ocho bit
categorías según su función: la primera
son las instrucciones de transferencia de La posición que se va acceder es
datos, las cuales mueven información sin indicada por el bus de redirecciones al
alterar su contenido de una parte a otra decodificador de direcciones (DI), el cual
del sistema; la segunda categoría es la es un dispositivo de n entradas 2n
de procesamiento de datos; estas salidas. Dependiendo de la entrada
instrucciones transforman la información binaria que lea, habilita la lectura de una
desde el punto de vista lógico o dirección determinada por medio de la
aritmético; y la tercer categoría, son las activación de la línea correspondiente,
instrucciones de control de programa, figura 2.15. los 8 bits de la posición
ellas determinan la secuencia de accedida salen por el bus de datos hasta
ejecución de las instrucciones. el registro de datos (RD), si se efectúa
una operación de lectura.
En la figura 2.14, observamos un
diagrama simplificado de la arquitectura Cuando se trata de una operación de
de un sistema basado en un escritura, el contenido digital de las 8
XXIX
líneas del bus de datos se carga en el Son memorias de “sólo lectura” y se
registro de datos y, desde él, en las 8 utilizan para guardar los programas o
celdas de la posición direccionada. El datos fijos.
proceso de direccional una posición y
leer o grabar un dato se denomina ciclo MEMORIAS RAM (randon access
de memoria. memory):

El contenido de sus posiciones puede ser


Figura 2.15 Según el dato leído y escrito. Al igual que las memorias
introducido por el bus de ROM, son de acceso aleatorio, es decir,
direcciones, se habilita la que para acceder a una posición
comunicación con una determinada determinada no hay que pasar por las
posición de memoria anteriores, como sucede en las cintas y
discos magnéticos. Son las más rápidas y
su tiempo de acceso se mide en
nanosegundo.

El principal inconveniente de las


memorias tipo RAM es que son
volátiles, o sea, al cortarse el
suministro de energía eléctrica, cuando
se desconecta el sistema, pierden la
información que
Contenían. En un sistema con
microprocesador, se utilizan este tipo
de memorias para almacenar el
resultado de las operaciones y los datos
de las
Variables que se van creando en el
RECUERDE QUE: programa.

La memoria principal de un sistema EL BLOQUE 2: Es la unidad de control


basado en un microprocesador que cuya función primordial es la de
construye con memorias de tipo interpretar y ejecutar las instrucciones.
electrónico, que se clasifican en dos El código binario de la operación que se
grandes grupos: va a ejecutar, se deposita inicialmente
en el Registro de Instrucciones (RI) y
MEMORIAS ROM (read only luego se traslada al Decodificador de
memory): Instrucciones (DI), cuya misión es
seleccionar en una memoria ROM un
Son memorias que una vez grabadas, conjunto de posiciones que
permanencen con dicha información corresponden al código recibido y en las
permanente y sólo pueden ser leídas. que se encuentran los códigos de las
operaciones elementales (o
XXX
microinstrucciones) que componen las sistema los datos procedentes del
diferentes etapas en las que se divide la exterior, así como de llevar los re-
ejecución de la instrucción decodificada. sultados a los periféricos del mundo real.

Las microinstrucciones van pasando al Secuencia de operación de


Secuenciador (S), que es el circuito una instrucción
lógico de control y tiempos el cual
gobierna a todos los elementos del En un microprocesador, el principio de
sistema y lleva a cabo la ejecución ejecución de cualquier instrucción tiene
secuencial de las microinstrucciones. La características similares. En todas ellas
función del Contador de Programa (PC) hay dos tiempos fundamentales llamados
es enviar por el bus de direcciones la búsqueda (fetch) y ejecución (execute).
posición de la memoria donde se El diagrama de bloques de un sistema
encuentra la siguiente instrucción que se con microprocesador permite un análisis
va a ejecutar. Normalmente, este rápido de la forma en que se ejecuta una
contador se incrementa en una unidad en instrucción cualquiera; por ejemplo, la
cuanto la memoria acepta la dirección de correspondiente a la suma de dos
la instrucción anterior. operandos.

El controlador de programa empieza


EL BLOQUE 3: Es la unidad operativa; conteniendo la dirección de la memoria
allí se ejecutan las operaciones principal donde está almacenando el
aritméticas, lógicas, de desplazamiento, código binario de la instrucción de suma.
de rotación, de incremento, etc. Uno de Luego ese contenido pasa a través del
los operandos que interviene en la bus de direcciones hasta la memoria
operación que va a efectuar la ALU principal, donde se decodifica y
(Unidad lógico-aritmética), procede de selecciona la posición que contiene el
un registro de 8 bits llamado código binario de la operación. Dicho
Acumulador. El otro operando llega código de ´´máquina´´ sale de de la
desde cualquier parte del sistema y se memoria por el bus de datos hasta el
carga o almacena en un registro auxiliar. registro de instrucciones de la unidad de
Un registro especial, denominado control, donde se deposita. Toda esa fase
Registro de Estado, contiene una serie de de localización del código de la
bits que actúan como señalizadores de instrucción mencionada, recibe el nombre
alguna característica especial que se de fase de búsqueda y es la misma para
haya producido en la última operación cualquier instrucción.
efectuada por la ALU. Por ejemplo, un
señalizador denominado Z (cero), pasa a El tiempo de ejecución empieza por
valer uno (1) si el resultado de la subtiempo de decodificación de la
operación que ha hecho la ALU ha sido instrucción y prosigue con la parte de la
cero (0). ejecución propiamente dicha que puede
tener varios subtiempos, dependiendo
EL BLOQUE 4 Es el de entradas y del tipo de instrucción.
salidas y se encarga de suministrar al
XXXI
Fase de búsqueda
Figura 2.17 El contenido del contador
Es el comienzo de una nueva instrucción, de programa (PC) pasa al registro de
el controlador de programa (pc) deposita direcciones (RDI)
en el bus de direcciones la dirección de la
posición de la memoria principal donde 2. El contenido de la posición de
se encuentra el código de la instrucción memoria aparece en el bus de datos.
que se va a ejecutar. Dicho código sale Esta información se deposita en un
de la memoria principal por el bus de registro de instrucción (ri), figura 2.18.
datos hasta la unidad de control, donde
se graba en el registro de instrucciones,
figura 2.16.

Figura 2.18 El contenido de la


Figura 2.16 movimiento de posición de la memoria se deposita
información de los contenidos de las en el registro de instrucción
unidades que participan en la fase de
búsqueda de una instrucción. Al mismo tiempo, el contador de
Como la cpu no sabe que tipo de programa (pc) se incrementa, puesto que
instrucción va a ejecutar, los tiempos de él debe siempre señalar la dirección de la
búsqueda son exactamente iguales. El siguiente instrucción que se va a
desarrollo de esta fase es la siguiente: ejecutar, para cuando se necesite. De
esta forma se ha completado la
1. El contenido del contador de programa operación de búsqueda de una nueva
(pc), a través del bus interno de la instrucción.
unidad de control, aparece en el registro
de direcciones de memoria, figura 2.17. Decodificación de una
instrucción

Es la primera parte del tiempo de


ejecución y es también exactamente

XXXII
igual para todas las instrucciones, puesto memoria de microinstrucciones que
que aún no se sabe que operación hay correspondan. Dichas microinstrucciones
que efectuar. van introduciéndose al secuenciador a
medida que se realiza el proceso. El
De momento, la parte de la instrucción secuenciador, con cada microinstrucción,
llamada código de operación (opcode), se envía una serie de señales de control a los
transfiere al decodificador de elementos del sistema que deben actuar
instrucciones (di) y aquí empieza la parte en cada momento. Ejecutadas todas las
diferente de la instrucción. microinstrucciones que componen la
instrucción, el contador y el sistema pasa a
la ejecución de la siguiente instrucción del
Al recibir el Decodificador de programa, figura 2.19.
Instrucciones el código de la instrucción
en curso, se encarga de seleccionar en la
memoria de microinstrucciones aquellas
que corresponden a dicho código. La
llegada de las microinstrucciones al
Secuenciador, origina una serie» de
señales de control que regulan la
ejecución de las diferentes etapas en las
que se descompone la instrucción.

En el caso de una suma, uno de los


sumandos ha de estar contenido
previamente en el acumulador, mientras Figura 2.19 comportamiento de la
que el otro llegará del registro auxiliar, unida de control durante la fase de
generalmente, desde la memoria de ejecución
datos, cuya dirección correspondiente
vendrá acompañado al código de la Hay varios tipos de instrucciones básicas
operación en la instrucción. que pueden agruparse de acuerdo con
diferentes criterios, tales como
La ALU efectuará la suma y el resultado se funcionalidad, número de ciclos de
depositará en el Acumulador, al mismo memoria utilizados, número de palabras
tiempo que los bits señalizadores del que utiliza, etc. Dependiendo de las
registro de estado, tomarán el valor características de la computadora y de
correspondiente en función del resultado. su microprocesador, los diferentes tipos
de instrucciones serán de una, dos o más
Ejecución de una instrucción palabras y necesitarán uno o más ciclos
de memoria para llegar a obtenerse
En resumen: completa la fase de enteramente en la unidad de control. En
búsqueda, el código de máquina del función del número de palabras y del tipo
registro de instrucciones llega al de instrucción, la ejecución tiene
decodificador de instrucciones, que se características diferentes. Estos
encarga de localizar las posiciones de la parámetros de terminan, por ejemplo, el
XXXIII
número de veces que el sistema debe las órdenes enviadas por el
acceder a la memoria para leer toda la microprocesador al puerto I/O se
instrucción. reducen a señales de lectura y
escritura. Estas señales pueden venir
Puertos de entrada y de ya decodificadas o necesitar una
salida decodificación previa.

El concepto de entrada/ salida abarca  Adaptar físicamente el sistema a los


toda transferencia o intercambio de requisitos del periférico. Esto incluye
información (datos) entre un la utilización de manejadores {drivers)
microprocesador (cpu) y un dispositivo de líneas de transmisión, eliminadores
externo o periférico específico. Cuando de ruido, optoacopladores, etc.
los datos fluyen hacia el
microprocesador, se tiene el caso de una  Controlar los tiempos para la
operación al mundo externo, se tiene el transferencia de información con el
caso de una operación de salida. fin de garantizar que el flujo de datos
entre el micro-procesador y el
Un paso importante en el diseño de periférico se haga de una manera
cualquier sistema basado en ordenada y eficiente.
microprocesadores es seleccionar los
puertos de entrada/salida o circuitos de Un puerto o interfaz de entrada/salida
interfaz cuyo costo y rendimiento sean puede construirse utilizado
los más adecuados para una aplicación componentes normales de pequeña y
dada. La complejidad de un puerto I/O mediana escala como compuertas, flip-
puede variar desde un sencillo flip-flop flops, registros, codificadores, etc; o
hasta un circuito integrado altamente circuitos integrados de gran escala LSI
especializado; por ejemplo, un (large scale integración) especializados
controlador para un tubo de rayos como la interfaz periférica programable
catódicos o un display gráfico tipo lcd. (PPI) 8255 o el controlador
programable de interrupciones (CPI)
En general, las funciones que debe 8259.
realizar un puerto o dispositivo de
interfaz de entrada/salida se pueden En la figura 2.20 se muestra un
resumir en los siguientes términos: ejemplo sencillo de un puerto de salida
con un flip-flop tipo D cuya función es
 Identificar direcciones con el fin de transferir el estado del bit de datos d0 a
establecer la conexión con los buses un diodo LED que actúa como
de datos y de control del sistema dispositivo periférico. Esto sucede
cuando se selecciona un dispositivo cuando en la línea de direccionamiento
periférico de entrada/salida A15 hay un nivel alto y señala la
específico. escritura (WR) es baja. Después de
deshabilitado, el fli-flop retiene la
 Interpretar órdenes. Generalmente, información previamente almacenada

XXXIV
mientras el microprocesador se dedica
a otras tareas.

XXXV
CAPITULO 1

LOS MICROCONTROLADORES

En los últimos años, un componente


electrónico ha revolucionado las técnicas
de diseño; se trata del microcontrolador.
Es un circuito integrado programable que
contiene todos los elementos necesarios
para controlar un sistema.

A partir de esta lección, iniciamos un


estudio detallado de cada una de las
partes y módulos internos que componen
un microcontrolador, desde los más
básicos hasta los más especializados, al
igual que algunas técnicas y algoritmos
que permiten su manejo e inclusión de
un proyecto.

36
CAPITULO 1
Al analizar los sistemas basados en Ahora, para un diseñador, la idea de una
microprocesadores mostrados en las microcomputadora, en aplicaciones de
lecciones anteriores, se puede deducir control o en la fabricación masiva de
que la estructura de un sistema de aparatos modernos, se asimila al
microcomputadora para aplicaciones de esquema mostrado en la figura 3.1,
medición o control, tiene un carácter
constante, es decir, siempre existirá esa
misma estructura (CPU, memorias,
puertos, buses, etc.). No es difícil
comprender, entonces, porqué los fabri-
cantes de circuitos integrados decidieron
producir un supercomponente que
contenga todos los elementos de una
computadora en un solo circuito
integrado.

A mediados de los años 70, los


fabricantes de circuitos integrados dieron
a conocer un nuevo dispositivo
denominado microcontrolador el cual con-
tenía toda la estructura de una
microcomputadora, es decir, unidad de
proceso (CPU), memoria RAM, memoria
ROM y circuitos de entrada/salida. El pri-
mer dispositivo de esta naturaleza fue
lanzado por Texas Instruments y se
denominó TMS 1000, el cual fue el primer
microprocesador que incluyó suficiente
RAM y ROM para el desarrollo de Figura 3.1 Idea general de un
aplicaciones. microcontrolador

Donde tenemos una fuente de


El micro controlador se concibió como un alimentación, un circuito de reloj y un
dispositivo programable que puede microcontrolador. Una vez configurado el
ejecutar un sinnúmero de tareas y sistema en cuanto al hardware, so-
procesos. Desde ese momento, el diseño lamente se requiere grabar el programa
de productos electrónicos cambió en la memoria ROM; los puertos ya están
radicalmente. Circuitos lógicos, manejo listos para conectarse al mundo exterior.
de periféricos, temporizado-res y Un microcontrolador puede definirse
estructura de computadoras, todo pro- entonces como un sistema completo de
gramable y alojado en un solo circuito cómputo, que incluye una CPU, memoria
integrado; es decir, una pequeña RAM y ROM, un oscilador y puertos I/O,
computadora para todas las aplicaciones. todo dentro de un mismo circuito
integrado.
37
CAPITULO 1

Sistemas Microcontrolados

Aunque un usuario común no lo perciba,


hoy en día es muy común encontrar uno
o varios microcontroladores en todo tipo
de aplicaciones desde los
electrodomésticos y aparatos caseros
como las cafeteras, los hornos
microondas, las video-grabadoras y las
alarmas, hasta los circuitos de control
sofisticados de los automóviles, los avio-
nes, las naves espaciales, los barcos, los
sistemas de automatización industrial,
etc. Las aplicaciones para los Figura 3.2 Diagrama general de un
microcontroladores son infinitas; el único sistema basado en un micro
límite es la imaginación. controlador

La posibilidad de manejar señales de Cuando se habla de dispositivos de


entrada y de salida, así como su entrada, se hace referencia a todos los
capacidad para procesar datos y tomar elementos que pueden cambiar su
decisiones, lo convierte en uno de los estado ante una determinada condición y
elementos electrónicos más versátiles generar una señal que pueda ser
que existen. El diagrama general de un utilizada por el microcontrolador para
sistema microcontrolado sería el que se tomar alguna decisión; por ejemplo, un
muestra en la figura 3.2. teclado, un interruptor, un sensor, un
transductor, etc. Los dispositivos de sa-
lida pueden ser indicadores visuales,
audibles o actuadores, entre otros.

Los indicadores Visuales más comunes


son las pantallas de cristal líquido, los
diodos LED, las lámparas
incandescentes, etc. Los indicadores au-
dibles pueden ser parlantes,
zumbadores, etc.

Los actuadores son muy importantes ya


que se utilizan para manejar las "cargas"
como los relés, las electroválvulas, los
motores, etc., figura 3.3.

38
CAPITULO 1
Un ejemplo práctico puede ilustrar mejor
todas las posibilidades. Veamos el caso
de un horno microondas, figura 3.4.

En este ejemplo tenemos tres clases de


dispositivos de entrada: el teclado, por
medio del cual se programa la función
que se desea, los sensores internos para
controlar variables como la temperatura
y, si el horno tiene esa función, un
receptor de control remoto para captar
las órdenes dadas por el usuario sin ac-
cionar el teclado.

39
CAPITULO 1

Figura 3.3 estructura básica de un


microcontrolador y de los En este caso tenemos un microcontrola-
dispositivos que pueden hacer parte dor programado específicamente para
de un sistema esta función acompañado de una serie
de circuitos complementarios de entrada
Como dispositivos de salida están: el y salida y sus respectivas interfaces.
display, que puede ser de diodos LED o
de cristal líquido, el motor que hace girar
los alimentos y algunos relés que se
encargan de controlar o desactivar los
circuitos del horno, lo cual permite, por
ejemplo, cambiar la potencia y el tiempo
de cocción, entre otros.
40
CAPITULO 1
Diferencia entre sistemas
basados en microprocesador
y en microcontrolador

Existen varias diferencias importantes


entre estas dos tecnologías, cada una
tiene ventajas y desventajas, y su uso
depende de las necesidades de cada
aplicación. Para aclarar las ideas sobre
este tema, veamos cuales son estas
diferencias:

1. La CPU del microcontrolador es más


simple y sus instrucciones están
orientadas, principalmente, a la
operación de cada una de las líneas
de entrada y salida.

2. La memoria RAM (de datos), que


ofrecen los microcontroladores, es de
baja capacidad. La razón es simple:
las aplicaciones de control e
instrumentación comunes no
Figura 3.4 ejemplo de un
necesitan almacenar grandes
microcontrolador en un horno
cantidades de información témpora).
microondas
En cambio, ios microprocesadores
pueden acceder, a través de los
Hay innumerables ejemplos de aplicación
buses, a grandes bancos de memoria
de esta tecnología, desde algunos muy
RAM externa de acuerdo a las
simples como un temporizador, hasta
necesidades del sistema.
sofisticados robots con cierto grado de
inteligencia artificial. En la sección de
3. En los microcontroladores, la memoria
proyectos de este curso, presentamos
ROM (de programa) es limitada. Por
una serie de aplicaciones reales que el
lo general, no mayor a 4 Kilobytes.
alumno podrá construir, y así aprender y
De esta memoria hay tres tipos:
verificar el poder y la versatilidad que
EPROM, OTP y EEPROM, figura 3.5
ofrecen estos dispositivos.

41
CAPITULO 1
borrado con luz ultravioleta de las
memorias EPROM, además de no
necesitar dispositivos adicionales como
el que se muestra en la figura 3.6.

Figura 3.5 tipos de memoria en los


microcontroladores

Los microcontroladores con memoria


EPROM se utilizan básicamente para el Figura 3.6 dispositivo de luz
desarrollo de prototipos; con este tipo de ultravioleta para el borrado de
memoria, es posible programar y microcontroladores con memoria
reutilizar el microcontrolador a la manera eprom
de las memorias 2716, 2732, etc., esto
es, borrando el programa mediante un Una variedad de la memoria EEPROM es
haz de luz ultravioleta aplicado sobre una la memoria FLASH; los
ventanka. En cambio, los circuitos microcontroladores con este tipo de
integrados OTP (One Time Programadle) memoria, también son borrables y
o programables una sola vez, no reprogramables eléctricamente, pero
permiten que se altere o borre la infor- pueden soportar un número mucho
mación escrita. Este tipo de dispositivos mayor de estos procedimientos. En un
es más económico, por lo tanto es el sistema con microprocesador, se
más utilizado para la producción en serie pueden tener memorias ROM externas
de aparatos electrónicos, cuando el de diferentes tecnologías y capacidades,
prototipo ya ha sido completamente de la misma forma que las memorias
probado. RAM.

Los dispositivos EEPROM, que han hecho 4. Con los microcontroladores no es


su aparición en los últimos años, se necesario diseñar complejos circuitos
caracterizan por permitir el decodifica-dores porque el mapa de
almacenamiento de un programa y su memoria y de puertos I/O están
borrado por medios eléctricos. Este incluidos internamente. Por la razón
método es mucho más rápido que el anterior, el circuito impreso de las

42
CAPITULO 1
aplicaciones es muy simple y, en En resumen, algunas de las principales
algunas ocasiones, puede ser de una ventajas cuando hacemos el diseño de
sola capa lo cual es una ventaja un circuito utilizando un microcontrolador
sobre los microprocesadores. son:

5. La mayoría de los microcontroladores • El circuito impreso es más pequeño ya


no tienen accesible al usuario los que muchos de los componentes se
buses de direcciones, de datos y de encuentran dentro del circuito
control de integrado.

6. la CPU. Algunos modelos lo hacen a • El costo del sistema es mucho menor,


través de los puertos de al reducir el número de componentes.
entrada/salida (I/O), utilizando
señales especiales de sincronización. • Los problemas de ruido que pueden
Estos buses y señales se pueden afectar los sistemas con
emplear para construir expansiones microprocesador se eliminan, debido a
de memoria RAM y ROM por fuera del que todo el sistema principal se
microcontrolador. Como ya vimos, encuentra en un solo encapsulado.
esta función es mucho más fácil de
utilizar en los microprocesadores. • El tiempo de desarrollo de un sistema
se reduce notablemente.
7. La velocidad de operación de los
microcontroladores es más lenta que Cuando una aplicación o problema que se
la que se puede lograr con los va solucionar, sobrepase las
sistemas de microprocesadores. Sin características de un microcontrolador
embargo, actualmente existen micro- como capacidad de memoria, velocidad
controladores que funcionan por de proceso, número de pines o líneas de
encima de los 50 MHz lo que es entrada y salida, etc., se debe recurrir a
suficiente para muchas aplicaciones. un sistema con microprocesador o a una
microcomputadora completa.
8. De manera similar a los sistemas
utilizados con los microprocesadores Un microcontrolador para
para escribir, ensamblar y depurar cada gusto
programas en lenguaje de máquina,
se requiere un sistema de desarrollo Muchas aplicaciones requieren algo más
para cada familia de micro- que las simples entradas y salidas de tipo
controladores. Está compuesto por un digital. Pensando en ello, los fabricantes
paquete de software con editor, de microcontroladores han adicionado
ensamblador y simulador de internamente algunos circuitos especiales
programas y, al mismo tiempo, se en algunos de sus modelos. Las
necesita un hardware para "quemar" posibilidades son amplísimas y el usuario
o almacenar el programa en la me- puede escoger a la carta. A continuación,
moria del microcontrolador. enunciaremos algunas de las
posibilidades, las cuales iremos es-
43
CAPITULO 1
tudiando progresivamente en este
manual.

• Si los fenómenos que se necesitan


medir o controlar son de naturaleza
análoga como temperatura, voltaje,
etc., se debe disponer de un convertidor
análogo-digital (A/D) de varios canales.

• Si hay que medir períodos de tiempo o


generar, en las salidas del circuito,
tiempos, tonos o frecuencias, hay que
tener uno o más contadores
programables (timers).

• Si la in formación obtenida en un
proceso de medida o control, o el
resultado de los cálculos del programa,
se deben enviar a otro
microcontrolador, a una computadora o
a una red, es muy útil tener un circuito
RS-232 para comunicaciones seriales.

• Para quienes requieren salidas PWM


(modulación por ancho de pulso) para
el control de motores CC o cargas Figura 3.7 Módulo especializados
resistivas, existen microcontroladores en los Microtroladores
que pueden ofrecer varias de ellas.
microcontrolador que incluye la mayoría
• Cuando se requiere atender eventos en de los elementos que se utilizan en
tiempo real o existen procesos que no aplicaciones de medición,
dan espera, se debe utilizar la técnica instrumentación y control.
llamada de "interrupciones". Cuando
una señal externa activa una línea de
interrupción, el microcontrolador deja Principales familias de
de lado la tarea que se encuentra microcontroladores
ejecutando para atender una situación
especial y luego puede regresar a Actualmente existen en el mercado
continuar con la labor que estaba varias marcas reconocidas como las
desempeñando. más importantes dadas sus
características, comercialización,
En la figura 3.7 se representa el soporte técnico, difusión, usos en la
diagrama de un posible circuito con industria y en la fabricación de
productos de consumo masivo, etc. En-
44
CAPITULO 1
tre ellas están Motorola, Microchip, ma de bloques se muestra en a figura
Intel, Philips, National y ATMEL. 3.8.

La familia intel 8051 Tienen la misma CPU, memoria RAM,


temporizadores, puertos paralelos y
El primer microcontrolador de Intel fue entradas/salidas de tipo serial, según la
el 8048, en el cual la memoria RAM distribución que se muestra en la tabla
estaba dentro del circuito integrado, 3.1.
pero el programa debía almacenarse
externamente; posterior a él, en los El 8051 tiene 4 kilobytes de memoria
años 80, nació el 8051. Esta familia de ROM que se deben programar durante el
microcontroladores ha sido una de las proceso de fabricación del circuito
integrado. En el 8751, la memoria ROM
se ha reemplazado por una memoria
EPROM que el usuario puede programar
con un aparato especial y borrar con luz
ultravioleta.

El 8031 es un caso especial; no tiene


capacidad para memoria ROM interna y,
por lo tanto, la memoria de programa se
debe colocar externamente. Para realizar
la comunicación con la memoria externa,
se deben emplear tres de los cuatro
puertos paralelos de entrada/salida que
tiene. Esta posibilidad de expansión de la
memoria RAM y ROM con circuitos
externos, es una característica propia de
los microcontroladores de esta familia.

Mapa de memoria. Los componentes


de esta familia de microcontroladores
tienen una característica en común que
los hace diferentes al comportamiento
convencional de un microprocesador:
Figura 3.8 Núcleo del 8051 tienen un espacio para las direcciones de
datos (lectura/escritura) y otro para las
más difundidas en el mundo e incluye direcciones de programa o de lectura
varios miembros, cada uno de ellos solamente.
acondicionado para aplicaciones
específicas. Todas las versiones La memoria de programa puede ser
existentes están conformadas según un hasta de 64 Kbytes. En las versiones que
núcleo básico (8051 Core) cuyo diagra- tienen ROM y EPROM, los 4K, 8K o 16K

45
CAPITULO 1
inferiores de programa, están alojados consumo de corriente, funciones
en el microcontrolador. adicionales, etc., como el caso de Phillips
y ATMEL.

Conjunto de instrucciones. Todos los


miembros de la familia ejecutan las Motorola

Los microcontroladores Motorola se


derivaron del microprocesador 6800 y
han sido optimizados para aplicaciones
de control especializado, formando parte
de aparatos de producción masiva como
juguetes, equipos de video, impresoras,
electrodomésticos y son de amplio uso
en la industria automotriz.

Existen cinco familias principales: la


68HC05, la 68HC08 y la 68HC11 de 8
bits, y la 68HC12 y la 68HC16 de 16
bits; cada una de ellas con una CPU
diferente.
mismas instrucciones. Este conjunto de
instrucciones ha sido diseñado pensando Dentro de la familia 68HC05 existen más
en optimizar aplicaciones de control de 8 de 30 microcontroladores distintos, todos
bits. Ofrece una variedad de modos de construidos a partir de la misma CPU de
direcionamiento para accesar la memoria 8 bits e incluyen RAM, ROM, puertos I/O
RAM interna con el fin de facilitar las y temporizadores; algunos tienen
operaciones de 8 bits en una estructura además, puertos seriales, convertidores
de datos pequeña. análogo-digitales y memorias EEPROM o
EPROM como lo describe la tabla 3.2.
El conjunto de instrucciones proporciona
un soporte muy amplio para variables de Los microcontroladores de la familia
un bit. De esta manera, se puede lograr HC08 poseen puertos seriales,
la manipulación en los sistemas lógicos y conversión A/D, interfaces para redes
de control, que necesitan operaciones de CAN, PLL, PWM, etc., dependiendo de la
álgebra de Boole. referencia.

La información sobre el núcleo del 8051 Microchip


se hizo pública y en ella se han basado
Las raíces de los microcontroladores de
otros fabricantes para llevar al mercado
esta empresa, se hallan en la
versiones actualizadas con mejores
Universidad de Harvard cuando se
características en cuanto a velocidad,
desarrollaba un proyecto para el De-
46
CAPITULO 1
partamento de Defensa de E.E.U.U. en Los microcontroladores PIC se clasifican
el cual se utilizaba un nuevo diseño en en tres grupos dependiendo de la
cuanto a la disposición e interacción de longitud de la palabra de instrucción
la CPU con la memoria, el cual tomó el que pueden manejar (12, 14 ó 16 bits),
nombre de arquitectura Harvard. Este tomando las referencias 12CXXX,
tipo de arquitectura fue tomada por 16XXXX, 17XXXy 18XXX.
General Instruments para su CPU
CP1600, y de esta empresa surgió, Nota: Las X en estos nombres quieren
alrededor de 1985, una división que se decir que en esos espacios se ubican
ubicó en Arizona y que tomó el nombre diversos números y j. letras, según el
de Microchip Technology, con el micro- tipo de integrado.
controlador PIC como su producto
principal.

47
CAPITULO 1
Sus fabricantes definen a los PIC como Atmel
microcontroladores de 8 bits tipo RISC
(Reduced Instruction Set Computer ó Esta empresa maneja tres grandes
Computadora con un conjunto reducido grupos de microcontroladores RISC
de instrucciones) de bajo costo, bajo cuyas cpu llegan hasta los 32bits. El
consumo de potencia y alta velocidad de primer grupo tiene una arquitectura
operación. basada en el 8051 de intel con
memoria de programa tipo flash. El
No están muy alejados de la realidad: segundo grupo son los
ya están en desarrollo microcontroladores AT91, los cuales
microcontroladores PIC de hasta 40 soportan compilador en c, emulador,
MHz y el consumo de potencia es de 50 etc. El último grupo lo conforman los
microcontroladores avr, de arquitectura
Microwatios a 32 Khz de operación y 6 risc y cpu de 8 bits, y módulos usart,
microwatios en modo de reposo a spi, adc, etc. En la tabla 3.4 se
stanby. muestra las características principales
de algunos modelos de esta marca.
La arquitectura de los PIC se basa en
registros con memorias y buses Tabla 3.4 Mcrocontroladores Atmel
separados para las instrucciones y los
datos, llamada arquitectura harvard. La
memoria y el bus de datos (RAN) son
de 8 bits de ancho, mientras que la
memoria (eprom) y su bus tienen 12
bits.

La tecnología de los microcontroladores


ha permanecido en constante evolución
en cuanto a tecnología de fabricación y
cualidades ofrecidas ofrecidas. Los
microcontroladores PIC de última
generación son máquinas asombrosas;
por ejemplo se tiene proyectados PIC
de tan solo 8 pines con conversor a/d y
memoria flash. Algunos llegan a poseer
hasta 100 pines, y según la referencia,
incluyen una buena variedad de
módulos internos que cumplen con una
gran cantidad de funciones como
puertos seriales, PWM, comparadores,
etc. En la tabla 3.3 tenemos una lista
de algunos modelos de estos
microcontroladores con algunas de sus
principales características
48

Anda mungkin juga menyukai