//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