¿Cómo utilizar la computadora host para controlar el microcontrolador 51 para encender un LED a través del puerto serie? .
Compilé un pequeño programa como referencia. No hay un entorno para la depuración. Este es el significado general. Puedes probarlo tú mismo.
#includelt;reg51.hgt;
#includelt;string.hgt;
#define uchar unsigned char
sbit LED= P1^0;
uchar buf[16],num;
uchar strOpen="Abrir";
uchar strClose="Cerrar";
void uart() interrupción 4
{
if(RI)
{
RI=0; p> p>
buf[núm]=SBUF
núm
}
si(TI)TI=0;
}
void initbuf()
{
uchar i;
for(i=0; ilt; 16; i ) buf[i]=0x00;
}
main()
{
TMOD=0x20;
SCON=0x50;
TH1=TL1=0xfd;
TR1=1;
ES=1; =1 ;
initbuf();
mientras(1)
{
cambiar(num)
{
caso 0: ruptura
caso 1: ruptura
caso 2: ruptura
caso 3;
p>
caso 4:
if(strcmp(strOpen,buf)==0)LED=0
initbuf(); /p>
num =0;
descanso;
caso 5:
if(strcmp(strClose,buf)==0)LED= 1;
initbuf();
num=0;
descanso;
valor predeterminado: num=0; p>
}
}
}