Documentos de Académico
Documentos de Profesional
Documentos de Cultura
6 - Control - de - Perifericos PDF
6 - Control - de - Perifericos PDF
CAPITULO 6
6.1. INTRODUCCION
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
posibilita mantener el dato indefinidamente hasta que sobreescriba la información
original. Otra característica importante es que los puertos pueden ser utilizados
como buses de direcciones, datos y control, por lo que en estas circunstancias se
dice que el microcontrolador trabaja como microprocesador. A esta característica
se refiere el siguiente apartado.
Los drivers de salida de los Puertos P0 y P2 y los buffers de entrada del Puerto P0
se pueden utilizar para acceder a la memoria externa del sistema. En estas
condiciones, el Puerto P0 se configura como salida del byte bajo del bus de
direcciones (A0 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 e] microcontrolador se configura a modo
de CPU de un sistema externo con unas capacidades de expansión definibles por
el usuario. Naturalmente, en estas condiciones, le queda como puerto íntegro,
para el control de periféricos, el Puerto P1 y parte del Puerto P3. puesto que hay
señales que se utilizan para el control del sistema (bus de control).
_________________________________________________________________________
ITMAR, Mazatlán 57 Ing. Rufino J. Domínguez Arellano
El Microcontrolador 8051 CAP. 6
Figura 6.1
_________________________________________________________________________
ITMAR, Mazatlán 58 Ing. Rufino J. Domínguez Arellano
El Microcontrolador 8051 CAP. 6
Cuadro 6.1.
Símbolo Parámetro
TLHLL ALE Pulse Width (Anchura pulso ALE)
TAVLL Address Valid to ALE Low (Dirección válida a ALE bajo)
TLLAX Address Hold After ALE Low (Dirección mantenida después de ALE
bajo)
TLLIV ALE Low to Valid Instruction In (ALE bajo a Instr. In. válida)
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. válida)
TPXIX Input Instr. Hold After PSEN (Mantenimiento de Instr. In.
después de PSEN)
TPXIZ Input Instr. Float After PSEN (Bus flotante de Instr. In. después
de PSEN)
TPXAV PSEN to Address Valid / PSEN a Dirección válida
TAVIV Addres to Valid Instr. In. / Dirección a Instr. In. válida
TPLAZ PSEN Low to Addres Float / PSEN bajo a bus dirección 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. válido
TRHDX Data Hold After RD / Mantenimiento de Dato después de RD
TRHDZ Data Float After RD / Bus Datos flotante después de RD
TLLDV ALE Low to Valid Data In / ALE bajo a Dato In. válido
TAVDV Addres to Valid Data In / Dirección a Dato In. válido
TLLWL ALE Low to RD or WR Low / ALE bajo a RD o WR bajo
TAVWL Addres to RD or WR Low / Dirección a RD o WR bajo
TQVWX Data Valid to WR Transition / Dato válido a transición WR
TQVWH Data Valid to WR High / Dato válido a WR alto
TWHQX 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)
_________________________________________________________________________
ITMAR, Mazatlán 59 Ing. Rufino J. Domínguez Arellano
El Microcontrolador 8051 CAP. 6
La señal ALE «latchea» el byte bajo del bus de direcciones en el primer estado
(ciclo de reloj), y así permite direccionar, duranté todo el ciclo de instrucción,
mientras esas mismas líneas son utilizadas, en el resto del ciclo de instrucción,
como bus de datos. En la Figura 6.2 se puede observar que la lectura en la
memoria de programas se realiza cuando PSEN está a nivel bajo y las líneas A13,
A14 y A15 se encuentran a nivel alto, siendo el resto de las líneas de dirección las
que establecen la localidad exacta del byte de instrucción u operando que ha de
ser leído. (La actuación del PSEN elimina cualquier incompatibilidad que podría
producirse al estar los dos «chips» seleccionados, es decir, CE complementado y
CS = 0.)
_________________________________________________________________________
ITMAR, Mazatlán 60 Ing. Rufino J. Domínguez Arellano
El Microcontrolador 8051 CAP. 6
U2
A0 Q0
A1 Q1
A2 Q2
A3 Q3 U3
A4 Q4
A5 Q5
A6 Q6 A0 O0
U4 A7 Q7 A1 O1
D0 Q0 A8 A2 O2
D1 Q1 A9 A3 O3
D2 Q2 A10 RAM A4 O4
D3 Q3 A11 A5 O5
D4 Q4 A12 A6 O6
D5 Q5 A13 A7 O7
D6 Q6 A14 A8
D7 Q7 A9 EPROM
OE E CS A10
74LS373 +5 V A11
U1 A12
OE
EA/Vpp P0.0 CE
P0.1 WR OE
X1 P0.2 PGW
P0.3 Vpp
P0.4
+5 V X2 P0.5 43256C 2764
P0.6
P0.7
RESET
INT0 P2.0
INT1
T0 P2.1
T1 P2.2
P2.3
8052 P2.4
P2.5
P2.6
P1.0/T2 P2.7
P1.1/T2X
P1.2 RD
P1.3 WR
P1.4 PSEN
P1.5 ALE/P
P1.6 TXD
P1.7 RXD
Figura 6.2
_________________________________________________________________________
ITMAR, Mazatlán 61 Ing. Rufino J. Domínguez Arellano
El Microcontrolador 8051 CAP. 6
P0: Bus de direcciones de menos peso (A0 a A 7) y bus de datos (D0 a D7)
multiplexados en el tiempo.
En la ejecución de una instrucción que cambia el valor del latch del puerto, el
nuevo valor llega al latch durante el estado 6, fase 2 del final del ciclo de
instrucción, según indica la Figura 6.3.
_________________________________________________________________________
ITMAR, Mazatlán 62 Ing. Rufino J. Domínguez Arellano
El Microcontrolador 8051 CAP. 6
Figura 6.3
Figura 6.4
Este ejercicio muestra cómo se deben tratar los cuatro puertos cuando se tiene
que enviar una información de salida del microcontrolador. Se refiere,
comúnmente, a una operación de escritura. El ejercicio se realiza con el Puerto P0
pero el usuario puede comprobar que el programa funcionará igual si sustituye el
Puerto P0 por el P1 , P2 o P3.
_________________________________________________________________________
ITMAR, Mazatlán 63 Ing. Rufino J. Domínguez Arellano
El Microcontrolador 8051 CAP. 6
CLR bit
SETB bit
CPL bit
SETB P0.0
o también
SETB 80
SETB P0.1
o también
SETB 81
Efectivamente, por esta razón sólo son direccionables «bit a bit» los registros
correspondientes a la primera columna (ver Tabla 4.1 ).
_________________________________________________________________________
ITMAR, Mazatlán 64 Ing. Rufino J. Domínguez Arellano
El Microcontrolador 8051 CAP. 6
MOV <destino>, PX
_________________________________________________________________________
ITMAR, Mazatlán 65 Ing. Rufino J. Domínguez Arellano
El Microcontrolador 8051 CAP. 6
Se presentan dos circuitos de interface muy sencillos para poder introducir datos a
los puertos del microcontrolador, cuando éste trabaja en modo lectura. El primero,
muy simple, es útil para la comprobación de la mayor parte de los ejercicios qué
aquí se exponen; no obstante, tiene el problema de los «rebotes» (Figura 6.5). El
segundo circuito está pensado especialmente para los ejercicios que se refieren al
tema de las interrupciones. Este circuito es, hasta cierto punto, inmune a los
rebotes de los contactos (Figura 6.6).
Este ejercicio trata de mostrar cómo se manipula el Puerto P0 para utilizarlo como
entrada y el P1 como salida, de tal forma que la información leída por el Puerto P0
y después de ser tratada adecuadamente sale escrita por P1. En este caso
concreto, la información leída por P0 sale intacta por el Puerto P1.
Figura 6.5
Lazo: MOV A, P0
MOV P1, A
AJMP Lazo
_________________________________________________________________________
ITMAR, Mazatlán 66 Ing. Rufino J. Domínguez Arellano
El Microcontrolador 8051 CAP. 6
Figura 6.6
• Proceso
He aquí una descripción del proceso, desde el punto de vista de su relación con el
mundo exterior, según los tres tipos de señales principales:
_________________________________________________________________________
ITMAR, Mazatlán 67 Ing. Rufino J. Domínguez Arellano
El Microcontrolador 8051 CAP. 6
Figura 6.7
1. SONDAS (entradas)
La sonda A señala el nivel mínimo de agua. Por debajo de este nivel, se indicará
«VACIO» en el cuadro de INDICADORES.
Las sondas serán leídas por el Microcontrolador a través del Puerto P0.
P0.0 - A
P0.1- B
P0.2 - C
_________________________________________________________________________
ITMAR, Mazatlán 68 Ing. Rufino J. Domínguez Arellano
El Microcontrolador 8051 CAP. 6
2. ACTUADORES (salidas)
Cuando ninguna de las sondas está mojada, se entiende que el depósito está
vacío y los actuadores activarán las dos bombas B1 y B2 (P1.0 y P1.1).
3. INDICADORES (salidas)
P1.2 -- VACIO
P1.3 -- LLENO
P1.4 -- REBOSE
P1.5 --ALARMA
Figura 6.8
_________________________________________________________________________
ITMAR, Mazatlán 69 Ing. Rufino J. Domínguez Arellano
El Microcontrolador 8051 CAP. 6
Este es el listado:
ORG 0200H
;
_________________________________________________________________________
ITMAR, Mazatlán 70 Ing. Rufino J. Domínguez Arellano