求一个单片机程序(C语言),我想通过串口远程控制一个小灯的亮灭。

2024-10-31 11:32:19
推荐回答(1个)
回答(1):

#include
#define uchar unsigned char
uchar *txt,num,limit_t=0;
sbit led=P0^0;
bit flag=0;
void uart() interrupt 4
{
if(RI)
{
RI=0;
TR0=1;
txt[num]=SBUF;
num++;
}
}
void t0isr() interrupt
{
limit_t++;
if(limit_t>=20)
{
limit_t=0;
TR0=0;
flag=1;
}
}
main()
{
TMOD=0x21;
TH1=0xfd;
TL1=0xfd;
TR1=1;
SCON=0x50;
ES=1;
EA=1;
TH0=(65536-50000)/256;
TL0=(655336-50000)%256;
TR0=1;
ET0=1;
led=1;
while(1)
{
if(flag==1)
{
flag=0;
num=0;
if(txt[0]=='o' && txt[1]=='p' && txt[2]=='e' && txt[3]=='n')led=0;
if(txt[0]=='c' && txt[1]=='l' && txt[2]=='o' && txt[3]=='s' && txt[4]=='e')led=1;
}
}
}