Cuando el microcontrolador AT52C utiliza el temporizador T2 como generador de velocidad en baudios del puerto serie, la velocidad en baudios es 9600, ¿cómo configurar cada registro?

//Modo de trabajo del puerto serie 1,9600,8,1,n El temporizador 1 es el generador de velocidad en baudios de comunicación

SCON = 0x50 //SM1=1 Modo de trabajo del puerto serie; 1, REN=1 permite la recepción [10URART, T1 controla la velocidad en baudios, inicio de 1 bit, parada de 1 bit, sin verificación de paridad]

PCON |= 0x80; duplicado

TMOD |= 0x20; //M1=1, temporizador 1 modo 2, tiempo de recarga automática de 8 bits

TH1 = 0xFA; //Velocidad de baudios: 9600 Oscilador de cristal: 11.0592MHz

TL1 = 0xFA;

IE |= 0x90; //Abrir puerto serie 1 interrupción

TR1 = 1 //Iniciar temporizador 1

p>

Lo anterior servirá.

Um, ¿no se ha solucionado después de tanto tiempo?

#include

void main()

{

T2MOD = 0x01 //Recarga automática

p>

T2CON = 0x30; //T2 se utiliza como reloj de envío y recepción

TH2 = 0xFF; //9600 baudios, oscilador de cristal de 11.0592Mhz

TL2 = 0xDC;

RCAP2H = 0xFF;

RCAP2L = 0xDC;

SCON = 0x50; Datos de 8 bits

TR2 = 1; //Iniciar T2

while(1)

{

SBUF = 0xaa;

p>

mientras( TI==0

TI = 0;

}

}

La simulación pasó. Velocidad de transmisión 9600, 1 bit de inicio, 1 bit de parada, datos de 8 bits