SBUF / SCON 8085 Comunicación en serie

1

Mientras utiliza 8085 especialmente a una velocidad de transmisión diferente, DTE es el microcontrolador, DCE es cualquier módem / o un dispositivo de pantalla acoplado a RS232 db9 o db25 puerto.
Puedo entender que SBUF puede almacenar hasta 8 bits de datos cuando está lleno, da una alta TI es decir, contrata una interrupción de transmisor,
Pero no estoy seguro de si esta SBUF ( mencionada en el programa ) se relaciona con el DTE o el DCE,
Supongamos que hay un programa, Para transmitir a baudrate 4800,
ORG 00H; 00 MOV SCON #50H; 01H MOV TMOD #20H; 02H MOV TH1,-6; 03H MOV A,#'Y'; 04H CALL PRINT; 05H MOV A,#'E'; 06H CALL PRINT; 07H MOV A,#'S'; 08H CALL PRINT; 09H CLR TI; 0AH SJMP 03H;

PRINT: MOV SBUF,A; P1: JNB TI,P1; RET;

También durante la transmisión de 'Y' al receptor del DCE, la bandera REN debe estar habilitada, existe la necesidad de que ambas partes comprendan la transmisión de datos (se han producido los primeros 8 bits, lo que este programa no toma en serio) y usamos TI para eso, ¿Pero podemos abordar ambos extremos SBUF en un solo programa?

    
pregunta MaMba

2 respuestas

0

El registro SBUF es supervisado continuamente por los registros SCON de 8 bits.
La configuración de bits se da de la siguiente manera:
SMO SCON.7 # SM0 and SM1 decides the mode of operation of SM1 SCON.6 the SCON SM2 SCON.5 REN SCON.4 TB8 SCON.3 RB8 SCON.2 TI SCON.1 RI SCON.0

Teniendo en cuenta el caso modo 1:

Tan pronto como los datos se transfieren al registro SBUF de 8 bits, se adjuntan con el bit de parada y el bit de inicio, los datos antes del envío emiten un mensaje Borrar para enviar a través de los estándares RS232 , después de < fuerte> ACK la señal se envía al extremo DCE y se almacena en la SBUF en DCE.

1) Durante la transmisión desde el DTE , el indicador de TI representa un exceso de inundación de la SBUF, también indica que la transmisión está completa.

2) En el receptor, el RTS (Solicitud de envío) permite la sincronización entre el DCE y el DTE, por lo que recibe los datos.

Por lo tanto, por así decirlo, se necesitan SBUF independientes tanto en el DCE como en el DTE, cada uno está controlado por el estándar UART establecido por los puertos RS232

Los indicadores SBUF TI y RI se diseñaron en consecuencia para la transmisión de los datos bit a bit en mi programa. Estoy cargando un valor ASCII completo en el SBUF simultáneamente, lo que hace que el indicador TI sea alto casi. instantáneamente Por lo tanto, es aconsejable utilizar una transmisión bit a bit o un retardo adicional al trabajar con cadenas.

    
respondido por el MaMba
1

La segunda línea de su subrutina de impresión debe ser

P1:  JNB TI, P1

para que no sigas metiendo al personaje en SBUF. Solo debes colocar un nuevo personaje en SBUF después de que UART diga que está listo para un nuevo personaje.

(Descargo de responsabilidad: no he trabajado con un 8085 UART durante mucho tiempo).

    
respondido por el Peter Bennett

Lea otras preguntas en las etiquetas