主从机双向通信接口设计

主从机双向通信接口设计

ID:6550129

大小:61.00 KB

页数:2页

时间:2018-01-17

主从机双向通信接口设计_第1页
主从机双向通信接口设计_第2页
资源描述:

《主从机双向通信接口设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、2.5主从机通讯原理在51系列中,都提供了串口通讯的4种方式,其中的方式2和方式3有一个专门的应用领域,即多机通讯。这一功能使它可以方便地应用于集散式分布系统中。多机通讯的实现,重要靠主、从机之间正确地设置与判断多机控制位SM2和发送或接收的第九数据位(D8)。以下简述如何实现多机通讯。在编程前,首先要给各从机定义地址编号,如分别为00H,01H,02H……。当主机想发送一数据块给几个从机中的一个时,它首先发送一个地址字节,以辨认从机。地址字节和数据字节可以用第九数据位来区别,前者的第九位为1,而后者的第九位为0,所以,在主

2、机发送地址帧时,地址/数据标识为TB8应设置为“1”,以表示是地址帧。例如可这样编写指令:MOVSCON,#0D8H;设串口为方式3,TB8置“1”,允许接收此时,所有的从机初始化时均置SM2=1,使它们只处于接收地址帧的状态。例如,从机中可以编写这样的指令:MOVSCON,#0F0H;置串口为方式3,SM2=1,允许接收当从机接收到从主机发来的信息,第9位RB8若为“1”,则置位中断标志RI,中断后判断主机送来的地址与本从机地址是否相符。若相符,则被寻址的从机就清除其SM2标志,即SM2=0,准备接收即将从主机送来的数据帧

3、,未被选中的从机仍保持SM2=1。当主机发送数据帧时,由于TB8=0,虽然各从机都能接收到,但只有SM2=0的那个被寻址的从机才能接收到数据,那些未被选中的从机将不理睬进入到串口的数据字节,继续进行它们自己的工作,直到一个新的地址字节到来,这样就实现了主机控制的主从机之间的通信。综上所述,多机通讯的过程可以归纳为如下:(1)主、从机初始化为方式2或方式3,置SM2=1,允许中断。(2)主机置TB8=1,发送要寻址的从机地址。(3)所有从机均接收主机发送要寻址的从机地址。(4)被寻址的从机确认地址后,置本机SM2=0,向主机返

4、回地址,供主机核对。(5)核对无误后,主机向被寻址的从机发送命令,通知从机接收或发送数据。(6)本次通信结束后,主、从机重置SM2=1,主机可再对其它从机寻址。通过以上对多机通信的简要介绍,在系统中实现多机通信只需将主机的TXD线(发送数据口)与各分机的RXD(接收数据口)、各分机的TXD与主机的RXD相连接,通过程序便实现。89X51串行口结构图如下图所示,从图知它主要由两个数据缓冲寄存器和一个输入移位寄存器,以及一个串行控制寄存器等组成.定时器常用做波特率发生器,接受和发送缓冲寄存器占用同一地址99H,其寄存器名亦同样为

5、SBUF.CPU写SBUF时,一方面修改发送寄存器,CPU读SBUF时,就是读接收寄存器,特殊功能寄存器PCON的最高位SMOD为串行口波特率的倍增控制位.特殊功能寄存器SCON用以存放串行口的控制和状态信息.89X51串行口正是通过对上述专用寄存器的设置、检测与读取来管理串行通讯的.图2-5-189X51串行口结构串行通讯,就是将要数据按顺序一位一位地发送或接受.串行通讯,只需要一到两根线,故传输成本低,但速度慢,这是串行通讯的特点.  主机与若干从机通讯要怎样来实现呢?首先我们要对从机地址进行编号,让每一个从机有自己唯一

6、的地址.然后主机发送不同的地址去访问要访问的从机.从机采用中断来处理主机的访问,当地址不同与自己的地址时,不与理睬,当与地址相同时,从机与主进行通讯.其它从机不参与.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。