Está en la página 1de 6
CAPITULO Control de periféricos. Puertos de Entrada/Salida 8.1. INTRODUCCION En el Capitulo 1 se describia la arquitectura de los puertos de entrada y salida (E/S) de la familia de Microcontroladores 51. En este capitulo, se retoma el tema para recordar, ampliar y mostrar una serie de ejercicios de iniciacién en el control de los puertos que van a permitir comunicarse con una buena parte de los periféricos comerciales y con los que el usuario disefte. Los cuatro puertos del 8052/8051 son bidireccionales, es decir, permiten la lectura y escritura en el periférico correspondiente. Las salidas estén «latcheadas», lo que posibi- lita mantener el dato indefinidamente hasta que sobreescriba la informaci6n original. Otra caracteristica importante es que los puertos pueden ser utilizados como buses de direc- ciones, datos y control, por lo que en estas circunstancias se dice que el microcontrola- dor trabaja como microprocesador. A esta caracteristica se refiere el siguiente apartado. 8.2. EL MICROCONTROLADOR COMO MICROPROCESADOR Los drivers de salida de los Puertos PO y P2 y los buffers de entrada del Puerto PO se pue- den utilizar para acceder a la memoria externa del sistema. En estas condiciones, el Puerto PO se configura como salida del byte bajo del bus de direcciones (AO a A7), de un bus que consta de 16 bits (capacidad de direccionamiento 64K), multiplexado en el tiempo como bus de datos bidireccional (D0 a D7). El Puerto P2 se configura como salida del byte alto del bus de direcciones (A8 a A15). De esta manera el microcontrolador se con- figura a modo de CPU de un sistema externo con unas capacidades de expansi6n defi- nibles por el usuario. Naturalmente, en estas condiciones, le queda como puerto integro, para el control de periféricos, el Puerto PI y parte del Puerto P3, puesto que hay sefiales que se utilizan para el control del sistema (bus de control). En la Figura 8.1 se muestran los cronogramas correspondientes a un ciclo de lectura en la memoria externa de programas y a un ciclo de lectura y escritura en la memofia de datos externa. Tambien, se hace referencia a los parametros representados en la Figu- 130 Control de periféricos. Puertos de Entradia/'Satidie 131 ANN | ON peBe see | PUEDE caMBUAR se Panu s DE LAH (evalQUiER cauio = MANTENIDA DEH AL ‘CAMBLANDO & [x STARA CANBIANBO |ESTARA CAMBIANDO 08 Noeroo | Atta SERA MANTENIDA DE HAL OF LAH ALE wat parr | sae Eat roa trem ot PUERTO 0 inst WK 40-A7_) Xe FX as A) Ciclo de Lectura en Memoria de Programas Externa fica DESDE RI 0 DP DATA IN} P2.0-P2,7 0 AG—AIS DESDE EL DPH ‘AG-AIS DESDE EL PCH B) Ciclo de Lectura en Memoria de Datos Externa gym DATA OUT KXoar on rl) (SRN 2 FaO=Pa7 0 AOCATS DESDE EL DPH YX AB-ATS DESDE EL POH Ciclo de Eseritura en Memoria de Datos Externa Figura 8.1. 132 introduccién a los Microcontroladores ra 8.1 yen el Cuadro 8.1, sin hacer menci6n a los tiempos reales que dependen del tipo de microcontrolador y de la frecuencia de trabajo. Para una mayor informacién solicite a su vendedor las hojas de caracteristicas en donde se establecen los tiempos de los pa- rametros segtin condiciones y las caracteristicas eléctricas de las sefiales. Para un mejor entendimiento y seguimiento de los cronogramas anteriores, en la Figura 8.2 se dibuja un esquema en el que aparece el microcontrolador comandando una * € ¢ « memoria RAM (43256C) y una memoria EPROM (2764). + ‘ ‘ t ‘ ( ( ( { ( ( Cuadro 8.1. ‘Simboto Parimetro TLHLL | ALE Pulse Width (Anchura pulso ALE) TAVLL | Address Valid to ALE Low (Direccién valida a ALE bajo) TLLAX | Address Hold After ALE Low (Direccion mantenida después de ALE bajo) TLLIV 'ALE Low to Valid Instruction In (ALE bajo a Instr. In. valida) TLLPL ‘ALE Low to PSEN Low (ALE bajo a PSEN bajo) TPLPH __| PSEN Pulse Width (Anchura pulso PSEN) TPLIV | PSEN Low to Valid Instruction In (PSEN bajo a Instr. In. valida) TPXIX Input Instr. Hold After PSEN (Mantenimiento de Instr. In. después de PSEN) TPXIZ Taput Instr. Float After PSEN (Bus flotante de Instr. In. después de PSEN) TPXAV | PSEN to Address Valid / PSEN a Direccién valida TAVIV | Addres to Valid Instr. In. / Direccin a Instr. In. valida TPLAZ PSEN Low to Addres Float / PSEN bajo a bus direccidn flotante TRLRH RD Pulse Width / Anchura del pulso de lectura TWLWH | WR Pulse Widht / Anchura del pulso de escritura TRLDV | RD Low to Valid Data In / RD bajo a Dato In. valido TRHDX _| Data Hold After TRHDZ Data Float After RD / Bus Datos flotante después de RD TLLDV _| ALE Low to Valid Data In / ALE bajo a Dato In. vilido TAVDV | Addres to Valid Data In / Direccién a Dato In. valido TLLWL ‘ALE Low to RD or WR Low / ALE bajo a RD o WR bajo TAVWL ‘Addres to RD or WR Low / Direccin a RD o WR bajo TQVWX | Data Valid to WR Transition / Dato valido a transicion WR TQVWH | Data Valid to WR High / Dato valido a WR alto / Mantenimiento de Dato después de RD TWHOX _| Data Hold After WR (Mantenimiento de Dato después de WR) ‘ TRLAZ | RD Low to Addres Float (RD bajo a bus flotante Direccién) TWHLH RD or WR High to ALE Hight (RD o WR alto a ALE alto) ‘ 133 Control de periféricos. Puertos di Antes de continuar con la lectura de este apartado, conviene, repasar los tres pei os apartados de! Capitulo 2. El acceso a la memoria externa puede hacerse o bien a la memoria de programas © la memoria de,datos y esta tltima puede ser para leer o escribir un dato. Estos tres a= pects se van a desarrollar someramente a continuacién. 8.2.1. Ciclo de lectura en la memoria externa de programas Para acceder a la memoria externa de progamas utiliza la sefial PSEN (Program Store Enable) como sefial de autorizacién de lectura (Figuras 8.1 (A) y 8.2). La sefial ALE «latchea» el byte bajo del bus de direcciones en el primer estado (ciclo de reloj), y asi permite direccionar, durante todo el ciclo de instruccion, mientras esas mismas lineas son utilizadas, en el resto del ciclo de instruccién, como bus de datos. En la Figura 8.2 se puede observar que la lectura en la memoria de programas se realiza cuando PSEN esta a nivel bajo y las lineas Ay3, Aig y Ais se encuentran a nivel alto, siendo el resto de las lineas de direccién las que establecen la posmem exacta del byte de instruccién u operando que ha de ser leido. (La actuacién del PSEN elimina cualquier incompatibilidad que podria producirse al estar los dos «chips» seleccionados, es decir, CE complementado y CS = 0.) Para el acceso a la memoria de programas, utiliza los 16 bits del bus de direcciones, su posicién en el mapa general de memoria es la que se encuentra al final de los 64 Kby- tes, puesto que Al5=A14=A13=1, concretamente comienza en la posmen 1110.0000. 0000.0000=E000H y termina en la posmen FFFFH, en total 8 Kbytes. Si el usuario escribe en el Puerto PO durante el ciclo de busqueda en la memoria ex- terna, el byte de cédigo puede ser modificado. Se recomienda no escribir en el Puerto PO si es utilizado para leer en la memoria de programa externa. ‘A la memoria de programas externa se accede bajo dos condiciones: 1. Cuando la sefial EA es activa, caso de la Figura 8.2. 2. Cuando el contador de programa (PC) contiene un ntimero mds grande que OFFFH para el 8051 0 1FFFH para el 8052. En las versiones de microcontroladores sin ROM (8031 y 8032) tienen la sefial de control EA puesta a nivel bajo permanentemente para leer el programa en la memoria externa. 8.2.2. Ciclo de lectura en la memoria externa de datos Para el acceso a la memoria externa de datos utiliza la sefial de control RD (funcioe a va de P3.7) y puede utilizar los 16 bits de direccion (MOVX A,@DPTR) o bien MOVX A,@Ri) (véase Figura 8.1(B)). En un ciclo de lectura el byte de entrada es aceptado en el Puerto PO justo antes de que la sefial de control RD que autoriza la lectura sea desactivada. 134 © introducci6n a los Microcontroladores Control de periféricos. Puertos de Entrada/Salida 135 8.23. Ciclo de escritura en la memoria externa de datos ara Ia escritura en la memoria externa de datos utiliza la seal de control WR (funcion alternativa P3.6) y puede utilizar los 16 bits de direccion (MOV @DPTR,A) o bien 8 bits (MOV @RiA) (Figura 8.1.(C)). En el ciclo de escritura, el byte de dato debe permanecer sobre el Puerto PO antes y después de que la sefial de control de escritura WR sea desactivada. En general, tanto para la lectura como para la escritura, cuando una direccion de 16 bits es utilizada (MOVX @DPTR), el byte alto de direccion sale por el Puerto P2, donde permanecerd mientras dura el ciclo de lectura o escritura. Si se utiliza una direccién de 8 bits (MOVX @Ri), el contenido del Puerto P2 en el SFR permanece sobre los pines de P2 durante todo el ciclo de acceso a la memoria ex- terna. Esto facilita la paginacion (véase Apartado 2.3) No se insiste mas en este tema por considerar que la potencia de los 8052/8051 se Produce cuando trabajan como microcomputadores monopastilla (microcontrolador) y a ese aspecto se refieren los ejercicios que se muestran a continuacién. No obstante no se debe desdefiar la importancia que puede tener en algunas aplicaciones especiales como microprocesador. Resumiendo, si se utilizan los puertos para comandar unidades de memoria externa 0 interface, los puertos quedaran en esta situacién: PO: Bus de direcciones de menos peso (A0 a A7) y bus de datos (D0 a D7) multiple- xados en el tiempo. Pl: Puerto de E/S. P2: Bus de direcciones de mas peso (A8 a A15), P3: Bus de control. 8.3. OPERACION DE ESCRITURA EN LOS PUERTOS DE LOS MICROCONTROLADORES 8052/8051 La operacién de escritura, utilizando los puertos del 8052/8051, puede ser realizada por cualquiera de ellos; no obstante, el Puerto PO es el que presenta una mayor cargabilided Permitiendo comandar ocho cargas TTL-LS, mientras que los otros tres permiten cutee cargas TTL-LS. En la ejecucion de una instruccién que cambia el valor del /atch del puerto, ef meee= valor llega al /atch durante el estado 6, fase 2 del final del ciclo de instracesSm seme= indica la Figura 8.3. Antes de comenzar con el estudio y comprobacién de los puertos de E/S. se Sima = interface para la conexién de los puertos a los dispositivos de salida. que ex este cass pueden servir unos simples LED (Figura 8.4). Para comandar cargas de mayor consumo energético, como relés se sacemnient = lizar, entre el puerto y la carga, drivers no inversores, como el ULM o mrversores. como el ULN 2803, que tienen una cargabilidad de 500 mA y sopertes bests SO = Como ya se sabe, e! 8052/8051 presenta dos sefiales de control ims pans ejecutar Lz

También podría gustarte