51单片机串口通信出现问题

我用串口助手发送0,数码管显示0发送1,显示2发送2,显示c;发送3,显示e程序如下,该如何该呢?#include<REG51.H>unsignedcharsmg[]={... 我用串口助手
发送0,数码管显示0
发送1,显示2
发送2,显示c;
发送3,显示e

程序如下,该如何该呢?
#include<REG51.H>

unsigned char smg[]={
0xc0,0xf9,0xa4,0xb0,0x99,
0x92,0x82,0xf8,0x80,0x90,
0x88,0x83,0xc6,0xa1,0x86};
//定义一个共阳极数码管字库

void InitUart()
{
PCON=0;
TMOD=0x20;
TH1=0xfe;
TL1=0xe0;
SCON=0x50;
TR1=1;
}

void main()
{
InitUart();
while(1)
{
if(RI)
{
RI=0;
P0=smg[SBUF]; //通过数码管显示接收到的信息
};
};
}
展开
 我来答
做而论道
高能答主

2013-04-14 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.2亿
展开全部
void main()
{
InitUart();
while(1) {
if(RI) {
RI = 0;
if(SBUF == 0) P0 = smg[0]; //通过数码管显示接收到的信息
if(SBUF == 1) P0 = smg[2]; //通过数码管显示接收到的信息
if(SBUF == 2) P0 = smg[12]; //通过数码管显示接收到的信息
if(SBUF == 3) P0 = smg[14]; //通过数码管显示接收到的信息
};
};
}

如果是ASCII码,加上引号即可:

if(SBUF == '0') P0 = smg[0]; //通过数码管显示接收到的信息
if(SBUF == '1') P0 = smg[2]; //通过数码管显示接收到的信息
if(SBUF == '2') P0 = smg[12]; //通过数码管显示接收到的信息
if(SBUF == '3') P0 = smg[14]; //通过数码管显示接收到的信息
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
意法半导体(中国)投资有限公司
2023-08-25 广告
单片机是一种集成处理器,通常包含微控制器、存储器、通信接口和其他外设。它们通常用于嵌入式系统,如智能家居设备、汽车电子系统、工业自动化和消费电子产品等。单片机可以通过编程来实现各种功能,如数据处理、输入输出控制、通信等。由于单片机体积小、功... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
huangzhicaicai
2013-04-15 · TA获得超过687个赞
知道小有建树答主
回答量:1230
采纳率:0%
帮助的人:426万
展开全部
确定一下你波特率有没有算对!感觉TH1和TL1应该一下才对
一样
波特率没问题的话就把你字码表改一下就可以了
改成
发送0,数码管显示0
发送1,显示2
发送2,显示c;
发送3,显示e

程序如下,该如何该呢?
#include

unsigned char smg[]={
0xc0,0xa4,0x83,0xa1,0x99,
0x92,0x82,0xf8,0x80,0x90,
0x88,0x83,0xc6,0xa1,0x86};
//定义一个共阳极数码管字库
不过你的字库好像有问题0到f有16个数你的怎么只有15个
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
清泽忆梦
2013-04-14
知道答主
回答量:98
采纳率:0%
帮助的人:39.1万
展开全部
再调试一下,收到串口助手数据之后再让它返回到电脑串口,看看是否是原始数据。目的是查一下是串口出了问题还是数码管编程有问题
来自:求助得到的回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
成子盾
2013-04-15
知道答主
回答量:10
采纳率:0%
帮助的人:6.1万
展开全部
LZ采用T1的定时器方式是2为自动重装初值,很明显TH1和TL1这两个值不一致,波特率有问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式