完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
通过设置单片机的串口可以方便实现三个或三个以上单片机之间的多机通信,构成主从式多机通信系统。串口通信的电器特性、逻辑电平和各种信息都有其自身的特点。89C51 系列单片机之间通过多机通信进行数据交换时,将串口设置为工作方式2 或者3,数据的接收受到SM2的控制。多机通信涉及下面几个过程。 主机模块中包含单片机子模块、复位电路、时钟电路和按键开关。从机模块则包括单片机子模块、复位电路、LED显示模块。在主模块中由AT89S51单片机担任主机。在整个主机系统中有3个从机模块,三个从机模块结构一样,有一片AT89S51单片机担任从机外接一片MAX485担任串口的电平转换。串口采用半双工异步通信方式。单片机实现多机通信的基本过程如下: 1、首先,从机处于只接收地址帧的状态,通过按键控制主机所发送的命令,主机发送一帧地址信息。当从机接受到地址帧后,将本机地址与地址帧中的地址进行比较,如果地址相同准备接受数据,否则丢弃当前帧,依然处于只接受地址帧的状态; 2、主机发送数据帧,相应的从机接受数据,数据传送完毕后,从机执行相应操作指令(控制LED灯的亮灭),证明通信成功。随后从机继续回到只接受地址帧的状态,在这个过程中其他从机不受影响; 3、当主机需要与其他从机进行数据传输时,可以再次发送地址帧呼叫从机,重复这一过程,达到多机实时通信的目的。 1.2 通信原理(1) 点对点通信 主机收到从机的确认信息后,置TB8 = 0 进入数据发送状态,即随后发送的每个数据的第九位都是0。虽然所有的从机都能接收到数据帧,但是只有SM2 = 0 的从机才会将数据送入SBUF,与主机进行一对一的通信。地址不匹配的从机则保持SM2 = 1 和RB8 = 0,并将主机发送的数据丢弃。当从机给主机发送数据帧时,需要将TB8 置为0,表示传送的为数据。 (2)主机广播查询设置主机发送的信息有地址和数据两类。当主机设置TB = 1 时,表示发送的为地址,TB = 0 时表示要发送的为数据。当主机的TB = 1,各从机均设置成SM2= 1 时,从机监听主机发来的广播信号。 (3) 各从机确认 各从机通信息的第9 位( RB8) 来区分收到的是地址还是数据。当RB8 = 1时,表示从机收到的信息是地址,从机将其和自身设备的地址进行比较。如果两者相同,该从机将复位SM2 = 0,置位RI = 1,并给上位机发送确认信息设置成点对点的通信。该从机将收到的地址当作和主机的握手信号进入接收信息状态。其它从机由于地址不匹配而处于等待状态直到总线被释放。 (4)总线占有权的释放从机处于接收状态时SM = 0,并将接收的数据存入指定的内存中,接收完毕后置位SM = 1,交出总线占有权。串行多机通信中各从机的地址不同,地址匹配时只会有一个从机被选中。因此在任意时刻,只能由主机与某台从机进行数据传输,各个从机之间的通信必须通过主机来中转。例如从机1 先将数据传给主机,再由主机传送给从机2 完成从机1 和2 之间的通信。单片机的TTL电平与RS-232C 标准的电器特性不同,如果单片机的串口要和标准的RS -32C 建立串口通信必须进行电平转换。单片机的串口通过RS-232C 电平转换片MAX232 可构成232 串口通信,通光电隔离的方法可构成RS-422 通信,通过MAX485 芯片可构成RS-485通信等。通过这些通信方式就可以组成相应的多机通信系统。利用单片机的串行口组成的多机通信系统电路结构简单、成本低、软件也较易实现,正是基于这样的优点,使得其得到广泛的应用。
|
|
相关推荐
|
|
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-spi编程示例之spi编写程序
218 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第三十七章 image图像对比实验
204 浏览 0 评论
231 浏览 0 评论
449 浏览 0 评论
关于RT-Thread studio添加freemodbus控件失败的问题
628 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11636 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-7 23:23 , Processed in 0.445212 second(s), Total 39, Slave 29 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号