问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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

发布网友 发布时间:2022-05-14 07:30

我来回答

4个回答

热心网友 时间:2023-10-09 21:17

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-10-09 21:18

确定一下你波特率有没有算对!感觉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个

热心网友 时间:2023-10-09 21:18

再调试一下,收到串口助手数据之后再让它返回到电脑串口,看看是否是原始数据。目的是查一下是串口出了问题还是数码管编程有问题来自:求助得到的回答

热心网友 时间:2023-10-09 21:19

LZ采用T1的定时器方式是2为自动重装初值,很明显TH1和TL1这两个值不一致,波特率有问题
51单片机串口通信问题

建议检查:单片机出来的是TTL的,跟PC连接需要max232;txd和rxd是否接反;串口连接线是否有问题(非下载线);串口速率等参数是否一致,单片机晶振决定频率;公共地是否连接正常;连续发送数据给单片机,测单片机rxd口有无波形;单片机程序中设置断点看有否收到数据;...

51单片机串口通信乱码.闹不清什么问题

串口乱码,可能是波特率不匹配,或者误差较大所致。

51单片机串口通信收到乱码

单片机发送的是ASCII码,所以,串口助手接收时,要显示字符型,即十六进制显示的选项不要打勾。

51单片机串口通信收到乱码

若是收正确,送有问题;可以查下TXD这PIN的线路是否存在错误。若是有收到,但资料不正确;查下TH1,TL1的值是否正确。光看1、2、3的传送,应该没有错!还可以先送单个资料如1,看单笔传送是否正确。若是单个正确,那就是冲突问题了!

51单片机串口通信问题

一个一个问题回答:1、是在一个字节接收成功或一个字节发送成功以后进入中断程序(不过,一般在发送时是将中断关闭的,也就不进入中断了)。此时,定时器的作用就是为了设定串口速率,因为单片机的速度和串口的速度不是一个数量级的,所以一定要有个变速箱。2、数据的接收是由硬件控制的,其实,数据的...

51单片机串口通讯(模式1)问题:发送内容前半部分出错,后半部分正确。错...

ET1=1;此语句是罪魁祸首,定时器1已经作为串口波特率发生器了,就不能做其他用途了,此时定时必须禁止中断,而你程序中恰恰相反,来了句ET1=1;开启了定时器1中断,导致串口波特率发生混乱。那当然串口通信会有问题了,删掉ET1=1;该语句即可。

51单片机与计算机串口通信无法读出数据?

答:1 判断你的硬件有没有问题;方法是 用跳线讲串口的pin2 和pin3短接,用串口调试助手发送数据看调试助手能不 能自己收到,能就说明是单片机程序有问题 2 你检查你的波特率是生成程序是否正确, 中断和主程序用 1楼给你程序,我看了 没问题。这样就可以实现串口通信了 ...

两个51单片机485串口通信接收数据出错原因?大概发送三、五次会有一次...

1.有人在发送数据之前,先关闭了串口中断!等待发送完毕后,再打开串口中断。这样,在发送数据的等待期间内,如果收到了数据,将不能进入中断函数,也就不会保存的这个新收到的数据。这种处理方法,就会遗漏收到的数据。2.有人在发送数据之前,并没有关闭串口中断,当 TI = 1 时,是可以进入中断...

51单片机串口通信中断的问题

程序里面,既然开通了中断功能,那你就一直使用中断功能,为什么你还要使用查询功能呢?甚至有时把中断给禁止了,这里面容易出现问题哈。你不要使用查询功能,就一直使用中断,具体程序查看下面:include<reg52.h> define uint unsigned int define uchar unsigned char void delay(int z);char a,flag;vo...

51单片机与PC进行串口通信,用串口调试工具显示数据没数据。。。_百度知...

首先检测你的硬件电路。方法是,拔掉你的单片机,把RXD和TXD脚短路。然后在串口调试助手里面,选任意波特率发送任意字符,如果收到的是发送的内容,则能肯定MAX232和RS-232之间连接正确。接下来就要检查你的程序了 最容易出问题的就是波特率了。如果你用12M的晶振,那么,最好设置波特率为1200 或 2400。

51单片机串口通信例程 两个51单片机串口通信 51单片机与电脑串口通信 单片机串口通信原理 单片机串口通信程序 单片机串口通信代码 两个单片机串口通信程序 单片机串口如何通讯 51单片机多个串口
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
信用卡持卡人死亡,名下无遗产,信用卡在生前有欠款,需要家属告知银行持... 学校突发安全事故应急处理出版背景 矿山灾害治理与应急处置技术本书目录 王杰秀编的灾难性事故应急处理手册何时出版并由哪家出版社发行? 股票价格高于内在价值怎么看? 济南路边违章停车的处罚是什么? 里斯本竞技足球俱乐部球队荣誉 里斯本足球俱乐部 140平米装修预算费用多少影响装修预算的因素有哪些 止咳化痰吃什么药好? 用两个74HC595搭接8位数码管驱动电路的问题。 耳朵边缘痛,上边缘,麻烦您告诉我,谢谢啦! 51单片机如何利用4个七段数码管采用动态显示显示4位数字,如2035 单片机数码管亮度不一样 请问谁有《网络异常流量识别与监控技术研究》这本书的电子版,麻烦传我一份,清华大学,孙知信著。急! 51单片机数码管用指针写显示函数,结果只有前三个显示的是对的,后五个显示的全是8。。 孙知信的人物经历 单片机数码管I/O接口的问题 89c51单片机两个数码管同时工作怎么弄 故宫有哪些珍贵文物或奇珍异宝 故宫门票 北京故宫门票价格 2014故宫博物院门票多少钱 故宫简介 什么软件能解决声音和画面不同步 手机下载什么软件能解决手机视频播放时画面与声音不同步? Proteus8中怎么找到七段数码管SMG04_1 关键字里搜索没有这种? 为什么我用iPad下载迅雷的韩剧声音和视频不同步,能有什么解决方法吗? 我想查 一个电话号码是哪里的?有谁能帮帮我吗?号码是 0394 5796329 周口市卫生局电话号码 以+85开头是什么电话号码? 如果电影的画面和声音不同步,用什么软件可以让它们同步了 什么视频转换软件可以处理电影声音和画面不同步问题??? 耳朵边有痛是怎么回事 金属材料确定何种牌号?成分如下 C0.04,Mn0.18,P0.021,S0.025,Cr7.47,Ni0.02,有磁性 ZG5Cr7Ni3Si2Re是什么材料 解释不锈钢牌号1Cr7、1Cr7Ni9的含义 考研政治 时政买什么材料好 怎么复习啊 考研政治到底要看教材吗,还是用资料就可以了,纠结。 工行信用卡刚激活就被锁定,银行说没权限,客服说给上报,想注销说冻结了不能注销,一直在等,咋弄? 金伯利岩的分类及一般特征 《勉谕儿辈》文言文如何翻译? 一家水产罐头加工企业如何通过sc认证 经常吃乌龟肉罐头对身体有什么好处? 每天甲鱼喂多少 男孩取名王锐琪好吗? 爸爸姓杨妈妈姓姜鸡年农历后六月中旬男孩叫杨什么琪好听 关于CSS好的网站 养甲鱼难不 怎么捕捉乌龟 朱顶红是什么?照片。 2011.2月生的,是男孩想给他取名叫王靖琪。请问这名字好吗? 赖清琪适合男生还是女生名字?