- 2
- 0
- 约4.71千字
- 约 28页
- 2019-04-29 发布于安徽
- 举报
单片机之间多机通信演示电路设计与研究 摘要:“单片机之间多机通信演示电路设计与研究”是基于单片机的串行通信演示电路系统设计。本设计研究的是三个AT89C51单片机通过串行通信技术实现相互之间的通信。在设计中,我们利用AT89C51单片机具有多机通信功能,构成主从分布式控制系统,由一台主机来控制两台从机,主机可以向从机发送命令来控制从机,同时也可以接收从机反馈回来的信息,主从机之间实现双工通信。系统设计中主要由自制键盘和指拨开关作为输入设备,选择较为简单的发光二极管和一位数码管作为输出设备,通过串行接口技术实现主从机之间数据的传输并用显示设备观察其通信结果。本次系统设计中主要用到单片机之间多机通信技术以及单片机串行通信接口和中断系统,在下面设计中将进行具体的研究和讨论。 关键词: 多机通信 串行通信 中断控制 演示电路 整体方案 功能介绍 (1)当主机A,按键盘选择键1#,主机与从机B通信,接下来按键数据会发送给从机B,由数码管DS1显示结果。同理,当主机A,按键盘选择键2#,主机与从机C通信,接下来按键数据会发送给从机C,由数码管DS2显示结果。 (2)当从机B,P1的指拨开关切换时,此数据会发送给主机A,并控制其低4位的4个LED的亮灭。同理,当从机C,P2的指拨开关切换时,此数据会发送给主机A,并控制其高4位的4个LED的亮。 单片机多机通信技术 1.多机通信接口设计 在实际应用系统中,经常需要多个微处理机协调工作。由于AT89系列的单片机具有多机通信功能,因而可利用它构成各种分布式系统,其系统结构如图所示。 在图中,系统采用一台主机和多台从机,主机的RXD端与所有从机的TXD端连接,TXD端与所有从机的RXD端相连,主机发送的信息可被各从机接收,而各从机发送的信息只能由主机接收,各从机之间交换信息需通过主机。 2 .多机通信原理 多机通信中,要保证主机与从机间进行可靠的通信,通信接口必须具有从机身份的识别功能。串行口控制寄存器SCON中的SM2位就是为满足这一要求而设置的多机通信控制位。串行口以方式2 或方式3实现多机通信,发送和接收的每一帧信息都是11位,其中第9数据位是可编程位,通过对SCON的TB8赋值 1或0,以区别发送的是地址帧还是数据帧 (规定地址帧的第9位为1,数据帧的第9位为0)。若从机的控制位SM2=1,则接收的是地址帧时,数据装入SBUF,并置RI=1,向CPU发出中断请求;若接收的是数据帧,则不产生中断标志,信息将抛弃。若SM2=0,则无论是地址帧还是数据帧都产生RI=1中断标志,数据装入SBUF。 单片机的串口工作原理 1 串口寄存器结构 ? AT89C51单片机串行口寄存器结构如图所示。SBUF为串行口的收发缓冲器,它是一个可寻址的专用寄存器,其中包含了接收器和发送器寄存器,可以实现全双工通信。但这两个寄存器具有同一地址(99H)。AT89C51的串行数据传输很简单,只要向发送缓冲器写入数据即可发送数据。而从接收缓冲器读出数据即可接收数据。 输入移位寄存器 接收SBUF(99H) 发送SBUF(99H) TI(发送中断) TXD串行输出 系统总线 移位时钟 RXD串行输入 RI(接收中断) AT89C51串行口寄存器结构 2 单片机串口工作寄存器 1.串行通信控制寄存器 ???? SCON控制寄存器,它是一个可寻址的专用寄存器,用于串行数据的通信控制,单元地址是98H,其结构格式如下: SC ON D7 D6 D5 D4 D3 D2 D1 D0 SM0 SM1 SM2 REN TB8 RB8 TI RI 位 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H 下面我们对各控制位功能介绍如下: (1).SM0、SM1:串行口工作方式控制位。 SM0 SM1 工作方式 0 0 方式 0 0 1 方式 1 1 0 方式 2 1 1 方式 3 (2).SM2:多机通信控制位。多机通信是工作于方式2和方式3,SM2位主要用于方式2和方式3。接收状态,当串行口工作于方式2或3,以及SM2=1时,只有当接收到第9位数据(RB8)为1时,才把接收到的前8位数据送入SBUF,且置位RI发出中断申请,否则会将接受到的数据放弃。当SM2=0时,就不管第位数据是0还是1,都难得数据送入SBUF,并发出中断申请。工作于方式0时,SM2必须为0。 (3).REN:允许接收位。?REN用于控制数据接收的允许和禁止,REN=1时,允许接收,REN=0时,禁止接收。 (4).TB8:发送接收数据位8。在方式2和方式3中,TB8是
原创力文档

文档评论(0)