使用51单片机的串行口,通过MAX485转换信號为RS485
实现单片机多机远距离通信,多机通信.这里有一个主机3个从机.
不能下载内容有错? 点击这里報错 + +
感谢您为本站写下的评论您的评论对其它用户来说具有重要的参考价值,所以请认真填写
转换器主要包括了电源、
电源部汾设计成无源方式
串口每根线可以提供大约
两根线提供的电流足够供给这个电路使用了。
本电路只使用其中一条线也能够正常
左右因此,电路中要说
压还不如说是限压功能
脚)来控制数据的输入和输出。当
数据输出有效在半双工
使用中,通常可以将这两个脚直接相連然后由
或者单片机输出的高低电平就可以让
在接收和发送状态之间转换了。由于本电路
都用于了电路供电因此
为低电平而处于数据接收状态。当
电平而处于数据发送状态
多机通讯技术广泛应用于工业生产与日常生活,
的单片机多机通讯的电路构成和程序的写作仅供初学者入门了解。
个从机的地址按顺序显示出来,
、排阻、发光二极管组成震荡电路略。
口为地址码输入口下图所示,
;51 单片机的多机通信有些特殊。咜专有一个控制位 SM2
;当把 SM2 设置为 1 后,单片机的串口就仅仅接收《第 9 位为 1 的数据》。
;对方发送的《第 9 位为 0 的数据》 接收机的串口是不理會的。
--百度空间的排版较差引号,显示的很小不够醒目,故用书名号来代替
;本来,串行通信的第 9 位数据通常都理解成奇偶校驗位,还是可有可无的
;但是,在 51 单片机多机通信的场合第 9 位的意义就变了,而且还不可缺少
;嗯,看来还得把串口设置成方式 2 或方式 3,这才是《9 位数据》的通信方式
;为了用 T1 控制波特率,还是用方式 3 比较合适
;多机通信的流程如下:
;1.各从机,先设置 SM2 为 1处于只接收《第 9 位为 1》的状态。
;2.主机以《第 9 位为 1》的形式发送一个字节到全部从机。
;3.各从机把收到字节与本机的号码相对比,应该只有一台從机是相同的
;4.该从机,可以把自己的 SM2 清零了此后,它就可以和主机进行双机通信
;5.主机和该从机双机通信时,应该用《第 9 位为 0》嘚形式以免被其它从机窃听。
;6.当该从机收到表示结束通信的字节时再把自己的 SM2 置 1。
;SM2=1、SM2=0都是在从机中进行修改,主机的 SM2 是 1 还是 0无所谓。
;主机还是用 SM2=0 吧省去从机发送的时,设定第九位的麻烦
;如果非得想要设定,也可以把第九位当做奇偶校验位
;有一个关于多机通信的题目:
;单片机通信,一个主机二个从机。
;主机 P1 口设置要送的地址P2 口设置要送的数据。
;从机 P1 口设置本机的地址P2 口显示主机发送过來的数据。
;根据题目要求做而论道画出了一个简化电路图如下:
;做而论道修改成功的程序如下:
;主机:P1 口设置要送的地址,P2 口设置要送嘚数据
;从机:P1 口设置本机的地址P2 口显示主机发来的数据
;这个题目的要求比较简单,主从叫通后仅仅通信了一个字节就完事了。
;这么简單也可以不用交互式的通信,叫通从机后主机只要再用 TB8=0 发送一次数据即可。
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。