如何用51单片机RXD单片机串口接收数据包MIDI信号然后将命令转换到数码管显示

51单片机串口通讯:把上位机接收的数据在数码管显示_百度知道
51单片机串口通讯:把上位机接收的数据在数码管显示
比如在串口助手发送以十六进制发送6,让数码管也显示6。我感觉自己写的程序最后接收数据那部分有错误,大家帮看看吧
#include&reg51.h&#define uchar unsigned char #define uint unsigned intuchar code dis[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0...
我有更好的答案
&&&nbsp!&&}另外,如果是实际制作电路,P0口和数码管之间的七根连线中间要串入7个电阻才比较好,阻值在几百欧;&&&&TI=0;&&&&P0=dis[n];&&&&dislay();&RI=0;&&&&&n=SBUF;&P0=dis[n]!&nbsp建议把这几行代码n=SBUF;while(;&SBUF=n;&&&&&while(;&RI=0;&SBUF=n;TI);&&RI);&RI);&dislay();改为while(1){&&&&&while(;&&nbsp!&while(!&TI);TI=0
测试不行,勾选十六进制的情况下输入一位数字没反应,需要输入两位数数码管才会亮,但也不一定会显示数字。我的目的是想从上位机输入一个个位数,然后数码管显示该数。串口助手那里的十六进制取消勾选的话不管输入多少都是显示8
你给出的代码不完整,只能给你提供可能的解决途径供参考。如果你希望有人帮你调通的话,你应该提供完整的软件project以及proteus的design或project。
取消勾选十六进制发送,用数字对应的ascii码可以正常显示了。不管怎样还是要谢谢你的回答!
采纳率:65%
求个程序求个程序
1条折叠回答
为您推荐:
其他类似问题
51单片机的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。如何用51单片机RXD串口接收MIDI信号然后将命令转换到数码管显示_百度知道
如何用51单片机RXD串口接收MIDI信号然后将命令转换到数码管显示
//这是发送函数void send(uchar cc,kk,vv)//cc是命令+通道号,kk是音符号,vv是力度{
TR1=1;SBUF=while(TI==0);TI=0;SBUF=while(TI==0);TI=0;SBUF=while(TI==0);
TR1=0;}在MIDI协议中,通道号是0-16,音符号是0-127,力度是0-127该图是发送的电...
我有更好的答案
.;recv[2]=SBUF;RI=0;RI=0;while(RI==0)..void recive(void){while(RI==0);while(RI==0);recv[1]=SBUF..;recv[0]=SBUF;RI=0;.。unsigned char recv[3]接收函数差不多,可以申明一个数组来接受三个值
高级工程师
直接这么传输音频流并不可靠,(异步接口无法进行同步,数据流中你如何判断哪里是cc?)如果发送端也是单片机的话,最好自定义协议进行封包。
这程序,收到后,当时还回送出去了。那么,对方,接收后,显示的什么?
接收可以用串口中断来实现.懂事电子设计 Vgz
会写发送不会写接收?
从来没有接收部分的代码,都是MIDI键盘的发送代码
那就不需要写了啊……为什么你还要写?
这里和几进制的数据没关系,不管是16进制,还是10进制,还是二进制,它所存储的数值,都是不变的。要处理接到数据,必须做协议,否则,你不知道这一串数据,哪个是第一个字节,哪个又是中间字节。
其他4条回答
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。51单片机双机串行通信设计_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
51单片机双机串行通信设计
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩23页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢}

我要回帖

更多关于 单片机串口接收数据包 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信