El principio de funcionamiento del puerto p0 del microcontrolador
El puerto P0 está compuesto por un pestillo, un búfer de entrada, un interruptor, una puerta NAND, una puerta AND y un circuito de accionamiento de transistor de efecto de campo. Mire en el lado derecho de la imagen, el ícono etiquetado como pin P0.X, lo que significa que la composición del circuito.
A continuación, primero le presentaremos cada parte de la unidad que constituye el puerto P0:
Veamos primero el búfer de entrada: en el puerto P0, hay dos puertos de tres estados. buffers Al aprender circuitos digitales, ya sabemos que una puerta de tres estados tiene tres estados, es decir, su salida puede ser de alto nivel, de bajo nivel y también hay un estado de alta resistencia (o estado prohibido, mira la imagen). El de arriba es el búfer del pestillo de lectura. En otras palabras, si desea leer los datos en el terminal de salida Q del pestillo D, debe usar el terminal de control de tres estados del búfer de lectura. pestillo. (El extremo denominado "pestillo de lectura" en la figura anterior) es válido. El siguiente es el búfer para el pin de lectura. Para leer los datos en el P0 transmitidos al bus de datos interno de nuestro microcontrolador.
Latch D: Para formar un latch se suele utilizar un circuito secuencial. Cuando aprendemos circuitos digitales, ya sabemos que un flip-flop puede guardar un número binario (es decir, tiene función Hold), en las 32 líneas de E/S del 51 microcontrolador, se utiliza un flip-flop D para formar un pestillo. Mire el pestillo D en la imagen de arriba. El terminal D es el terminal de entrada de datos, CP es el terminal de control (es decir, el terminal de entrada de señal de control de sincronización), Q es el terminal de salida y Q es el terminal de salida inversa.
Para el flip-flop D, cuando hay una señal de entrada en el terminal de entrada D, si no hay señal en el terminal de control CP en este momento (es decir, el pulso de sincronización no ha llegado) , entonces los datos en el terminal de entrada D no se pueden transmitir al terminal de salida Q y al terminal de salida inversa Q. Si llega el impulso de temporización del terminal de control de temporización CP, la entrada de datos en el terminal D se transmitirá a los no terminales Q y Q. Después de transmitir los datos, cuando la señal de sincronización del terminal de control de sincronización CP desaparece, en este momento, el terminal de salida aún mantendrá los datos del último terminal de entrada D (es decir, los últimos datos están bloqueados). Si llega la siguiente señal de pulso de control de sincronización, los datos en el terminal D se transmitirán nuevamente al terminal Q, cambiando así el estado del terminal Q.
Conmutador multidireccional: en el microcontrolador 51, cuando la memoria interna es suficiente (es decir, cuando no se necesita memoria de expansión externa, la memoria mencionada aquí incluye memoria de datos y memoria de programa), el puerto P0 se puede utilizar como puerto de entrada y salida de uso general (es decir, E/S) para el microcontrolador 8031 (sin ROM interna) o el programa escrito excede la capacidad de la memoria interna del microcontrolador y necesita expandir la memoria. Externamente, el puerto P0 se utiliza como bus de 'dirección/datos'. Luego, este conmutador de selección múltiple se utiliza para seleccionar si se utiliza como un puerto de E/S normal o como un bus de 'datos/direcciones'. Mire la imagen de arriba Cuando el conmutador multidireccional está conectado en la parte inferior, el puerto P0 se utiliza como puerto de E/S normal. Cuando el conmutador multidireccional está conectado en la parte superior, el puerto P0 se utiliza como puerto. bus 'dirección/datos' de.
Parte del controlador de salida: como podemos ver en la figura anterior, la salida del puerto P0 es una estructura push-pull compuesta por dos tubos MOS. En otras palabras, estos dos tubos MOS solo pueden conducir cuando V1. está encendido, V2 está apagado y cuando V2 está encendido, V1 se apaga.
Puerta AND y puerta NAND: hemos introducido los principios lógicos de estos dos circuitos unitarios en la Lección 4 sobre números y circuitos lógicos comunes. Si no los comprende, regrese a la Sección 4 para leerlos. . mirar.
Hemos explicado en detalle cada componente de la unidad del puerto P0. Ahora estudiaremos el proceso de trabajo específico del puerto P0 como puerto de E/S y bus de direcciones/datos.
1. Principio de funcionamiento cuando se utiliza como puerto de E/S
Cuando el puerto P0 se utiliza como puerto de E/S, la señal de control del conmutador multidireccional es 0. (nivel bajo) Mirando la parte del cableado en la imagen de arriba, la señal de control del interruptor multidireccional está conectada a un terminal de entrada de la puerta AND al mismo tiempo. Sabemos que la característica lógica de la puerta AND es. "Todos los 1 salen como 1 y cualquier 0 sale como 0". Entonces el control. Si la señal es 0, entonces la salida de la puerta AND también es 0 (nivel bajo), la salida de la puerta AND es 0, y el tubo V1 se apaga. Cuando la señal de control del interruptor de control multicanal es 0 (nivel bajo), el interruptor de control multicanal El interruptor del circuito está conectado al terminal Q no del pestillo (es decir, el puerto P0 se utiliza como línea de puerto de E/S).
El puerto P0 se utiliza como una línea de puerto de E/S y su proceso de funcionamiento se envía desde el bus de datos al pin (es decir, el estado de salida Salida): cuando la señal de bloqueo de escritura CP es válido, la señal del bus de datos → bloquear El terminal de entrada D del registro → la salida inversa Q no terminal del pestillo → el interruptor multidireccional → la compuerta del tubo V2 → el drenaje de V2 al terminal de salida P0.X. Como hemos dicho antes, cuando la señal de control del interruptor multidireccional es de nivel bajo 0, la salida de la puerta AND es de nivel bajo y el tubo V1 está cortado, por lo que cuando se usa como puerto de salida, P0 es un Salida de drenaje abierto, similar a OC Gate, cuando el controlador está conectado a una carga actual, se requiere una resistencia pull-up externa.