jmfs.net
当前位置:首页>>关于如何51单片机的串口发送多个数据和接受多个数据的资料>>

如何51单片机的串口发送多个数据和接受多个数据

你发送时,用循环控制,发几个字节,循环几次.连续发送多个数据,都是小意思,也是最基本的了.接收更好办了,用中断接收,中断一次接收一次,你就保存一次呗,这有什么难的.

首先你要知道一帧数据有多长,有没有开始和结束标志如果收到开始标志(帧头),就把以后的数据存入数组中

参考吴鉴鹰吧里面的资料,我也学习单片机,有吴鉴鹰单片机开发板(评价不错的一款单片机开发板),这样实验+理论,然后看视频学习会更好.有兴趣可以看下 串行口初始化编程格式: sio: mov tmod,#20h ;t1作波特率发生器 mov th1,#x ;定

你使用这种方式发送vb数据的i话,发送的是ascii码,比如发送的数据是123的话,计算机会连续发送0x31,0x32,0x33,所以单片机接收程序,需要重新转换一下,你可是试着换一种方式发送十六进制数据 对于单片机接收程序,由于你发送的数据

你的这段程序没什么问题,确实应该只收到一个22和一个34,再找找其它的地方吧

51单片机串口通信是全双工的.cpu不可以同时发出发送和接受指令,且发送寄存器只能写入而接受寄存器只能读取,所以给这两个寄存器赋予同一地址.其实发送和接收可以同时进行.

单片机 串口发送多字节数据,可以一个一个的发送,即发送 一个 字节,等待发送 完毕,接着发送 下一个字节,再等待发送 完毕.再发送 一个 字节,- - -接收也是一样,一个一个接收,一般 多字节发送 与 接收,可以设计一个 通讯 协议,如 发送指令码 - 数据1 - 数据2 - - - 数据n - 校验码 - 结束码这样的 通讯 可以不出错误.把你的程序列出来..程序采用了查询式发送,for(i=0;i 评论0 0 0

按发送是四个字节一起出去的,.----------------------它们不是“一起”出去的.实际上,串行口是按照波特率,把一位一位的二进数,顺序送出去的.51的接收器,也是按照波特率,一位一位的收.等到收齐了8个位(如55H),就送到SBUF,并且在RI置一;再接着收,33H、等等.

硬件上,将P3.1和P3.0连起来.写串口发送,和接收程序,最好用中断.收到自己发送的数据后也就是RI为高后,送P2显示,这样应该就好了..

收/发一个数据会了,那收/多个的方法也相同.接收最好用中断方式,不影响其它程序执行.发送时,采用查询方式比较方便好写.发送多个,可用for循环控制,循环体内就是发送一个数据的程序,只是循环发送了.在循环发送前,把串口中断关了,ES=0;发送结束再打开中断,ES=1;

网站首页 | 网站地图
All rights reserved Powered by www.jmfs.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com