51单片机串口通讯问题:单片机发一个数据到电脑上时第四位数据正常,但高四位异常

#include<reg51.h>voidInit_Uart(){TMOD=0x20;TH1=0xFD;/*9600baud--11.0592MHz*/TL1=0XFD;... #include <reg51.h>void Init_Uart(){ TMOD=0x20; TH1=0xFD;/*9600baud--11.0592MHz */ TL1=0XFD; TR1=1; SM0=0; SM1=1; if(RI==1) { RI=0; P1=SBUF; SBUF=P1; } }单片机用的是stc90C516RD+ ;晶振 12M程序如上,当我在串口助手里面发送05时,P1输出正常,串口助手接收到的却是85,我发送55时P1输出B5,接收到的是F5,这是什么原因?请大神赐教!万分感谢! 展开
 我来答
如何如冰冰降7205
2017-07-23 · 超过16用户采纳过TA的回答
知道答主
回答量:107
采纳率:0%
帮助的人:16.1万
展开全部
你这里的难点在于"只发送一次",可以定义一个标志变量初始为0,当P1.1=0时且标志为0,向串口发送一个数据,并置该标志为1,即使P1.1依然为0也不会一直发送;当检测到P1.1=1时,置标志为0,以便下次再触发。其他依此类推。
追问
我在网上看到视频,和他们的程序是一摸一样呀!他们可以为什么我的不行呢?会不会是因为单片机的原因?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式