Colección de citas famosas - Slogan de motivación - ¿Cuál es el modo de funcionamiento del puerto serie del microcontrolador 51?

¿Cuál es el modo de funcionamiento del puerto serie del microcontrolador 51?

La 51 MCU tiene una interfaz serie full-duplex. ¿Qué es un puerto serie full-duplex? En términos generales, un puerto serie que solo puede recibir o enviar se denomina puerto serie simplex; un puerto serie que puede recibir y enviar, pero no al mismo tiempo, se denomina puerto serie semidúplex que puede recibir y enviar; Al mismo tiempo se denomina puerto serie full-duplex. La comunicación en serie se refiere a la transmisión de datos bit a bit en secuencia. Su destacada ventaja es que solo requiere una línea de transmisión, lo que puede reducir en gran medida los costos de hardware y es adecuado para comunicaciones de larga distancia. Su desventaja es la baja velocidad de transmisión.

Los puertos serie pueden funcionar de las siguientes cuatro formas.

1, Modo 0

El modo de trabajo 0 de la interfaz serie es el modo de E/S del registro de desplazamiento. El registro de desplazamiento está conectado a una interfaz de E/S de expansión de puerto serie externo y también se puede conectar a un dispositivo de E/S síncrono en serie externo.

(1) Salida en modo 0

Cuando el puerto serie transmite en modo 0, los datos se emiten en serie en el terminal RXD y la señal de sincronización se emite en el terminal TXD. Cuando los datos se escriben en el búfer de transmisión del puerto serie, el transmisor del puerto serie se inicia y emite datos en serie desde el terminal RXD a una velocidad en baudios de una doceava parte de la frecuencia de oscilación.

(2) Entrada modo 0

Cuando el puerto serie se define como modo 0 y REN se establece en 1, el puerto serie comienza a recibir datos en modo 0. En este momento, el terminal RXD es el terminal de entrada de datos y el terminal TXD es el terminal de salida de señal de pulso de sincronización. El receptor recibe información de datos ingresada desde el terminal RXD a una velocidad en baudios de una doceava parte de la velocidad de oscilación. Sin embargo, cuando el receptor recibe datos de 8 bits, se establece el indicador de interrupción RI.

2. Modo 1

Cuando el puerto serie se define como modo de trabajo 1, el control es una interfaz de comunicación asíncrona de 8 bits, que transmite una trama de información de 10 bits, de cual 1 bit es el bit de inicio, 8 bits son bits de datos (primero el bit bajo, luego el bit alto) y 1 bit es el bit de parada.

(1) Salida en modo 1

Cuando la interfaz serie transmite en modo 1, los datos se emiten por TXD. La CPU realiza un buffer de escritura y envío de datos.

Después de escribir los bytes de datos en SBUF de acuerdo con las instrucciones de SBUF (como MOV SBUF, A), el transmisor del puerto serie comienza a enviar. Después de enviar una trama de información, se establece el indicador de interrupción de envío TI. a 1.

(2) Entrada Modo 1

Cuando el puerto serie recibe en Modo 1, los datos se ingresan desde el terminal RXD. Después de que REN se establece en 1, el receptor puede recibir. El receptor divide el contador por 16 veces la velocidad en baudios establecida para lograr la sincronización horaria. Los 16 estados del contador dividen el tiempo de un bit en 16 partes. En los estados de conteo séptimo, octavo y noveno de cada tiempo de bit, el detector de bits muestrea el valor de RXD. Al menos dos de las tres muestras reciben el mismo valor para eliminar la interferencia de ruido. Si el valor recibido al principio no es 0, el bit de inicio no es válido y el circuito receptor se reinicia. Reinicie el receptor cuando se detecte otra transición de 1 a 0. Si el valor recibido es 0 y el bit de inicio es válido, se recibirá la información restante de la trama. Cuando RI = 0 y el bit de parada recibido es 1 (o SM2 = 0), el bit de parada pasa a RB8 y los datos recibidos de 8 bits van al búfer de recepción SBUF para configurar el indicador de interrupción RI. Luego reciba y busque el bit inicial de otro marco de información.

3. Modo 2 y Modo 3

Cuando la interfaz serie funciona en Modo 2 y Modo 3, se define como una interfaz de comunicación asíncrona de 9 bits. Una trama de información se transmite en 11 bits, de los cuales 1 bit es el bit de inicio, 8 bits de datos (desde el bit bajo al bit alto), 1 bit es el noveno bit de datos adicional, programable como 1 o 0, y 1 bit es el bit de parada.

La única diferencia entre el Modo 2 y el Modo 3 es la velocidad en baudios. La velocidad en baudios del modo 2 es fija y la velocidad en baudios es 2Smod/64 (frecuencia de oscilación). La velocidad en baudios del modo 3 es variable, velocidad en baudios = 2Smod/32 (tasa de desbordamiento T1).

La única diferencia entre el Modo 2 y el Modo 3 es la velocidad en baudios.

(1) Transmisión en Modo 2 y Modo 3

Cuando se transmite en Modo 2 o Modo 3, los datos se emiten desde el terminal TXD, la información de un cuadro es 11 y el noveno adjunto Los datos de bits son TB8 de SCON. Cuando la CPU ejecuta la instrucción para escribir datos en el búfer de envío SBUF, inicia el envío del transmisor y establece el indicador de interrupción TI "1" después de enviar una trama de información.

(2) Recepción Modo 2 y Modo 3

Cuando el puerto serie se define como recepción Modo 2 o Modo 3, los datos se ingresan desde el terminal RXD, después de configurar Ren = 1 , comienza el proceso de recepción. Cuando se detecta una transición negativa de alto a bajo en el terminal RXD, se confirma que el bit de inicio es válido y comienza la recepción de la información restante de la trama. Después de recibir una trama de información, cuando RI = 0, SM2 = 0, o el noveno bit de datos recibido es "1", el octavo bit de datos se carga en el búfer de recepción y el noveno bit de datos se carga en RB8 de SCON, RI = 1 concatenación. Si no se cumplen las dos condiciones anteriores, la información recibida se perderá y no se configurará la RI.