求一个51单片机c语言程序,当串口输入一个数,然后单片机返回指定的数字

求一个51单片机c语言程序,当串口输入一个数,然后单片机返回指定的数字,第1张

给个简单的。

main()

{

//初始化串口

SCON=0x50;

TMOD=0x20;

TH1=TL1=0xff;//视Fosc,给实际波特率发生器初值。

TR1=1;

while(1)

{

while(RI==0);RI=0;

switch(SBUF)

{

case 0x55:

SBUF=0x31;while(TI==0);TI=0;

SBUF=0x31;while(TI==0);TI=0;

SBUF=0x31;while(TI==0);TI=0;

SBUF=0x31;while(TI==0);TI=0;

SBUF=0x31;while(TI==0);TI=0;

break;

case 0x66:

SBUF=0x32;while(TI==0);TI=0;

SBUF=0x32;while(TI==0);TI=0;

SBUF=0x32;while(TI==0);TI=0;

SBUF=0x32;while(TI==0);TI=0;

SBUF=0x32;while(TI==0);TI=0;

break;

}

}

}

实际情况:

1串口的初始化,波特率和通信模式设置。

2更详尽的协议还包括:输入的数据格式、返回的数据格式。(这里,我只是把55当做了0x55处理,返回的内容是ASCII字符,六个数字1)

3当输入数据不止一个字节进行判断时,需要考虑串口接收的缓冲数组。同时对数组进行数据接收和判断。并考虑用中断处理接收过程。

4返回数据,考虑发送缓冲数组。用中断考虑发送过程。

如果你愿意的话,大家更喜欢阅读程序,修改或提出建议。以上只是个简单的例子。

用不着数组。

只要增加一个数字vlaue,再让 key 从keyscan()函数中,得到0~9,

最后如下计算到vlaue中: vlaue = vlaue 10 + key;

以后,每得到一个按键数值(0~9),都执行一遍上面的算式,即可。

以上就是关于求一个51单片机c语言程序,当串口输入一个数,然后单片机返回指定的数字全部的内容,包括:求一个51单片机c语言程序,当串口输入一个数,然后单片机返回指定的数字、51单片机键盘输入、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9342544.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存