该楼层疑似违规已被系统折叠隐藏此楼查看此楼
#include
#defineucharunsignedchar
uchartime,b_break,b_break_3;
ucharbuf;
voidwaitsend()
{
while(!TI)
{
};
TI=0;
}
//串行中断程序
voidint_s(void)interrupt4{
ES=0;//关闭串行中断
RI=0;//清除串行接受标志位
buf=SBUF;//从串口缓冲区取得数据
P1=buf;//数据送往p1口显示出来
if(buf==255)SBUF=255;//发送联络信号
else{
switch(buf)
{
case1:SBUF='M',waitsend();break;//如果接受到1,发送字符'M'给计算机
case2:SBUF='C',waitsend();break;//如果接受到2,发送字符'C'给计算机
case3:SBUF='S',waitsend();break;//如果接受到3,发送字符'S'给计算机
case4:SBUF='5',waitsend();break;//如果接受到4,发送字符'5'给计算机
case5:SBUF='1',waitsend();break;//如果接受到5,发送字符'1'给计算机
default:SBUF='n',waitsend();break;//如果接受到其它数据,发送n给计算机
}
}
ES=1;//允许串口中断
}
voidmain(void){
P0=0;
P2=255;//关闭数码管显示
EA=1;
SCON=0x50;PCON=0X80;
TMOD=0x20;ES=1;
TL1=TH1=0xf3;TR1=1;//串口工作在模1,波特率4800@12Mhz)
while(1);
//无限循环等待串行中断
}
如果觉得《单片机串口输入c语言 单片机通过串口与电脑连接通信C语言源代码》对你有帮助,请点赞、收藏,并留下你的观点哦!