求助,关于51单片机串口问题

[复制链接]
查看11 | 回复3 | 2021-1-27 05:20:36 | 显示全部楼层 |阅读模式
使用单片机制作一个十以内加减法串口计算器,如通过串口向单片机发送1+2时,单片机需要通过串口发出结果3
使用单片机制作一个十以内加减法串口计算器,如通过串口向单片机发送1+2时,单片机需要通过串口发出结果3
#include
typedefunsignedintu16;
typedefunsignedcharu8;
u8receive[5];
u16i=0;
u8sum;
voidUsartInit()
{
TMOD=0x20;
TH1=0xf9;
TL1=0xf9;
PCON=0x80;
TR1=1;
SCON=0x50;
EA=1;
ES=1;
}
voidmain()
{
UsartInit();
while(1);
}
voidUasart()interrupt4
{
ES=0;
receive[i++]=SBUF;
if(i==3)
{
i=0;
switch(receive[1])
{
case'+':sum=receive[0]+receive[2]-48;break;
case'-':sum=receive[0]-receive[2]+48;break;
}
SBUF=sum;
while(!TI);
TI=0;
}
ES=1;
RI=0;

}
分 -->
回复

使用道具 举报

千问 | 2021-1-27 05:20:36 | 显示全部楼层
case'+':sum=receive[0]+receive[2]-48

后-48,什么意思?
不理解。
回复

使用道具 举报

千问 | 2021-1-27 05:20:36 | 显示全部楼层
引用1楼hww5222的回复:case'+':sum=receive[0]+receive[2]-48

后-48,什么意思?
不理解。

48是0的ASCII值,就是将ASCII码转换成数字
回复

使用道具 举报

千问 | 2021-1-27 05:20:36 | 显示全部楼层
不知道是不是--用工控机里面的字符串--来读取51单片机的程序和转换到工控机--PLC来读取想换参数的??请大神帮帮忙解答我的我问题--
51单片机的读写和plc--怎么通信的??
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行