51单片机的多字节接受

各位大神,请问51单片机串口通讯时,怎么进行多字节的接受啊。比如我串口调试助手用ASCII码发送“123456”,我想在单片机接收到十进制的“123456”显示在数码管上,谢谢各位啦,帮帮小弟。

多字节接受的话,你用一个数组再用一个接收计数变量,接到后显示完了再清空变量重新接收,中断中只接收字符将其放入数组及修改计数变量即可,最好是固定长度或有结束符,便于程序控制。显示部分放在主程序当中,当然你可以加一个显示标志,为1时表示有内容可以更新,为0时表示没有内容更新。
温馨提示:答案为网友推荐,仅供参考
第2个回答  2013-12-19
不写显示程序,写一个接收程序吧。
unsigned char rdat[16],pin=0;
void recive()
{
unsigned char temp;
while(1)
{
if(RI)
{
RI=0;
temp=SBUF;
if(temp!='\0') //接收到非结束符存入数组,继续接收。
{
rdat[pin]=temp;
pin++;
}
else break; //接收到结束符则退出接收状态
}
}
}本回答被提问者采纳
相似回答