Manual - Microprocesadores y Microcontroladores - MT.3.4.2-245_06

Embed Size (px)

DESCRIPTION

Manual - Microprocesadores y Microcontroladores

Citation preview

  • Guatemala, diciembre de 2006

  • NOMBRE DE LA UNIDAD (palatino, bold, 8 pts, JI)

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S2

    COPYRIGHTInstituto Tcnico de Capacitacin y Productividad

    -INTECAP- 2006

    Esta publicacin goza de la proteccin de los derechos de propiedad intelectualen virtud de la Convencin Universal sobre Derechos de Autor. Las solicitudesde autorizacin para la reproduccin, traduccin o adaptacin parcial o total desu contenido, deben dirigirse al Instituto Tcnico de Capacitacin y ProductividadINTECAP de Guatemala. El Instituto dictamina favorablemente dichas solicitudesen beneficio de la Formacin Profesional de los interesados. Extractos breves deesta publicacin pueden reproducirse sin autorizacin, a condicin de que semencione la fuente.

    MICROPROCESADORES Y MICROCONTROLADORESCdigo: MT.3.4.2-245/06

    Edicin 01

    Las denominaciones empleadas en las publicaciones del Instituto Tcnico deCapacitacin y Productividad, y la forma en que aparecen presentados los datos,contenidos y grficas, no implican juicio alguno por parte del INTECAP ni de susautoridades. La responsabilidad de las opiniones en los artculos, estudios y otrascolaboraciones, incumbe exclusivamente a sus autores.

    Este manual es resultado del trabajo en equipo del Departamento de Industriade la Divisin Tcnica, con el asesoramiento metodolgico del Departamentode Metodologa de la Formacin bajo la direccin de la jefatura de Divisin Tcnica.

    Este manual ha sido impreso en el Centro de Reproduccin Digital por DemandaVariable del INTECAP -CRDDVI-

    Las publicaciones del Instituto Tcnico de Capacitacin y Productividad, as comoel catlogo lista y precios de los mismos, pueden obtenerse solicitando a la siguientedireccin:

    Instituto Tcnico de Capacitacin y ProductividadDivisin Tcnica - Departamento de Industria

    Calle del Estadio Mateo Flores, 7-51 zona 5. Guatemala, Ciudad.Tel. PBX. 2410-5555 Ext. 647, 644

    www.intecap.org.gt [email protected]

  • NOMBRE DE LA UNIDAD (palatino, bold, 8 pts, JD)

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S 3

    NDICE

    1.2 Conexiones del microprocesadorprogramable, interrupciones programable, de comunicacin serial ____________________________ 33

    1.3 Proceso de instalacin de microprocesadores_____________________________________________ 421.4 Especificaciones tcnicas del fabricante__________________________________________________ 451.5 Programacin del microprocesador_____________________________________________________ 461.6 Lenguaje ensamblador del microprocesador _____________________________________________ 581.7 Configuracin del microprocesador ____________________________________________________ 591.8 Proceso de diseo de un programa ____________________________________________________ 60

    Actividades____________________________________________________________________________ 67Resumen ______________________________________________________________________________ 68Evaluacin _____________________________________________________________________________ 69

    UNIDAD 2MICROCONTROLADORES 71Objetivos de la unidad

    2.1 Microcontroladores____________________ _____________________________________________ 722.2 Proceso de instalacin del microcontrolador______________________________________________ 862.3 Programacin del microcontrolador ___________________________________________________ 882.4 Configuracin de microcontroladores___________________________________________________ 1162.5 Proceso de carga de programa ________________________________________________________ 118

    Actividades_____________________________________________________________________________ 124Resumen ______________________________________________________________________________ 125Evaluacin _____________________________________________________________________________ 126Glosario_______________________________________________________________________________ 127Anexo ________________________________________________________________________________ 129Bibliografa_____________________________________________________________________________ 143

    Objetivo del manual _____________________________________________________________________ 5Presentacin ___________________________________________________________________________ 7

    UNIDAD 1MICROPROCESADORES 9Objetivos de la unidad

    1.1 Microprocesadores__________________________________________________________________ 101.2 Conexiones del microprocesador _________________________________________________ 33

  • NOMBRE DE LA UNIDAD (palatino, bold, 8 pts, JI)

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S4

  • NOMBRE DE LA UNIDAD (palatino, bold, 8 pts, JD)

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S 5

    OBJETIVODEL MANUALEl estudio del contenido de este manual contribuir aque usted adquiera las competencias para instalar,parametrizar, configurar y programar sistemas digitalescon microprocesadores y microcontroladores, deacuerdo a especificaciones tcnicas.

  • NOMBRE DE LA UNIDAD (palatino, bold, 8 pts, JI)

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S6

  • NOMBRE DE LA UNIDAD (palatino, bold, 8 pts, JD)

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S 7

    l presente manual de microprocesadores ymicrocontroladores, constituye material de apoyo para elpaquete didctico del mismo nombre, cuyo contenido sedefini de acuerdo a las bases normativas del plan establecidaspor grupos de trabajo conformado por personal tcnico deINTECAP.

    El contenido de este manual est dividido en dos unidades, la primera unidad se lededica a los CI microprocesadores, incluyendo como temas principales: lainstalacin de circuitos con microprocesadores, de acuerdo a especificacionestcnicas, caractersticas tcnicas proporcionadas por el fabricante, lenguajeensamblador del microprocesador, configuraciones del microprocesador, procesode grabacin en un microprocesador.

    La segunda unidad, tiene como objetivo estudiar los microcontroladores, desdela diferencia que existe entre un microprocesador y un microcontrolador, hasta laversatilidad que cada uno tienen en el momento de ser aplicado, segn sea el caso,ya que por lo general se utilizan microcontroladores en sistemas industriales que sedediquen a realizar eventos repetitivos sin necesidad de modificaciones continuastanto en el hardware como en el software. Adems, es importante notar que unmicrocontrolador es un elemento ms compacto, ya que un microprocesadorrequiere de ms elementos perifricos para su funcionamiento, mientras que un

    C la mayor parte del trabajo lo realiza el mismo IC.

    Por ello se consideran importantes temas como el proceso de instalacin de losC, configuracin de los C, lenguaje de programacin de los C, proceso de

    cargar y descargar un programa en el C.

    Por lo que al final, se pretende que el participante tenga la capacidad de aplicar losconocimientos de P y C en actividades que contribuyan al mejoramiento oconversin de sistemas manuales a sistemas automticos de una industria o en elmedio cotidiano.

    Tambin se advierte que no todos los trminos en ingls sern traducidos, ya quelos mismos son nombres tcnicos que obedecen a estndares preestablecidos porlas normas ANSI o DIN, Sin embargo, se explicar la interpretacin de dichostrminos en espaol.

    PRESENTACIN

    E

  • NOMBRE DE LA UNIDAD (palatino, bold, 8 pts, JI)

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S8

  • M I C R O P R O C E S A D O R E S

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S 9

    El estudio del contenido de esta unidad,contribuir a que usted adquiera lascompetencias para:

    Instalar circuitos con microprocesadores,de acuerdo a especificaciones tcnicas.

    Programar microprocesadores, deacuerdo a especificaciones tcnicas

    UNIDAD 1

    MICROPROCESADORES

  • M I C R O P R O C E S A D O R E S

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S10

    MICROPROCESADORES1.1

    DEFINICIN1.1.1

    Un microprocesador es un dispositivo electrnicodigital de alta integracin capaz de realizar operacionesaritmticas y lgicas en un orden de pasos establecidopor un programa. El microprocesador es el cerebrode las computadoras industriales y personales quepermite la realizacin de millones de operaciones enun segundo. Esto se logra gracias a la alta escala deintegracin que se ha logrado hasta el momento, quehace posible integrar millones de transistores en unsolo encapsulado. El microprocesador es la parte msimportante de computador aunque este necesita deotros dispositivos perifricos para realizar susfunciones, tales dispositivos son memorias, puertos deentrada y salida de datos, coprocesadores, entre otros,que se deben conectar al microprocesador para queeste cumpla su funcin.

    Un ejemplo de aplicacin es la calculadora porttil,note que en la calculadoras realizan un cantidad deoperaciones matemticas en distintos niveles, hoy enda la calculadoras son capaces de graficar funcionesmuy complejas y asimismo almacenarlas en sumemoria. Por lo que todo esto es realizado por unmicroprocesador conjuntamente con sus elementosperifricos.

    Existen una serie de fabricantes de microprocesadores,como IBM, Intel, Zilog, Motorola, Cyrix, AMD.

    A lo largo de la historia y desde su desarrollo inicial,los microprocesadores han mejorado enormementesu capacidad, desde los viejos Intel 8080 que poseen6000 transistores en su interior y velocidad deprocesamiento de 2 MHz, hasta los recientes IntelPentium 4 con 125 millones de transistores yvelocidades de procesamiento de 3.6 GHz osuperiores.

    En la tabla 1 se puede encontrar una comparativa deldesarrollo de los microprocesadores Intel a lo largode los aos, donde se puede observar que lasdimensiones se hacen cada vez ms pequeas amedida que la escala de integracin se hace msgrande. Un ejemplo de esto se puede observar en lafigura 2 donde se muestra una fotografa de las capasde conexin superiores de un microprocesador Intel80486 DX2 con una magnificacin de 200x. Finalmentelo ms importante es utilizar el uP mas adecuado parala aplicacin requerida, ya que puede ser de tipoindustria, comercial o en equipos de medicin ocontrol.

    Figura 1 Microprocesador Intel 80X386

    Figura 2 Estructura interna de un microprocesador

  • M I C R O P R O C E S A D O R E S

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S 11

    Existen dos criterios principales para la clasificacinde microprocesadores:

    a. Longitud de palabra

    b. Tecnologa de fabricacin.

    Longitud de palabra

    Se refiere al numero de bits que puede procesarsimultneamente un microprocesador y estadeterminada por su arquitectura, es decir, por eltamao de los registros, de la ALU y de los busesinternos.

    La longitud de palabra de losmicroprocesadores ha idocreciendo a travs de los aos,desde los 4 bits del primermicroprocesador hasta los 32bits de los microprocesadoresms recientes.

    En la figura 3 se muestra laarquitectura interna de unmicroprocesador bsico dondese puede observar que existeun bus de datos (Data Bus), quepuede ser de 4 bits hasta 32 bitsen los microprocesadores masrecientes.

    Hoy en da los microprocesadores de 4 bits seconsideran obsoletos y los de 32 bits se consideranpara aplicaciones muy complejas. En la generalidad delos casos se utilizan microprocesadores de 8 bits y de

    Tabla 1 Comparacin de microprocesadoresfabricados por la empresa Intel.

    CRITERIOSDE CLASIFICACINDE MICROPROCESADORES

    1.1.2

    a Figura 3 Arquitectura interna del microprocesador en bloques

  • M I C R O P R O C E S A D O R E S

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S12

    16 bits, los primeros son los ms usuales por habersido de ms temprana su aparicin y porque tienendisponible un amplio soporte de programacin ycircuitera.

    A continuacin se observan algunos de estosmicroprocesadores:

    Tecnologa de fabricacin

    Los primeros microprocesadores se implantaron contecnologa PMOS; sin embargo, actualmente latecnologa de fabricacin de microprocesadores msdifundida es la NMOS. ltimamente se ha desarrolladobastante la tecnologa CMOS para dispositivos de bajoconsumo de energa.

    PMOS Y NMOS (P-channel MOSFET, N-ChannelMOSFET) (MOSFET a canal P y MOSFET a canal N)son tecnologas basadas en transistores de efecto decampo que permiten escalas de integracin bastantegrandes, lo que los hace atractivos en la industria defabricacin de microprocesadores.

    Los transistores NMOS son ms pequeos que losPMOS, ms baratos y tcnicamente ms simples deproducir, por lo que son la eleccin de construccinde muchos microprocesadores.

    La tecnologa MOS tiene la desventaja de consumirmayor potencia que CMOS, por lo que ha sidodesplazada por esta que posee avances tcnicos cadavez ms crecientes. En la siguiente figura se muestrala construccin interna de un arreglo de 2 transistoresMOSFET.

    Figura 4 - Microprocesador Intel C4004 de 4 bits

    Figura 5 - Microprocesador AMD 8086 de 8 bits

    Figura 6 - Microprocesador Intel 80286 de 16 bits

    Figura 7 - Microprocesador Intel Pentium 4 de 32 bits

    b

  • M I C R O P R O C E S A D O R E S

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S 13

    CMOS (ingls: Complementary Metal OxideSemiconductor (Semiconductor complementario delxido de metal), MOS Complementario es unatecnologa utilizada para crear circuitos integrados,como pueden ser compuertas lgicas, contadores,microprocesadores, microcontroladores, etc. Consistebsicamente en dos transistores, uno PFET y otroNFET como se puede observar en la figura siguiente.De esta configuracin resulta el nombre.

    Los chips CMOS consumen menos potencia queaquellos que usan otro tipo de transistor.

    Existen 2 tecnologas que definen los tipos demicroprocesadores de acuerdo a la forma en que semaneja el conjunto de instrucciones que poseen:

    a. Tecnologa RISC(reduced instruction set computer)Computadoras con un conjunto de instruccionesreducido.

    b. Tecnologa CISC(complex instruction set computer)Computadoras con un conjunto de instruccionescomplejo.

    Tecnologa RISC

    Plantea un conjunto reducido de instrucciones, estosignifica que este tipo de microprocesadores cuentacon unas pocas instrucciones para su programacin,buscando reducir el nmero de ciclos de reloj deejecucin por cada una de ellas, hacindolas simples yevitando instrucciones complejas. Se descarga laresponsabilidad de construir programas eficientes alsoftware y al compilador.

    Ejemplos de estros microprocesadores son:

    Procesadores Alpha Power PC (Motorola/IBM)

    Tecnologa CISC

    Figura 8 Construccin de los dispositivos MOS

    Figura 9 Lgica bsica CMOS

    TIPOS Y CARACTERSTICAS1.1.3

    a

    b

    Figura 10 Microprocesador interno con Tecnologa CISC

  • M I C R O P R O C E S A D O R E S

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S14

    Basado en un amplio repertorio de instrucciones.Se aumenta la potencia del microprocesador acosta de aumentar el tamao de las instrucciones,y por tanto el nmero de ciclos de reloj queprecisan para ejecutarse.

    En esta arqui tectura los programas vernreducido el nmero de instrucciones mquina queprec isan para ser e jecutados por e lmicroprocesador o sea, se requieren menosinstrucc iones para e jecutar un programadeterminado, pero estas instrucciones son mscomplejas y se ejecutan en un tiempo mayor.

    Ejemplos de estos microprocesadores son:

    Intel 80286, Intel 80386, 80486,

    Procesadores AMD

    Los microprocesadores con tecnologa RISCposeen un conjunto de instrucciones pequeo,que puede variar entre unas 30 instrucciones aunas 150, mientras que un microprocesador tipoCISC puede tener un conjunto de instruccionesmuy extenso y complejo.

    La forma en que se manejan las instruccionesinternamente es diferente para estos dos tiposde microprocesadores haciendo que tenganciertas ventajas y desventajas uno frente al otro.

    Con tecnolog as de semiconductorescomparables e igual frecuencia de reloj, unprocesador RISC tpico tiene una capacidad deprocesamiento de dos a cuatro veces mayor quela de un CISC, pero su estructura de hardwarees tan simple, que se puede realizar en unafraccin de la superficie ocupada por el circuitointegrado de un procesador CISC.

    La meta principal es incrementar el rendimientodel procesador, ya sea optimizando algunoexistente o se desee crear uno nuevo. Para esto

    se deben considerar tres reas principales a cubriren el diseo del procesador y estas son:

    La arquitectura.

    La tecnologa de proceso.

    El encapsulado.

    La tecnologa de proceso, se ref iere a losmateriales y tcnicas utilizadas en la fabricacindel circuito integrado, el encapsulado se refierea cmo se integra un procesador con lo que lorodea en un sistema funcional, que de algunamanera determina la velocidad total del sistema.

    Aunque la tecnologa de proceso y de encapsuladoson vitales en la elaboracin de procesadores msrpidos, es la arquitectura del procesador lo quehace la diferencia entre el rendimiento de unaCPU (Central Process Unit, unidad central deproceso) y otra.

    En el diagrama siguiente se puede observar unesquema bs ico de la conexin de unacomputadora muy sencilla pero con todos lose lementos que caracter izan cua lqu iercomputadora; estos elementos son:

    - Microprocesador

    - Memoria (RAM, ROM, EEPROM, etc.)

    - Decodificador de direcciones

    - Seal de reloj

    - Puertos de Entrada y Salida

    PARTES YFUNCIONAMIENTO

    1.1.4

  • M I C R O P R O C E S A D O R E S

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S 15

    El microprocesador

    Es el cerebro de la computadora, encargado degestionar toda la informacin de entrada y salida.

    En la figura el microprocesador utilizado es el Z80 dela firma Zilog, que es un microprocesador de 8 bitsdado que consta de 8 lneas de datos (D0 D7) y escapaz de procesar simultneamente 8 bits deinformacin.

    Este microprocesador es el encargado de realizar lasoperaciones aritmticas y lgicas que dicta el programaalmacenado en la memoria externa (en este caso lamemoria EEPROM 28C64) y las ejecuta una a una enuna secuencia especifica. La rapidez de ejecucin delas instrucciones del programa depende de una sealde sincrona llamada reloj (Clock. Los datos manejadospor el microprocesador necesitan ser obtenidos delmundo exterior y los resultados tambin necesitan serenviados de regreso hacia el exterior, y esto se logra atravs de los puertos de entrada y salida de datos.

    Figura 11 Conexin del microprocesador con sus perifricos

    a

  • M I C R O P R O C E S A D O R E S

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S16

    El decodificador de direcciones

    Esta compuesto por el integrado 74LS138 cuya funcines la de habilitar o deshabilitar los dispositivosperifricos cuando lo requiera el microprocesador.Cada dispositivo conectado al microprocesador atravs del bus de direcciones tiene una direccinasociada, y este integrado se encarga de decodificar ladireccin proveniente del microprocesador y habilitael dispositivo apropiado.

    Por ejemplo, si el microprocesador de la figura anteriornecesita leer un dato proveniente del puerto 03h,entonces especificar la direccin 03h en el bus dedirecciones lo que har que el decodificador 74LS138habilite su salida Y3 y deshabilite todas las dems, y deesta manera pondr en funcionamiento solamente eldispositivo conectado a su salida Y3.

    Los puertos de entrada y salida de datos

    Permiten la comunicacin con el mundo exterior, y esaqu donde se conectan los teclados, pantallas,punteros, impresoras, etc. Se obtienen en este casocon la utilizacin de los integrados 74LS374 quepermiten el paso de informacin desde y hacia elmicroprocesador, y estn bajo la orden deldecodificador de direcciones que les indica a cada unoel momento en el que estos pueden mandar o recibirla informacin. Tambin existen circuitos integradosespecficamente diseados para realizar las tareas delmanejo de los puertos, por ejemplo, para elmicroprocesador Z80 se tienen el controlador depuerto paralelo PIO (Parallel Input Output) y elcontrolador de puerto serial SIO (Serial Input Output)que se muestran a continuacin.

    La seal de reloj (Clock)

    Se obtiene de un oscilador o multivibrador astable,capaz de proporcionar una seal peridica de unafrecuencia determinada, en este caso, el integradoNE555 que produce un tren de pulsos peridico quemarcan el ritmo de trabajo del microprocesador,cuanto ms alta sea la frecuencia de estos pulsos msrpido realizar las operaciones el microprocesador.

    El microprocesador por su parte tiene una frecuenciade trabajo limitada la cual no debe sobrepasarse(Overclocking) pues provocar que ste sesobrecaliente y en algunos casos se destruya, ademsde provocar mal funcionamiento. Es preciso mencionarque el microprocesador puede trabajar a diferentesfrecuencias siempre y cuando no sobrepasen lasespecificaciones del fabricante.

    Si es necesario realizar operaciones con tiempos muyprecisos se debe optar por osciladores con cristal queofrecen frecuencias de trabajo muy estables y precisas.

    A continuacin se observan ejemplos de estososciladores a cristal de 4 terminales.

    b

    Figura 12 Decodificador 74138

    c

    Figura 13 Controladores de puertos

    d

  • M I C R O P R O C E S A D O R E S

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S 17

    Figura 15 Conexin deloscilador a cristal con el

    microprocesador

    En la siguiente figura se detalla la forma de conectarestos osciladores a cristal de 4 terminales almicroprocesador. (la Terminal 1 usualmente no seconecta)

    La memoria

    Es un dispositivo electrnico capaz de almacenarla informacin durante un tiempo determinado.El microprocesador depende de ella, pues necesitaalmacenar los datos de los procesos que realiza y losprogramas para los cuales est diseada.

    La unidad de memoria mnima que existe es el bit, unarreglo de 8 bits forman un byte, y se pueden utilizarlos mltiplos Kilo byte, Mega byte, Giga byte, Tera byte,etc. Tambin se utilizan las unidades Word que equivalea 2 bytes y doble Word equivalente a 4 bytes deinformacin.

    Variedad de parmetros que permiten caracterizar oclasificar una memoria, estos son:

    a. Naturaleza fsica del almacenamiento

    b. Modo de acceso a la informacin

    c. Retencin de la informacin

    d. Tiempo de acceso

    Naturaleza fsica del almacenamiento:

    S e p u e d e a l m a c e n a ri n f o r m a c i n u t i l i z a n d omateriales semiconductores,materiales magnticos o deforma ptica, como se muestraen los siguientes ejemplos

    Figura 14 Osciladores a Cristal

    Figura 16 Memoria EPROM

    e

    1

  • M I C R O P R O C E S A D O R E S

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S18

    Almacenamiento a semiconductor:- Memorias ROM- Memorias RAM- Memorias FLASH- Memorias USB

    Almacenamiento con materiales magnticos- Unidades de cinta- Unidades de Disco (Discos Duros)

    Almacenamiento con elementos pticos:- CDROM (Disco compacto de slo lectura)- DVDROM (Disco compacto de video de slo lectura)

    Modo de acceso a la informacin:

    Existen 2 formas de acceder a la informacinalmacenada en una memoria electrnica:

    - Modo de acceso Secuencial: en este modo lainformacin se graba o lee en una secuencia de forma,que para acceder a un byte de informacin serequiere leer o escribir en las posiciones previas.Ejemplos de este tipo de memoria son las unidadesde cinta y las memorias FIFO.

    - Modo de acceso Aleatorio: en este modo se puedeacceder a cualquier byte sin condicin de acceder abytes previos. Ejemplos de este tipo de memoriasson la memoria RAM, ROM, DVD, Discosmagnticos. Este modo es especialmente importantepues es el ms utilizado en los sistemas modernos ypor ello se entrar un poco ms en detalle.

    A continuacin se muestra la estructura lgica de unamemoria a semiconductor como la RAM, ROM,EEPROM, etc.

    Puede observarse que la estructura tiene forma dematriz dividida por filas y columnas. Cada cuadritorepresenta 1 bit de informacin que puede tenersolamente 2 valores: 1 0 y se le llama celda. Cadacelda es nica y posee una ubicacin determinada poruna direccin y una posicin de dato. A continuacinse muestran las ubicaciones de 3 celdas.

    Figura 17 Dispositivos de memoria a semiconductor

    Figura 18 Disco duro

    Figura 19 Lector de CDROM

    2

    Figura 20 Estructura lgica deuna memoria formada por celdas

    de informacin

  • M I C R O P R O C E S A D O R E S

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S 19

    Es necesario darse cuenta que para cada direccin hay8 celdas disponibles que son D0, D1, D2, D3, D4, D5,D6 y D7 (vea la siguiente figura) de tal forma que alreferirnos a una direccin en este caso se dispondrnde 8 bits de informacin dados por D0 a D7.

    A este conjunto de celdas formado por D0 a D7 se lellama bus de datos.

    Por ejemplo, suponga que se tiene la memoria anteriorllena con datos y se accede a la direccin 5, lo queobtendr en el bus de datos (D7 D0) ser: 01100101respectivamente. Note que D0 representa el bitmenos significativo LSB y D7 el bit ms significativo MSB.

    Ahora veamos unamemoria real:

    Observe que posee 8lneas de datosformadas por D0 aD7donde se obtienenlos valores de lasceldas internas de lamemoria. Tambinposee un bus dedirecciones formadopor A0 A12 quepermite ingresar ladireccin deseada deforma binaria, as porejemplo si se quiereacceder a la direccin5 de memoria tendramos que establecer los niveleslgicos 0000000000101 en las lneas A12 A0respectivamente y obtendramos el contenido de las8 celdas pertenecientes a esta direccin en el bus dedatos (D7 D0)

    Las lneas adicionales de esta memoria sirven paraestablecer la lectura, escritura de datos y habilitacindel chip.

    Figura 21 Cada celda contiene 1 BIT de informacin.

    Figura 22 la direccin 5 de la memoria est conformada por 8 bits

    Figura 23 Memoria con datos en cada celda

    Figura 24 Distribucin de los pinesde conexin de in uP (Pinout) de

    una memoria estndar

  • M I C R O P R O C E S A D O R E S

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S20

    Retencin de la informacin:

    Se refiere al tiempo y las condiciones enque el dispositivo de memoria es capazde retener la informacin guardada. Sepueden dividir en dos grupos que son, lasmemorias voltiles y no voltiles.

    - Memorias voltiles: estas memoriaspierden la informacin almacenadatranscurrido cierto tiempo o si sedesconecta la al imentacin de lamemoria. Son utilizadas para almacenardatos que son necesarios slomomentneamente y que se puedendescartar despus de algn proceso.Ejemplos de estas memorias son la RAM,DRAM.

    - Memorias no voltiles: en estas memorias lainformacin almacenada perdura en el tiempoindependientemente de la alimentacin deldispositivo, o en otras palabras, estas memoriasno pierden su informacin al ser desconectadasde la alimentacin. Son utilizadas para guardardatos o programas que es necesario mantener ancuando se apague el equipo. Ejemplos de estasmemorias son la ROM, EPROM, EEPROM, DiscosDuros.

    Tiempo de acceso:

    Mide el intervalo de tiempo que transcurre desdeque se solicita un dato a la memoria y sta loproporciona. Estos tiempos generalmente son muycortos pero en procesos que involucran grancantidad de datos estos tiempos son crticos.

    Los tiempos ms cortos los tienen las memorias asemiconductor como la SRAM (cache), DRAM,ROM, y los tiempos de acceso ms alto lo tienen lasunidades magnticas y pticas.

    MEMORIA RAM:De las siglas en ingls Random Acces Memory, quesignifican Memoria De Acceso Aleatorio, tienen comocaracterstica ser voltiles o sea que son capaces dealmacenar la informacin solamente cuando estnalimentadas, y pierden la informacin al desconectarsedel suministro de energa. Estas memorias permitenla escritura y la lectura de su informacin y tienen lacaracterstica de ser ms rpidas que cualquier otrotipo de memoria.

    Existen dos tipos principales de memorias RAM, queson la RAM Dinmica o DRAM y la RAM Esttica oSRAM:

    DRAM (del ingls Dynamic Random Acces Memory,memoria de acceso aleatorio dinmico) es el tipode memoria RAM ms usado. Se compone detransistores y condensadores que han de seractualizados mediante la corriente elctrica cadapocos milisegundos peridicamente para que losdatos permanezcan y no se pierda la informacin.A continuacin se muestra una figura de laarquitectura interna de la memoria DRAM,observe que el dispositivo de almacenamiento dememoria est formado por un capacitor quenecesita ser cargado (refrescado) peridicamente.

    3

    4

    Figura 25 Caracterstica coste capacidad para Lasdiferentes memorias.

  • M I C R O P R O C E S A D O R E S

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S 21

    SRAM (del ingls Static Random Access Memory,Memoria Esttica de Acceso Aleatorio) Es un tipode memoria RAM ms rpida que la DRAM, y tienela caracterstica que no necesita ser actualizada orefrescada (Refresh) La memoria SRAM tiene ladesventaja de ser muy cara, por lo que se sueleusar con ms frecuencia la memoria DRAM la cuales ms barata y ms pequea, aunque tambinms lenta.

    La memoria SRAM tambin es voltil, queriendodecir con esto, que cuando se corta el suministrode corriente, los datos almacenados se pierden.Debido al alto coste de fabricacin de la SRAM y asu alta velocidad, su uso ms comn est en lamemoria cach de los ordenadores.

    A continuacin se muestra la arquitectura internade una memoria SRAM, note que sus elementos

    de memoria no son condensadores, por lo queno necesita ser refrescada peridicamente.

    MEMORIA ROM:Del ingls Read Only Memory, en castellano: Memoriade slo lectura, es un tipo de memoria que encondiciones de trabajo normales no permite laescritura de datos en su interior, pero si permite sulectura. En los sistemas con microprocesadores estasmemorias guardan datos y programas que se necesitanpermanentemente, otra caracterstica es que estasmemorias no son voltiles, lo que significa que nopierden su informacin al ser desconectadas delsuministro de energa.

    A continuacin se muestra la forma fsica de un chipde memoria ROM.

    Figura 26 Arquitectura Interna y forma fsica de lamemoria RAM Dinmica

    Figura 27 Forma fsica de lamemoria RAM Esttica

    Figura 28- Arquitectura Interna de la memoria RAM Esttica

  • M I C R O P R O C E S A D O R E S

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S22

    Existen varios tipos de memorias ROM, entre las msimportantes podemos destacar las siguientes:

    - Memoria PROM- Memoria EPROM- Memoria EEPROM- Memoria FLASH

    Memoria PROM: es el acrnimo deProgrammable Read-Only Memory (ROMprogramable) Es una memoria digital donde elvalor de cada bit depende del estado de un fusible(o antifusible), que puede ser quemado una solavez. Por esto la memoria puede ser programada(pueden ser escritos los datos) una sola vez a travsde un dispositivo especial, un programador PROM.

    Estas memorias son utilizadas para grabar datospermanentes en cantidades reducidas.

    Las memorias PROM han venido utilizndosecomo generadores de funciones, normalmente enconjuncin con un multiplexor.

    A continuacin se muestra la forma fsica de unaPROM.

    Memoria EPROM: son las siglas de ErasableProgrammable Read-Only Memory (ROM borrableprogramable) Es un tipo de chip de memoria ROMinventado por el ingeniero Dov Frohman queretiene los datos cuando la fuente de energa seapaga. En otras palabras, es no voltil. Est formadapor celdas de FAMOS (Floating Gate Avalanche-Injection Metal-Oxide Semiconductor) otransistores de puerta flotante. Cada uno de ellosviene de fbrica sin carga, por lo que es ledo comoun 1 (por eso una EPROM sin grabar se lee comoFF en todas sus celdas) Se programan medianteun dispositivo electrnico que proporciona voltajessuperiores a los normalmente utilizados en loscircuitos electrnicos. Las celdas que reciben cargase leen entonces como un 0. Una vez programada,una EPROM se puede borrar solamentemediante exposicin a una fuerte luz ultravioleta.Esto es debido a que los fotones de la luz excitana los electrones de las celdas, provocando que sedescarguen. Las EPROMs se reconocen fcilmentepor una ventana transparente en la parte alta delencapsulado, a travs de la cual, se ve el chip desilicio y que admite la luz ultravioleta durante elborrado. A continuacin se muestra la forma fsicade un chip de memoria EPROM.

    Memoria EEPROM: son las siglas de electrically-erasable programmable read-only memory (ROMprogramable y borrable elctricamente) Es un tipode memoria ROM que puede ser programado,borrado y reprogramado elctricamente, adiferencia de la EPROM que ha de borrarsemediante rayos ultravioleta. Aunque una EEPROMpuede ser leda un nmero ilimitado de veces, slo

    Figura 29 Memoria EPROM

    Figura 30 Memoria PROM

    Figura 31 Memorias EPROM

  • M I C R O P R O C E S A D O R E S

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S 23

    Figura 32 Memorias EEPROM

    puede ser borrada y reprogramada entre 100,000y 1,000,000 de veces. En la actualidad estosdispositivos suelen comunicarse serialmentemediante protocolos como IC, SPI y Microwire,y reciben el nombre de EEPROM Serial oSEEPROM. En otras ocasiones se integra dentrode chips como microcontroladores y DSPs paralograr una mayor rapidez. La memoria flash es unaforma avanzada de EEPROM creadas por Intel. Acontinuacin se muestra la forma fsica de dichasmemorias.

    Memoria FLASH: es una forma evolucionada dela memoria EEPROM que permite que mltiplesposiciones de memoria sean escritas o borradasen una misma operacin de programacinmediante impulsos elctricos, frente a lasanteriores que slo permite escribir o borrar unanica celda cada vez. Por ello, flash permitefuncionar a velocidades muy superiores cuandolos sistemas emplean lectura y escritura endiferentes puntos de esta memoria al mismotiempo. En la figura a continuacin se muestrandos memorias FLASH de diferentes capacidades(izquierda) y una memoria USB compuestatambin de memoria FLASH (derecha)

    Un microprocesador est basado en un sistemaabierto que permite configurar la cantidad de memoria,la cantidad de puertos de entrada/salida, la velocidadde procesamiento, etc., y permite tambin poderexpandir o cambiar dichas prestaciones fsicamente.Los pines de un microprocesador sacan al exterior laslneas de sus buses de direcciones, datos y control,para permitir conectarle con la Memoria y los Mdulosde E/S que se deben implementar fsicamente alexterior del microprocesador. Se dice que unmicroprocesador es un sistema abierto porque suconfiguracin es variable de acuerdo con la aplicacina la que se destine.

    La disponibilidad de los buses en elexterior permite que se configure a lamedida de la aplicacin. La memoria ydispositivos de control deben conectarseexternamente. Un microcontrolador porotra parte es un sistema cerrado quecontiene internamente memoria ROM,memoria RAM, dispositivos de entrada ysalida analgica y digital, entre otros, yestas prestaciones no pueden sermodificables ya que se encuentran enel interior del chip.

    Figura 33 Forma Fsica de las memorias FLASH.

    DIFERENCIA ENTREEL MICROPROCESADORY MICROCONTROLADOR

    1.1.5

    Figura 34 - Estructura de un sistema abiertobasado en un microprocesador.

  • M I C R O P R O C E S A D O R E S

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S24

    Figura 35 - El microcontrolador es un sistema cerrado.

    Los fabricantes ofrecen entonces una variedadbastante amplia de microcontroladores condiferentes prestaciones que se acoplen a unaaplicacin en particular

    Todas l a s par tes de l computador es tncontenidas en su interior y slo salen al exteriorlas lneas que gobiernan los perifricos.

    Diagrama de bloques y ArquitecturaInterna de un Microprocesador

    Todos los microprocesadores existentes tienenuna estructura bsica similar. La arquitecturainterna de la mayor parte de microprocesadoressegn lo visto anteriormente es de tipo CISC.

    En la figura 7 se presenta el diagrama de bloquesde la estructura interna de un microprocesadorde 8 bits, dicha estructura bsica se puedeencontrar en los microprocesadores msavanzados como los de 16 y 32 bits.

    Se pueden reconocer los siguientes bloques internosms importantes de un microprocesador:

    - Unidad aritmtica y lgica (ALU)

    - Registros de propsito general

    - Registros de propsito especial

    - Banderas (Flags)

    - Registro de instrucciones

    - Unidad de tiempo y control

    La unidad aritmtica y lgica ALU:

    Es la seccin dentro de la CPU encargada dehacer todas las operaciones aritmticas y lgicas.Las operaciones aritmticas son la suma, resta,multiplicacin, divisin, etc. Las operaciones lgicasson por ejemplo la operacin AND, OR, XOR, NOT,etc. Uno de los operandos se encuentra en elacumulador (registro A), y el otro provienenormalmente de la memoria o de otro registro.El resultado se almacena en el acumulador y el grupode FLIP-FLOP denominados Flags cambia de estadosegn las caractersticas del resultado.

    ARQUITECTURA DELMICROPROCESADOR

    1.1.6

    Figura 36 Diagrama a bloques del interior de unmicroprocesador

  • M I C R O P R O C E S A D O R E S

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S 25

    Figura 37 Diagrama a bloques del Microprocesador z80

  • M I C R O P R O C E S A D O R E S

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S26

    Registros:Los registros internos delmicroprocesador son espacios dememoria que sirven para guardardatos momentneamente de lasoperaciones que se realizan.Estos registros son de memoriavoltil, de manera que al quitar elsuministro de energa se borra sucontenido.

    Existen varios tipos de registrosinternos del microprocesadorque se detallan a continuacin.

    Registros de propsito general:

    El Z80 posee 14 registros depropsito general de 8 bitsdenominados A, B, C, D, H, L yA, B, C, D, H , L. Estosregistros estn destinados paraalmacenar los datos que elmicroprocesador necesitar parahacer sus operaciones y sonaccesibles por el operador a travs del programa.Los 14 registros estn divididos en 2 sets.

    Solamente un set de siete registros y elcorrespondiente registro de Flags F pueden estaractivos al mismo tiempo. Una instruccin especialselecciona el set A y F o el set A y F mientras queotra instruccin selecciona B, C, D, E, H, L o C, D,E ,H L.

    El programador puede cambiar rpidamente de unconjunto de registros de propsito general a otro.Esto proporciona una mayor capacidad dealmacenamiento en registros. El acceso a datospresentes en registros de la CPU es mucho msrpido que el acceso a datos en memoria.

    Los registros pueden agruparse de a pares formandoregistros de 16 bits. stos son los pares BC, DE y HL(sus equivalentes primas tambin pueden agruparse)

    Flags: (registro de estado o registro de banderas)El registro de banderas o Flags es un registro internodel microprocesador que tiene el propsito de dar aconocer las cualidades del resultado de lasoperaciones realizadas por el microprocesador, porejemplo, si el resultado de una operacin es igual acero, la bandera Z (Flag Z) de este registro lo indicarcon su estado lgico. A continuacin se enumeranlos bits que componen el registro de banderas:

    Figura 38 Set de registros del microprocesador Z80

    Figura 39 Registro de banderas

  • M I C R O P R O C E S A D O R E S

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S 27

    Flag de Cero (Z)Este bit toma el valor 1 si el resultado de una operacinrealizada por la ALU es de cero. Por ejemplo, si se realizala operacin 3 3, el resultado de esta operacin ser0, por lo que la bandera Z lo indicar con un estadolgico de 1. Esta bandera se encuentra en el bit 6 delregistro Flags.

    Flag de signo (S)Esta bandera indica el signo del resultado de unaoperacin realizada por la ALU y toma el valor 1 s elresultado de la operacin es negativo y 0 s el resultadoes positivo. Es el bit siete del registro Flags.

    Flag de Carry (C)Este flag es afectado por las instrucciones dedesplazamiento y es puesto en 1 0 segn el valor delbit desplazado. Tambin es afectado por las operacionesaritmticas cuando stas provocan acarreos. Este flagse encuentra en la posicin del bit cero.

    Flag de Paridad y overflow (P/V)En el caso de paridad, se pone en 1 si el resultado deuna operacin posee un nmero par de unos.

    Cuando el flag P/V se usa para representar overflow, elflag se pone en 1 si ocurre un overflow o desbordamientodespus de una operacin aritmtica. Este flag seencuentra en la posicin del bit 2.

    Flag H y N:Son dos banderas que el Z80 usa para las operacionesBCD. H representa el rebalse odesbordamiento que generaconsiderando los cuatro bits menossignificativos del resultado y N es el flagde resta, el cual se activa para indicarsi la ltima instruccin ejecutada fuesuma o resta.

    En el caso general, una instruccin deresta coloca en 1 el flag N y unainstruccin de suma lo coloca en 0. LosFlags H y N se encuentran en laposicin de los bits 4 y 1 del registrode banderas respectivamente.

    Registros de propsito especial

    Contador de programa (Program Counter)Es un registro de 16 bits que indica la direccin de lamemoria ROM donde se encuentra la prximainstruccin a ejecutar. Las instrucciones del Z80 puedencontar de uno, dos, tres o cuatro bytes.

    Puntero de Pila (Stack-Pointer)Es un registro de 16 bits que indica la direccin de unamemoria RAM externa denominada Stack. El objetivode esta rea de memoria es proporcionar un medio dealmacenamiento temporal de los registros del usuario,registro de Flags y del program Counter. La provisin deStack es fundamental para operaciones tales como losllamados a sub-rutinas e interrupciones.

    Registros ndices IX e IYEstos registros son de 16 bits, diseados para permitirun direccionamiento indexado en los programas delZ80. Cuando se ejecuta una instruccin en un modode direccionamiento indexado, se usa uno de los dosregistros ndices para calcular la direccin del operando.

    Registro de interrupciones IEs un registro de 8 bits que puede ser cargado paraespecificar el byte ms significativo de una direccin dememoria. El byte menos significativo es proporcionadopor el dispositivo que solicita la interrupcin.

    Registro de refresh de memoria REs un registro especial diseado para proporcionar unrefresh automtico de las memorias RAM dinmicas.

    Figura 40 Registros ndice del Z80

  • M I C R O P R O C E S A D O R E S

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S28

    Registro de instrucciones:El registro de instrucciones tiene por misin almacenarel cdigo de operacin de la instruccin leda desdememoria. Este cdigo es descodificado y con estainformacin se dirigen todos los micro-pasos.

    La unidad de tiempo y control:Su objetivo es mantener la secuencia adecuada y elcontrol de todas las operaciones de la CPU. Atiendey responde a todas las seales externas.

    Arquitectura externade un microprocesador

    En la figura anterior se muestra la distribucin determinales del microprocesador Z80 de 8 bits, se diceque es de 8 bits dada la cantidad de lneas de datosque posee (D0 D7) En esta distribucin se puedenclasificar los siguientes grupos de terminales llamadosbuses:

    - Bus de direcciones (Address Bus)- Bus de datos (Data Bus)- Buses de control (CPU Bus Control, System Control)- Lneas de alimentacin y reloj.

    Bus de direccionesEl bus de direcciones est formado por 16 lneas

    que van desde la lnea A0 hasta la lnea A15.

    Estas lneas poseen 3 estados (Alto, bajo y AltaImpedancia), de modo que cuando el bus de direccionesest inactivo, ellos se encuentran en un estado de altaimpedancia.

    Cuando el procesador maneja dispositivos de I/O (Input /Output , Entrada /Salida), las 8 lneas menos significativasde este bus, contienen la direccin del dispositivo, la cualpuede tener un valor entre 0 y 255.

    Por otro lado, las lneas menos significativas de este buscontienen, durante un lapso en ejecucin de cadainstruccin, el valor presente en el registro de Refresh dememoria R.

    Bus de datos (Data Bus)El bus de datos est formado por 8 lneas que van desdela lnea D0 a la lnea D7. Este bus es bidireccional,permitiendo la transferencia de informacin desde laCPU haca la memoria o dispositivos de I/O y viceversa.Es tambin un bus de 3 estados.

    Figura 41 - Arquitectura externa del microprocesador Z80

    Figura 42 Conjunto de lneas del microprocesadorZ80.

  • M I C R O P R O C E S A D O R E S

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S 29

    AlimentacinEl microprocesador Z80 requiere solamente de 2 lneasde alimentacin 0 y 5 V, con un margen de 5% y consumeuna corriente mxima de 200 mA.

    Seales de RelojEl Z80 requiere solamente una seal de reloj.La frecuencia de esta seal para el Z80 es de 4 Mhz.

    Seales de control

    Control de los busesLa CPU posee dos seales asociadas con el control de losbuses de direccin y datos. Estas seales son la seal deentrada BUSRQ y la seal de salida Busak.

    La seal BUSRQ es generada por un dispositivo externopara obtener el control de los buses y realizar unaoperacin de acceso directo a memoria o DMA (DirectMemory Access) Esta operacin es importante para poderacceder a la memoria sin necesidad de gestionar elmicroprocesador con el objeto de agilizar la manipulacinde informacin.

    Cuando un dispositivo externo solicita el control de losbuses colocando en 0 la lnea BUSRQ, el procesadorconcluye la instruccin que estaba ejecutando y respondemediante la seal de reconocimiento BUSAK.

    Colocando la seal de salida Busak en 0, el procesadorinforma al dispositivo externo que el bus de direccin, elbus de datos y las seales de control de salida seencuentran en estado de alta impedancia y enconsecuencia, se encuentran libres para ser controladaspor dicho dispositivo.

    Control de la memoriaEl Z80 posee 4 seales relacionadas con las operacionesde control de la memoria. Ellas son las seales MREQ,RD, WR y RFSH.

    La seal MREQ es una seal de 3 estados que se activaen 0 indicando que el bus de direcciones contiene unadireccin vlida.

    Las seales RD y WR indican a la memoria si la CPUefectuar una operacin de lectura o escritura.

    La seal RFSH no est asociada con la operacin normalde la memoria sino que se usa solamente con memoriadinmica. Las memorias dinmicas requieren que serefresque peridicamente la informacin almacenadaantes que se degrade.

    Control de I/O (Entrada / Salida)La CPU usa la seal IORQ para informar a losdispositivos de I/O (Entrada / Salida) que los 8 bits menossignificativos del bus de direcciones contienen unadireccin de I/O vlida.

    Control de las InterrupcionesEl microprocesador Z80 posee dos lneas de entrada atravs de las cuales un dispositivo externo puede solicitarla interrupcin del programa que se est ejecutando y laejecucin de una rutina que maneje dicha interrupcin.Estas lneas son la NM I y INT.

    Seales MiscelneasEn este grupo se encuentran las seales M1', RESET,WAIT y HALT. La seal RESET es una seal de entrada ala CPU y que se activa (se coloca en 0) para efectuar unaoperacin de reset general. Esta seal es puesta en ceroen los microcomputadores que usan estemicroprocesador, inmediatamente despus que se aplicala energa y cada vez que s resetea el sistema.

    Tabla 2 Estados lgicos asociados a la lectura y escritura de memoria

    Tabla 3 Estados lgicos asociados a la lectura yescritura de puertos

  • M I C R O P R O C E S A D O R E S

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S30

    Cuando se activa la seal RESET, las interrupcionesquedan en modo 0, los registros R e I quedan tambinen cero y el Program Counter carga la direccin 000H.

    La seal WAIT es una seal asociada con memorias odispositivos de I/O lentos. Mientras, la seal Wait esten cero, la CPU no hace nada esperando la respuestade la memoria o del dispositivo de I/O lento.

    Finalmente, la seal HALT es una seal que se activa(se pone en cero) cuando se ejecuta una instruccinHALT.

    Cuando el microprocesador est en estado HALT realizasolamente instrucciones NOP (No operation) paraasegurar el adecuado refresh de memoria. Se puede salirde este estado slo mediante interrupciones.

    Para conservar el equipo con microprocesadores sedeben tener siempre en cuenta los valores de trabajoy almacenamiento especificados en las hojas dedatos y manuales de usuario del microprocesador.Estos valores se pueden resumir en las tablasproporcionadas por los fabricantes, donde se tabulanlos valores mximos, mnimos y tpicos de operacin.Operaciones ms all de estas especificaciones puedencausar desde un mal func ionamiento hastala destruccin completa de los d ispos i t ivos.En la siguiente figura se muestran los valores mximospara el microprocesador Intel 80386, obtenida de lahoja de datos del fabricante. Observe por ejemplo,que las temperaturas de almacenamiento son de unmnimo de -65 oC hasta un mximo de 150 oC.

    CONSERVACIN1.1.7

    Figura 43 Hoja de especificaciones elctricas de microprocesadores

  • M I C R O P R O C E S A D O R E S

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S 31

    Existen varios factores que deben tomarse en cuentaal momento de realizar o instalar circuitos conmicroprocesadores:

    Alta frecuencia y emisioneselectromagnticas EMI:Los sistemas con microprocesadores trabajan amuy altas frecuencias, produciendo emisioneselectromagnticas que pueden afectar elfuncionamiento de otros equipos que seencuentren alrededor.

    Para evitar estos efectos, es necesario blindarel circuito utilizando un chasis de materialesmetlicos que cubran completamente toda elrea alrededor de las tarjetas conmicroprocesadores.

    Este chasis debe estar debidamente aterrizadode forma que cualquier interferencia producidapor el microprocesador sea absorbida por elchasis mismo y enviada a tierra.

    El chasis tambin acta eliminando cualquieremisin electromagntica externa que puedacausar un mal funcionamiento en los circuitosdel microprocesador.

    Temperatura y ventilacin:

    Los sistemas con microprocesadores puedenproducir temperaturas muy elevadas quepueden causar mal funcionamiento de losdispositivos o dao permanente en los mismos,para evitar esto es necesaria una correctaventilacin y el uso en algunas ocasiones dedisipadores de calor y ventiladoresespecficamente diseados para losmicroprocesadores, en caso de darmantenimiento a las tarjetas que contienen estosdispositivos, debe observarse que losventiladores funcionen correctamente y questos estn limpios, lubricados y sinatascamientos. Si se utiliza un disipador de calormetlico debe aplicar silicona termoconductoraentre el microprocesador y el disipador.

    La silicona termoconductora, tambin llamadaresina termoconductora o trmica, es una pastaque facilita el contacto ntimo entre el micro yel disipador, mejorando la transmisin de caloral disminuir la llamada resistencia trmica decontacto.

    Este detalle es especialmente importante paramicroprocesadores que por su diseo tiendena producir mucho calor

    MEDIDAS DE SEGURIDAD1.1.8

    Figura 44 Aplicacin de silicona termoconductora y disipadores de calor a los microprocesadores.

  • M I C R O P R O C E S A D O R E S

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S32

    Proteccin atmosfrica y conexin a tierra:

    En la instalacin de todo equipo electrnico de estanaturaleza es imprescindible la instalacin de tierrafsica, para evitar daos tanto al equipo, como alpersonal operativo.

    El NEC reconoce que los equipos sensibles,como sistemas microprocesadores,computadores, etc. se puede afectaradversamente con las corrientes que fluyenen los conductores comunes de aterrizajede los equipos, como conduit, conductor obarra verde, aceros de edificios, etc.

    Para reducir tales problemas, el NEC en laseccin 250-74, excepcin No. 4, permiteque se lleve un conductor de aterrizajeaislado desde el receptculo hasta el puntode aterrizaje del servicio de potenciaelctrica o al terminal aterrizado del sistemaderivado, separado para servicios de losreceptculos, este conductor se debe llevaren el ducto, canaleta o conduit, con losconductores que sirven la carga delreceptculo.

    Figura 45 Forma correcta de ensamblar eldisipador Y el microprocesador al socket.

    Figura 47 - Instalacin alternativa de un sistema microprocesador.

    Figura 46 - Instalacin ideal de un sistemamicroprocesador segn NEC seccin 250-74

  • M I C R O P R O C E S A D O R E S

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S 33

    La conexin de dispositivos de memoria ROM y RAMhacia el microprocesador se realiza a travs del busde direcciones (Address Bus), del bus de datos(Data Bus) y algunas lneas del bus de control.El microprocesador indicar en su bus de direccionesque posicin de memoria requiere leer o escribir, estaposicin de memoria es llamada direccin de memoriay en ella se puede alojar una instruccin o un dato.

    Como se ha estudiado anteriormente las instruccionesde programa se deben guardar en una memoria novoltil como la memoria ROM, EPROM, EEPROM,etc. de tal forma que las mismas no se borren al quitarel suministro de energa. Debido a que elmicroprocesador Z80 al ser energizado siempre leeprimero la direccin de memoria 0000h es normal queestas primeras posiciones de memoria estnimplementadas con memoria ROM que aloja elprograma principal del microprocesador, el resto dememoria direccionable se puede implementar conmemoria ROM o RAM dependiendo de las necesidadesde diseo. El Z80 posee 16 lneas de direccin(A0 A15) que permiten direccionar un mximo de216 = 65536 posiciones de memoria o 65 kbytes. Acontinuacin se puede observar como conectar variasunidades de memoria al microprocesador.

    CONEXINES DELMICROPROCESADOR

    1.2

    CONEXINDE MEMORIA

    1.2.1

    Figura 48 Diagrama de conexin de microprocesador Z80 con memoria

  • M I C R O P R O C E S A D O R E S

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S34

    En la figura anterior se puede apreciar la conexinde dos memorias EEPROM de 8kbytes cada una,para hacer un total de 16kbytes de memoriaEEPROM.

    Obsrvese que tanto el bus de direcciones(A0-A12) como el de datos (D0-D7) se conectanen paralelo para todas las memorias y se utilizanlas primeras lneas de direcciones para direccionar(A0 A12) y las lt imas (A13 A15) paradecodificar y habilitar cada una de las memorias.

    Por ejemplo, si el microprocesador trabaja con losprimeros 8kbytes de memoria, las lneas A13 - A15se encontrarn en estado lgico 0, por lo tanto, eldecodif icador 74138 habi l itar su sal ida Y0solamente, activando el primer chip de memoriaIC2 a travs de su terminal CE\ y ponindola enalta impedancia el chip IC3 de memoria.

    Cuando el microprocesador trabaje arriba de losprimeros 8kbytes de memoria, las lneas A13 A15tendrn los estados lgicos 1, 0, 0 respectivamente,haciendo que el decodificador de direccioneshabilite la memoria IC3 y deshabilite la memoriaIC2.Note que la terminal OE\ de las memorias estnconectadas a la Terminal RD\ del microprocesadordebido a que este ltimo activa RD\ y MREQ\cuando realiza una lectura de memoria.

    La terminal WR\ de la EEPROM s deshabilitaconectndola a VCC debido a que esta Terminalslo sirve para grabacin de la EEPROM, luego delo cual stas slo sern de lectura.

    En la figura a continuacin se muestra el diagramade tiempos para los ciclos de lectura de memoria(Memory Read Cycle) y el ciclo de escritura dememoria (Memory Write Cycle):

    Figura 49 Diagrama de tiempos de lectura y escritura de memoria

  • M I C R O P R O C E S A D O R E S

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S 35

    Ciclo de Lectura de memoria (Memory ReadCycle) : para leer una memoria el

    microprocesador realizar los siguientes pasos(observe la figura anterior):

    - Establece una direccin vlida en el bus dedirecciones (A0 A15)

    - Activa a nivel bajo la Terminal MREQ (MemoryRequest) indicando una operacin de memoria.

    - Activa a nivel bajo la Terminal RD indicando unaoperacin de lectura

    - Por ltimo lee el dato presente en el bus dedatos (D0 D7) durante el tercer periodo dereloj T3.

    Ciclo de Escritura de memoria (MemoryWrite Cycle): para escribir en una memoria el

    microprocesador realizar los siguientes pasos(observe la figura anterior):

    - Establece una direccin valida en el bus dedirecciones (A0 A15)

    - Activa a nivel bajo la Terminal MREQ (MemoryRequest) indicando una operacin de memoria.

    - Establece el dato valido a escribir en el bus dedatos (D0 D7)

    - Por ultimo activa a nivel bajo la Terminal WRindicando que la informacin presente en el busde datos est lista para ser escrita

    La implementacinde la memoriaRAM estticao SRAM sepuede hacersiguiendo elm i s m oesquema dela ROM, salvoincluyendo laslneas WR yWE\ para laescritura dedatos como semuestra en lasiguiente figurad o n d e s ei m p l e m e n t aun to t a l de4 k b y t e s d eR A M e n 2b l o q u e s d e2kbytes cadauno.

    a b

    Figura 50 Implementacin de memoria RAM al microprocesador

  • M I C R O P R O C E S A D O R E S

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S36

    En caso de implementar memoria RAM dinmica oDRAM, es necesario seguir el siguiente diagramaproporcionado por el fabricante donde se indica laestructura necesaria para realizar el refresco o refresh(RFSH)

    Los dispositivos perifricos como los teclados,impresoras, pantallas, displays, etc. Se conectan almicroprocesador a travs de los puertos deentrada y salida de datos. El microprocesador Z80utiliza las terminales de control IORQ (Input /Output Request), WR (Write) y RD (Read) paraefectuar operaciones con los puertos de entrada /salida, adems especifica una direccin de puertoen las terminales (A0 A7) del bus de direcciones.Debido a que slo se dispone de los primeros ochobits (A0 A7) del bus de direcciones para habilitarlos puertos, se tiene un mximo de 28 = 256puertos disponibles, que pueden ser de entraday/o salida.

    En la figura que se muestra a continuacin, sepuede observar una forma sencilla de implementarlos puertos de entrada y salida. En este caso elpuerto de la direccin 00h es un puerto de salidaconectado a un display, y el puerto de la direccin01h es un puerto de entrada que est conectado aun teclado.Figura 51 Implementacin de memoria RAM dinmica

    PERIFRICOS1.2.2

    Figura 52 Implementacin de dispositivos perifricos al microprocesador

  • M I C R O P R O C E S A D O R E S

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S 37

    Existen 2 operaciones que el microprocesador puedehacer con los puertos de entrada / salida:

    - Lectura de datos de un puerto de entrada

    - Escritura de datos hacia un puerto de salida

    En la figura a continuacin, se muestra el diagrama detiempos para los ciclos de lectura de puertos (InputOutput Read Cycle) y el ciclo de escritura de puertos(Input Output Write Cycle):

    Ciclo de Lectura de puertos (Input OutputRead Cycle) : Para leer un puerto el

    microprocesador realizaran los siguientes pasos(observe la figura anterior):

    - Establece una direccin valida en el bus dedirecciones (A0 A7)

    - Activa a nivel bajo la Terminal IOREQ (InputOutput Request) indicando una operacin depuertos de entrada / salida.

    - Activa a nivel bajo la Terminal RD indicando unaoperacin de lectura

    - Por ltimo, lee el dato presente en el bus dedatos (D0 D7)

    Ciclo de Escritura de puertos (Input OutputWrite Cycle): Para escribir en un puerto el

    microprocesador realizar los siguientes pasos(observe la figura anterior):

    - Establece una direccin valida en el bus dedirecciones (A0 A15)

    - Establece el dato valido a escribir en el bus dedatos (D0 D7)

    Figura 53 Diagrama de tiempos de lectura y escritura de puertos

    a

    b

  • M I C R O P R O C E S A D O R E S

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S38

    - Activa a nivel bajo la TerminalIOREQ (Input OutputRequest) indicando unaoperacin de puertos deentrada / salida.

    - Por ltimo, activa a nivel bajola Terminal WR indicando quela informacin presente en elbus de datos est lista para serescrita

    Existe una amplia variedad dedisposit ivos controladores depuertos que ofrecen toda laarquitectura necesaria en un solochip. El Z80 PIO es un ejemplo deeste t ipo de controladorespecficamente diseado paratrabajar con el Z80 CPU. Este chipofrece 2 puertos PA y PB quepueden ser programados como deentrada o salida de datos, tambinpermite la uti l izacin deinterrupciones.

    En las figuras siguientes se observasu distribucin de terminales y laforma de conexin.

    Figura 54 Dispositivos controladores de puertos

    Figura 55 Forma de conexin deldispositivo controlador de puerto

  • M I C R O P R O C E S A D O R E S

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S 39

    Los dispositivos de interfase programable, son aquellosque permiten configurar el modo de operacin desdeel cdigo de programa. Existe una variedad dedispositivos de interfase programable. A continuacinse muestra el integrado MSM82C55A que es undispositivo de interfase de entrada / salida universalde 8 bit, que opera a altas frecuencias y ofrece pococonsumo de energa basado en tecnologa CMOS.Posee 24 pines de entrada/salida, equivalentes a 3puertos de 8 bits compatibles con tecnologa TTL.Cada puerto es bidireccional, que significa que puedeser configurado para entrada y salida de datos.

    DE INTERFASEPROGRAMABLE

    1.2.3

    Figura 56 Diagrama a bloques del integrado MSM82C55A

    Figura 57 Distribucin de terminales delintegrado MSM82C55A

  • M I C R O P R O C E S A D O R E S

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S40

    A continuacin se muestra un ejemplo de conexindel controlador de interfase programable 8255 condispositivos de entrada / salida. En la entrada tieneconectado un teclado de 36 teclas y a la salida tiene unarreglo de 8 display de 7 segmentos.

    Interrupcin se le conoce a toda seal externa quetiene prioridad sobre cualquier proceso que elmicroprocesador est ejecutando, de tal forma quecuando ocurre una seal de interrupcin, elmicroprocesador deja los procesos actualespendientes y le da prioridad a la interrupcin,realizando una rutina especial que se conoce comoservicio de interrupcin o rutina de interrupcin.

    La rutina de interrupcin es un subprograma que seguarda en una posicin especfica de la memoria ROM,en este subprograma se especifican las tareas que elmicroprocesador debe realizar al momento que unaseal de interrupcin ocurra.

    Esto es imprescindible. por ejemplo, en sistemas deseguridad donde determinadas seales deben producirrespuestas inmediatas del microprocesador.

    Tambin se utilizan las interrupciones para tareas comoel control de los teclados de un computador o elcontrol del Mouse, haciendo que cada vez que presionauna tecla el microprocesador de la computadoraresponda de manera inmediata a esa seal.

    Figura 58 Ejemplo de conexin del integrado MSM82C55A

    INTERRUPCIONESPROGRAMABLES

    1.2.4

  • M I C R O P R O C E S A D O R E S

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S 41

    Existen en general 2 tipos de interrupciones que son:- Interrupciones enmascarables (Maskable interrupt)

    - Interrupciones no enmascarables (Non-Maskable Interrupt)

    Interrupcin enmascarable:

    Se le llama a la interrupcin que puedeser habilitada o deshabilitada(enmascarada) desde el programa.

    De esta forma en el programa se puedeescoger el momento propicio para hacercaso de la interrupcin o para omitirla yseguir con la ejecucin normal delprograma principal.

    Interrupcin no enmascarable:

    En este tipo de interrupcin no haymanera de deshabilitarla a travs delprograma. Si una interrupcin noenmascarable ocurre, el microprocesadorla atender inevitablemente saltando a laposicin de memoria donde se aloja elservicio de interrupcin.

    Todos los microprocesadores poseen una o msentradas de interrupcin. En el microprocesador Z80se cuenta con 2 entradas de interrupcin, unaTerminal para interrupciones enmascarables (INT) yotra Terminal para interrupciones no enmascarables(NMI)

    En la siguiente figura se muestra una forma muysencilla de implementar una interrupcin noenmascarable, sta consta de un interruptor trmicoque se encuentra normalmente abierto, cuando latemperatura alcanza cierto nivel el interruptor seactiva cerrndose y proporcionando una seal deinterrupcin, haciendo que el microprocesadordetenga la ejecucin normal del programa y atienda

    la interrupcin saltando a la direccin de memoria0066h donde se aloja la rutina de servicio deinterrupcin.

    Uno de los dispositivos que permite la interfase serialcon el microprocesador Z80 es el circuito integradoZ80 SIO (Serial Input Output), que bsicamente actacomo un convertidor de informacin Paralelo Serialy Serial Paralelo, utilizando los protocolos estndarde comunicacin serial.

    Este dispositivo permite la transmisin y recepcin dedatos de forma sncrona y asncrona con niveles devoltaje TTL. Es posible la implementacin de lacomunicacin con el protocolo RS 232 agregando elCI MAX 232 como se muestra en el siguiente diagramaesquemtico.

    a

    b

    Figura 59 Implementacin de una interrupcin no enmascarable

    DE COMUNICACIN SERIAL1.2.5

  • M I C R O P R O C E S A D O R E S

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S42

    Al momento de instalar un sistema basado enmicroprocesadores, se deben tomar en cuentasiempre las medidas de seguridad para no daar losdispositivos. Tome en cuenta que la mayor parte deelementos electrnicos estn basados en tecnologaCMOS que es especialmente vulnerable a laelectricidad esttica, por lo que la manipulacininapropiada puede destruir estos dispositivos.

    Tambin es necesario puntualizar que las tensiones dealimentacin tienen mrgenes que no debensobrepasarse y es necesario verificar estas tensionesantes de conectar el circuito a la alimentacin.

    Por ltimo, cuando sea necesario realizar medicionessobre el circuito, debe tener cuidado de nocortocircuitar las terminales de los dispositivos, puesse puede causar un dao permanente en los mismos.Si se tiene duda acerca del comportamiento de undispositivo debe consultar la hoja de datos delfabricante antes de realizar cualquier conexin omedicin.

    El diseo e instalacin de cualquier sistemamicroprocesador se basa en las necesidades que debecubrir dicho sistema. Estas necesidades son porejemplo, la cantidad de puertos de entrada y salidanecesarios, la cantidad de puertos analgicos y digitales,los sistemas de comunicacin que debe cubrir,la complejidad y tamao del programa, etc. A partirde estos datos se dimensiona la cantidad de dispositivosde memoria, decodificadores, controladores, etc. quesern necesarios.

    En el siguiente diseo utilizaremos el sistema mnimodel microprocesador para efectos de demostracincon un programa bastante simple pero queejemplificar el procedimiento a seguir para suinstalacin.

    Supondremos que en determinada aplicacin senecesita instalar un sistema que debe leer lainformacin de 2 puertos de entrada digital de 8 bits yluego escribir esta misma informacin en otros 2puertos de salida de 8 bits. Supondremos tambin que

    Figura 60 Implementacin de comunicacin serial al microprocesador Z80

    PROCESO DEINSTALACIN DEMICROPROCESADORES

    1.3 PROCEDIMIENTODE TRABAJO

    1.3.1

  • M I C R O P R O C E S A D O R E S

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S 43

    la velocidad de procesamiento no es crtica, por loque no es necesario que el microprocesador trabaje amxima frecuencia.

    Teniendo esta informacin sabemos que necesitamosinstalar 2 puertos de entrada digitales de 8 bits y dospuertos de salida digitales de 8 bits, tambin sabemosque el programa es bastante simple y no requerirmucho espacio de memoria por lo que dimensionamossolamente una memoria EEPROM. El otro dato quetenemos es la frecuencia de reloj que no necesita sermuy precisa ni rpida por lo que podemos construirun oscilador astable con el integrado NE555. El diseofinal es el siguiente.

    Ya que se tiene dimensionado el sistema se procedede la siguiente manera:

    - Procedemos a armar el circuito en Protoboard paraverificar su funcionamiento, teniendo en cuenta elno utilizar puentes demasiado largos para evitarproblemas de ruido y prdidas en las lneas.

    - Debemos grabar el programa principal en la memoriaEEPROM utilizando un programador y seguidamenteinstalar la memoria siguiendo el esquema de la figuraanterior.

    Figura 61 Instalacin mnima del microprocesador Z80

  • M I C R O P R O C E S A D O R E S

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S44

    - Verificamos antes de conectar el circuito las tensionesde alimentacin. stas deben ser tensionesestabilizadas y con un mnimo de rizo para que noprovoquen mal funcionamiento. Adems, debenproveer la corriente suficiente para todo el sistema.En este caso en particular se puede construir unafuente de alimentacin utilizando reguladores de 3terminales como el 7805 que provean 1 Amperio decorriente.

    - Se verifica que el circuito tenga suficiente ventilacin,disipadores de calor y ventiladores si son necesarios.En nuestro caso particular, el microprocesador nonecesita disipador de calor, pero debe verificarse lacorrecta ventilacin para que el dispositivo no sesobrecaliente.

    - Se procede a conectar la fuente de alimentacin,teniendo mucho cuidado con la polaridad, ya que uncambio de la misma puede ocasionar daospermanentes a los dispositivos.

    - Verificamos que el oscilador funcione correctamente,produciendo un tren de pulsos a su salida y que estaseal llegue a la terminal de entrada CK delmicroprocesador

    - Verificamos que todos los dispositivos estncorrectamente alimentados

    - Verificamos el funcionamiento total del programa.

    Al momento de instalar un sistema microprocesadorse deben tomar las siguientes medidas de seguridad:

    - Antes de ponerse en contacto con cualquierdispositivo lea las precauciones y medidas deseguridad que recomienda el fabricante.

    - Verifique las tensiones y corrientes de los suministrosantes de hacer cualquier conexin.

    - Observe las etiquetas y marcas de precaucin quealgunos dispositivos poseen, como alta tensin, altatemperatura, etc.

    - Evite tocar los dispositivos cuando estos estnfuncionando.

    - Si es necesario hacer mediciones en el circuitoverifique con anterioridad el buen estado delinstrumento de medicin y sus accesorios.

    - Utilice ropa adecuada y zapatos con suela aislantepara prevenir descargas elctricas a travs delcuerpo.

    - Verifique la correcta conexin de tierras en todoslos instrumentos de medicin y equipo.

    - Guardar los dispositivos susceptibles de daarse porelectricidad esttica dentro de bolsas antiestticas oenvueltos en papel aluminio con el objeto de quetodas las terminales estn al mismo potencial.

    - Proveer la correcta ventilacin de los dispositivos enel lugar de operacin, verificando que no hallansobrecalentamientos.

    - Asegurar un correcto suministro de energa elctricaestabilizada y libre de ruido.

    - Instalar disipadores de calor y ventiladores a loselementos que los requieran.

    - Verificar las condiciones de trabajo del sistema, comolos niveles de humedad, temperatura, polvo,sustancias txicas, etc., a las cuales ser sometido einstalar el chasis adecuado a dichas condiciones.

    Mucho del material utilizado para empaque de losdispositivos electrnicos es reciclable, como el cartn,el papel, y algunos plsticos. Esto se puede verificarobservando en el empaque el smbolo de reciclable.

    MEDIDASDE SEGURIDAD

    1.3.2

    PROTECCINAMBIENTAL

    1.3.3

  • M I C R O P R O C E S A D O R E S

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S 45

    Las bateras a base de cidos o materia lescontaminantes, deben ser correctamente selladasy ubicadas en lugares adecuados para evitar lacontaminacin en caso de que se degraden.

    Al momento de dar mantenimiento evite lautilizacin de rociadores que contengan CFCs quedaan la capa de ozono y tenga cuidado de no usarestos en lugares con temperaturas elevadas quepuedan dar lugar a flamabilidad.

    Observe que los equipos instalados de suministrode energa no consuman mas que la necesaria parasu operacin. Por ejemplo, si un equipo necesitapara su correcta operacin un suministro de 3watts, el instalar un suministro que provea 10 wattsprovoca un desperdicio de energa.

    Almacene en lugares adecuados los materialestxicos como el estao, pasta para soldar, cloruroferrico, etc.

    PROCESODEINSTALACIN

    Esta prctica tiene como objetivo el montaje parael funcionamiento de un microprocesador,ut i l izando todos los e lementos peri fr icosnecesarios para un buen funcionamiento.

    Por lo que es importante llevar a cabo los siguientespasos.

    1. Comprobar que la tensin de alimentacinest de acuerdo a las especificacionestcnicas del fabricante

    2. Conectar microprocesador, de acuerdo adiagrama proporcionado por el facilitador

    3. Conectar dispositivos de periferia paraoperacin del microprocesador (memoria,reloj, controlador de puertos, etc.)

    4. Realizar pruebas de funcionamiento delmicroprocesador, verificar operacin dereloj y las seales del microprocesador

    5. Medir parmetros de operacin delmicroprocesador

    6. Montar microprocesador y elementos delcircuito

    7. Al finalizar la prctica deber: Limpiar yproporcionar mantenimiento bsico alequipo y/o herramientas ut i l izados,a lmacenar adecuadamente el equipo,herramientas y/o materiales util izados,limpiar y ordenar el rea de trabajo, as comoelaborar un reporte de la misma, que incluyaun listado de las medidas de seguridadaplicadas en la prctica y las observacionesy conclusiones relacionadas al proceso detrabajo

    Los fabricantes s iempre proporcionan lasespecificaciones tcnicas en las hojas de datos delos disposit ivos, en el las se especi f ican lascondiciones mximas absolutas de operacin.

    A continuacin se presenta la hoja de datos de lasespecificaciones tcnicas del microprocesadorAMD486.

    ESPECIFICACIONESTCNICASDEL FABRICANTE

    1.4

  • M I C R O P R O C E S A D O R E S

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S46

    El programa es un conjunto de instrucciones escritasen una secuencia especfica que indican almicroprocesador las operaciones que debe realizar yen que momento las debe ejecutar.

    Dado que los microprocesadores son dispositivoselectrnicos digitales, las instrucciones del programaestn formadas por una serie de unos y ceros que elmicroprocesador interpreta como instrucciones arealizar. Como se estudi anteriormente en elmicroprocesador Z80 el programa se almacena en lasprimeras celdas de la memoria ROM a partir de ladireccin 0000h.

    Cuando ocurre un RESET o cuando se energiza elmicroprocesador, ste buscar la primera instruccindel programa en la posicin de memoria 0000h.

    Existen varias formas de programar unmicroprocesador, y a estas diferentes formas decomunicacin con el procesador se les llama lenguajesde programacin.

    Los lenguajes de programacin se clasifican en:

    - Lenguaje de mquina

    - Lenguaje de bajo nivel o lenguaje ensamblador (Assembly)

    - Lenguaje de alto nivel.

    Figura 62 Valores Mximos de trabajo para el Microprocesador AMD486

    PROGRAMACIN DELMICROPROCESADOR

    1.5

    DEFINICIN1.5.1 TIPOS Y CARACTERSTICAS1.5.2

  • M I C R O P R O C E S A D O R E S

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S 47

    Figura 63 Las instrucciones del programa se guardan en lamemoria ROM del sistema microprocesador

    Lenguaje de mquina:

    Es el nico lenguaje que el microprocesador es capazde entender y est formado por series de unos y cerosque el dispositivo interpreta como instrucciones arealizar.

    Por ejemplo, si necesita hacer una suma de dosnmeros A y B, la instruccin a utilizar ser SUME A+ B que en lenguaje de mquina se escribe: 10000000en binario o 0x80 en hexadecimal. Este cdigo debegrabarse.

    En otras palabras, cuando el microprocesador lee10000000 desde la memoria, l interpreta este cdigocomo una instruccin de suma entre A y B.

    El lenguaje de mquina es diferente para cadamicroprocesador. Cada firma de manufactura demicroprocesadores desarrolla su propio lenguaje demquina. Este lenguaje puede cambiar incluso enmicroprocesadores de la misma firma.

    Este lenguaje tiene la caracterstica de ser muy difcilde entender para el programador, pues habra quememorizar todos los cdigos binarios que representanlas instrucciones.

    El lenguaje de mquina siempre es proporcionadopor el fabricante del dispositivo en sus hojas de datos.A continuacin se muestra un segmento de la hoja dedatos del Z80 que ejemplifica el cdigo de mquinapara la instruccin de SUMA o ADD en ingls.

    Lenguaje ensamblador (Assemby Language)

    El lenguaje ensamblador es un tipo de lenguaje de bajonivel utilizado para escribir programas decomputadora, y constituye la representacin msdirecta del cdigo mquina.

    Un programa escrito en lenguaje ensamblador consisteen una serie de instrucciones que corresponden al flujode rdenes ejecutables que pueden ser cargadas en lamemoria de una computadora. Por ejemplo, unprocesador Z80 puede ejecutar la siguiente instruccinbinaria como se expresa en cdigo mquina:

    a

    Figura 64 Cdigo de mquina para la instruccin ADD

    b

  • M I C R O P R O C E S A D O R E S

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S48

    Binario: 10000000 (Hexadecimal: 0x80)

    La representacin equivalente en ensamblador es msfcil de recordar:

    ADD A, B

    Esta instruccin significa:

    Sume A + B y el resultado gurdelo en A.

    El mnemnico ADD es un cdigo de operacinopcode, elegido por los diseadores de lacoleccin de instrucciones para realizar una Suma(ADD) El opcode es seguido por una lista deargumentos o parmetros, completando unainstruccin de ensamblador tpica.

    La transformacin del lenguaje ensamblador en cdigomquina la realiza un programa ensamblador, y latraduccin inversa la puede efectuar undesensamblador. A diferencia de los lenguajes de altonivel, aqu hay usualmente una correspondencia 1 a 1entre las sencillas instrucciones en ensamblador y ellenguaje mquina. Sin embargo, en algunos casos, unensamblador puede proveer pseudo instruccionesque se expanden en un cdigo de mquina mslargo a fin de proveer la necesaria funcionalidad.Por ejemplo, para un cdigo mquina condicionalcomo si X mayor o igual que, un ensamblador puedeutilizar una pseudo instruccin al grupo haga s menorque, y s = 0 sobre el resultado de la condicinanterior. Los ensambladores ms completos tambinproveen un rico lenguaje de macros que se utiliza paragenerar cdigo ms complejo y secuencias de datos.Cada arquitectura de computadoras tiene su propiolenguaje de mquina, y en consecuencia su propiolenguaje ensamblador. Las computadoras difieren enel tipo y nmero de operaciones que soportan;tambin pueden tener diferente cantidad de registros,y distinta representacin de los tipos de datos enmemoria. Aunque la mayora de las computadoras soncapaces de cumplir esencialmente las mismasfunciones, la forma en que lo hacen difiere y losrespectivos lenguajes ensambladores reflejan taldiferencia.

    Pueden existir mltiples conjuntos de mnemnicos osintaxis de ensamblador para un mismo conjunto deinstrucciones, instalados tpicamente en diferentesprogramas ensamblador. En estos casos, la alternativams popular es la provista por los fabricantes y usadaen los manuales del programa.

    Lenguaje de alto nivel:

    Esta forma de programacin es mucho ms sencillapara el programador y ofrece muchas instruccionestiles que no se encuentran disponibles en el lenguajeensamblador. Por ejemplo, la multiplicacin de dosnmeros de 8 bits en lenguaje ensamblador, se realizacon una serie de sumas como se muestra acontinuacin:

    LD IX,0FF00HLD SP,0FEFAH

    LD HL,007BHLD (IX-02H),LLD (IX-01H),H

    LD HL,00EAHLD (IX-04H),LLD (IX-03H),H

    LD L,(IX-02H)LD H,(IX-01H)LD E,(IX-04H)LD D,(IX-03H)CALL M001LD (IX-06H),LLD (IX-05H),HHALT

    M001: PUSH BCLD B,HLD C,LLD HL,0000HLD A,10H

    M003: DEC DINC DJR NZ,M002

    c

  • M I C R O P R O C E S A D O R E S

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S 49

    CP 09HJR C,M002SUB 08HPUSH AFLD D,ELD E,HLD H,LLD L,00HPOP AFJR M003

    M002: ADD HL,HLRL ERL DJR NC,M004ADD HL,BC

    M004: DEC AJR NZ,M003POP BCRET

    .END

    Ahora observemos la mismamultiplicacin anterior en lenguajeBASIC de alto nivel:

    Dim a As IntegerDim b As IntegerDim c As Integer

    a = 123 primer nmerob = 234 segundo nmeroc = a * b

    La comparacin es abismal. En el lenguajeensamblador, se debe tener en mente las posicionesde memoria, los registros utilizados y como no existela operacin de multiplicacin para el microprocesadorZ80, sta se debe realizar con series de sumas, enotras palabras, se debe tener una comprensin totaldel hardware, esto conlleva a un mayor tiempo dedesarrollo de los programas, mientras que un lenguajede alto nivel como el BASIC es mucho ms prctico ycomprensible para el usuario y se puede desarrollarsin conocimiento detallado del hardware de lamquina.

    Un programa hecho en lenguaje ensamblador estadividido en 4 reas principales:

    - rea de Etiquetas (Label)

    - rea de mnemnicos o Cdigos de Operacin (Mnemonic Op Code)

    - rea del Operando y/o de Direccin (Operand - Address)

    - rea de Comentarios (Comments)

    Estas reas estn dispuestas en columnas como semuestra a continuacin:

    Etiquetas (Labels)

    Se les llama etiquetas a los nombres que se utilizan enla columna izquierda para identificar la posicin dedeterminada parte del programa. Para crear unaetiqueta se deben tener en cuenta las siguientes reglas:

    - No usar etiquetas con los mismos nombres de lasinstrucciones de ensamblador

    - Las etiquetas deben tener un mximo de 6 caracteres.

    - Evite la utilizacin de caracteres especiales como @,#, $, %, ^, etc.

    PARTES YFUNCIONAMIENTO

    1.5.3

    Figura 65 reas principales de un programa

    a

  • M I C R O P R O C E S A D O R E S

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S50

    - Todas las etiquetas deben empezar conuna letra, no pueden empezar connmeros.

    - No deben existir dos o ms etiquetascon el mismo nombre

    Adems, el nombre de las etiquetas deberepresentar su funcin, con el objeto dehacer ms entendible el programa.

    A continuacin se observa la utilizacin de 2 etiquetasque obedecen las reglas expuestas anteriormente, noteque cada etiqueta est seguida de dos puntos.

    La utilizacin de etiquetas no esobligatoria en la creacin de programas,pero debe conservarse su rea deutilizacin.

    Mnemnicos o Nemotcnicos:

    Tambin llamados cdigos de operacin(op. code), representan la operacin quedebe realizar el microprocesador. Estosse deben colocar siempre en la segunda columna deizquierda a derecha. Se debe observar cuidadosamentela sintaxis, pues esta puede ser causa de errores en elprograma.

    A continuacin se observa la utilizacin de losmnemnicos LD y JP en la estructura de un programa,observe que estos ocupan la segunda columna deizquierda a derecha.

    Operando:

    Como su nombre lo indica, en estacolumna, se colocan los operandos delmnemnico colocado a la izquierda.Estos varan dependiendo la operacin,pero al igual que en el mnemnico debetenerse en cuenta la sintaxis para evitarlos errores.

    A continuacin se observa la posicin delos operandos en la tercera columna deizquierda a derecha.

    Comentarios:

    Es el rea de programa destinada para que el usuariohaga las anotaciones que crea pertinentes. Estasanotaciones deben escribirse en la cuarta columna deizquierda a derecha y deben empezar siempre conpunto y coma (;) tal como se observa en la figurasiguiente.

    Figura 66 rea de Etiquetas

    Figura 67 rea de Mnemnicos

    b

    c

    Figura 68 rea de operandos

    d

  • M I C R O P R O C E S A D O R E S

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S 51

    Generalmente en esta rea, se describe con palabrasla funcin que est realizando el programa con elobjeto de tener un mayor entendimiento del mismo.

    Por ltimo es necesario aclarar que no, es obligatoriala utilizacin de comentarios en los programas, aunqueestos ayudan mucho a la mejor comprensin delmismo

    Para el diseo de cualquier programa en lenguajeensamblador se deben conocer previamente ciertosparmetros del hardware que controlar dichoprograma. Estos parmetros son los siguientes:

    - Espacio y rango de direcciones de la memoriaROM

    - Espacio y rango de direcciones de la memoriaRAM

    - Direcciones de los puertosde entrada y salida

    - Frecuencia de oscilacin delreloj

    E s t o s p a r m e t r o s s o nindispensables para el diseo delprograma, pues nos dan un mapade la configuracin del hardwareque se desea controlar a travs delprograma.

    Espacio y rango de direcciones de lamemoria ROM: Este parmetro indica de

    cuanta memoria ROM disponemospara la realizacin del programa ytambin nos dice en que rango dedirecciones se encuentra estamemoria. Recuerde que el programaprincipal del microprocesador sealmacena en una memoria ROM y lasdirecciones de esta memoriadependen de la forma como fueconectada con el microprocesador.

    Por ejemplo, en la siguiente figura se muestra laconexin del microprocesador con un banco dememoria compuesto por 2 EEPROM de 8 kbytescada una, para hacer un total de 8 + 8 = 16 kbytesde capacidad de almacenamiento total.

    Para determinar el rango de direcciones que utilizadicho banco se necesita observar que ambasmemorias tienen conectadas en paralelo laslneas de direccin A0 A12 y utilizan las lneasA13 A15 para descodificacin a travs delintegrado 74138, se observa tambin que parahabilitar cualquiera de las dos memorias es necesarioque A14 y A15 estn en 0 lgico, y de esta manerase determina el rango de direcciones como sigue:

    Figura 69 rea de comentarios

    PARAMETRIZACIN1.5.4

    a

    Figura 70 Determinacin de rango de direcciones de memoria

  • M I C R O P R O C E S A D O R E S

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S52

    Se concluye entonces, que disponemos de 16 kbytesde memoria ROM para realizar el programa y que stase encuentra entre las direcciones 0000H a la 3FFFH.

    Espacio y rango de direcciones de lamemoria RAM: Este parmetro nos indica la

    cantidad de memoria RAM que se dispone para larealizacin del programa y tambin nos dice en querango de direcciones se encuentra esta memoria.

    El procedimiento para determinar estos parmetroses igual al que se indico para la memoria ROM, dondees necesario observar que forma est conectada lamemoria al microprocesador.

    Ejemplo:Determnese la capacidad de memoria RAMimplementada y el rango de direcciones que staocupa, haciendo referencia a la figura siguiente.

    Figura 71 Implementacin de 16 kbytes de memoria EEPROM

    b

  • M I C R O P R O C E S A D O R E S

    M I C R O P R O C E S A D O R E S Y M I C R O C O N T R O L A D O R E S 53

    Solucin: Para d