单片机之间多机通信演示电路设计_第1页
单片机之间多机通信演示电路设计_第2页
单片机之间多机通信演示电路设计_第3页
单片机之间多机通信演示电路设计_第4页
单片机之间多机通信演示电路设计_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机间多机通信演示电路的设计与研究摘要:“单片机间多机通信演示电路的设计与研究”是基于单片机的串行通信演示电路系统设计。在本设计中,三个AT89C51微控制器通过串行通信技术相互通信。在设计中,我们采用具有多机通信功能的AT89C51单片机构成主从分布式控制系统,其中一台主机控制两台从机,主机可以向从机发送命令来控制从机,同时也可以接收从机反馈的信息,从而实现主机和从机之间的双工通信。在系统设计中,采用自制的键盘和拨码开关作为输入设备,简单的发光二极管和一位数码管作为输出设备。主从机之间的数据传输通过串行接口技术实现,通信结果由显示设备观察。在本系统设计中,主要采用了单片机之间的多机通信技术

2、以及单片机的串行通信接口和中断系统,这将在下面的设计中进行详细的研究和讨论。关键词:多机通信串行通信中断控制演示电路,总体方案,功能介绍,(1)当主机甲按下键盘选择键1时,主机与从机乙通信,然后按键数据发送给从机乙,结果由数码管DS1显示。同样,当主机A按下键盘选择键2时,主机与从机C通信,然后按键数据将发送给从机C,结果将由数码管DS2显示。(2)当从机B和P1的手指开关被切换时,该数据将被发送到主机A,并且具有较低4位的四个发光二极管将被控制打开和关闭。同样,当从机C和P2的手指开关被切换时,该数据将被发送到主机A,并且具有高4位的4个发光二极管将被打开。1.多机通信接口的设计在实际应用系

3、统中,常常需要多个微处理器协同工作。由于AT89系列单片机具有多机通信的功能,可以用来组成各种分布式系统,其系统结构如图所示。在图中,系统采用一个主和几个从,主的RXD端与所有从的TXD端相连,而TXD端与所有从的RXD端相连。主机发送的信息可以被每个从机接收,而每个从机发送的信息只能被主机接收。2.多机通信原理在多机通信中,为了保证主从机之间的可靠通信,通信接口必须具有从机的识别功能。串行端口控制寄存器SCON中的SM2位是为满足这一要求而设置的多机通信控制位。串口实现模式2或模式3下的多机通信。发送和接收的每个帧信息是11位,其中第9个数据位是可编程的。通过将1或0分配给SCON的TB8,

4、可以区分是发送地址帧还是数据帧(规定地址帧的第9位是1,数据帧的第9位是0)。如果从控制位SM2=1,当接收到地址帧时,数据被加载到SBUF中,并且RI=1被设置为向中央处理器发送中断请求;如果接收到数据帧,将不会生成中断标志,信息将被丢弃。如果SM2=0,则在地址帧和数据帧中产生中断标志RI=1,并将数据加载到SBUF中。单片机串口工作原理,1串口寄存器结构AT89C51单片机串口寄存器结构如图所示。SBUF是串口的收发缓冲区,是一个可寻址的特殊寄存器,包括接收机和发射机寄存器,可以实现全双工通信。但是这两个寄存器有相同的地址(99H)。AT89C51的串行数据传输非常简单,只需将数据写入发

5、送缓冲区即可发送数据。并且可以通过从接收缓冲器读出数据来接收数据。串行通信控制寄存器SCON控制寄存器,是用于串行数据通信控制的可寻址特殊寄存器。单元地址为98H,其结构格式如下在接收状态下,当串行端口工作在模式2或模式3且SM2=1时,只有当接收到的第9位数据(RB8)为1时,前8位数据才会发送到SBUF,并且ri设置为发出中断应用,否则,接收到的数据将被丢弃。当SM2=0时,无论位数据是0还是1,都很难将数据发送到SBUF,并发出中断应用。在模式0下工作时,SM2必须为0。(3)。任:允许接收位。REN用于控制数据接收的允许和禁止。当REN=1时,允许接收,当REN=0时,禁止接收。(4)

6、.TB8:发送和接收数据位8。在模式2和模式3中,TB8是要传输的第9个数据位。该位也应在多机通信中传输,它代表传输的地址或数据。TB8=0是数据,TB8=1是地址。(5).RB8:接收数据位8。在模式2和模式3中,RB8存储接收到的第9位数据,以识别接收到的数据的特征。(6)。发送中断标志位。可寻址标志位。在模式0下,它在发送第8位数据后由硬件设置,在其他模式下,它在发送或停止该位之前由硬件设置。因此,TI=1表示帧发送结束,t1可以由软件清除。(7)。接收中断标志位。可寻址标志位。接收到第8位数据后,该位由硬件设置。在其他工作模式下,该位由硬件设置,且RI=1表示帧接收完成。2.电源管理寄

7、存器PCONPCON主要是一个用于CHMOS单片机电源控制的专用寄存器。单元地址为87H,其结构格式如下:在CHMOS单片机中,除了串口波特率倍增位SMOD位外,所有位都是虚的。当SMOD=1时,串行端口的波特率加倍。系统重置默认为SMOD=0。AT89C51单片机的串口有四种工作模式,分别由SCON的SM0和SM1位设置。本系统研究了单片机之间的多机通信,因此主要介绍了实现多机通信的方式2和3。1.模式0同步移位寄存器模式2。模式18位异步串行通信模式3。模式29位异步通信接口如果SM0SM1=10B,串行端口工作在模式2。模式2是固定波特率的11位异步串行通信模式,传输波特率与SMOD有关

8、。发送或接收11位信息帧,包括1个起始位0、8个数据位、1个可编程位(用于奇偶校验或多机通信)和1个停止位1。1)在模式2下发送时,软件根据通信协议设置TB8,然后将待发送的数据写入SBUF,指令启动发送器。写入SBUF的指令不仅向SBUF发送8位数据,还将TB8加载到传输移位寄存器的第9位,并启动传输控制器传输一次。一帧信息来自TXD。发送一帧信息后,TI自动设置为1。在发送下一帧信息之前,必须通过中断服务程序或查询程序清除TI。2)当REN=1时,允许串行端口接收数据。数据从RXD终端输入。当接收机在RXD终端对负跳变进行采样并判断起始位有效时,它开始接收一帧信息,每帧接收11位信息。在模

9、式2下接收时,如果同时满足以下两个条件:(1)ri=0;(2)SM2=0或接收到第9个数据位1。接收到的数据有效,8位数据被发送到SBUF,第9位被发送到RB8,并且ri=1被设置;如果不满足上述两个条件,则该信息将被丢弃。4.模式3下的9位可变波特率异步通信接口如果SM0SM1=11B,串行端口在模式3下工作,这是一种11位可变波特率异步串行通信模式。除波特率外,模式3与模式2完全相同。多机通信电路设计,1硬件电路设计1时钟电路如图4.2所示,AT89C51的时钟电路引脚为XTAL1(引脚19)和XTAL2(引脚18),XTAL1和XTAL2分别为反相放大器的输入和输出。应时振荡器连接在引脚

10、18和引脚19之间(公共频率为3.58兆赫兹、6兆赫兹、11.0592兆赫兹和11.0592兆赫兹)。为了节省单片机的输入输出端口,简化硬件电路,采用了43矩阵键盘。键盘有12个键,包括数字键和功能键。如图所示,它由AT89C51的四行线P1.0-P1.3和三列线P1.5-P1.7组成。键设置在行和列的交叉点。列线分别连接到按键开关的两端,列线通过上拉电阻连接到5V。当平时没有按键动作时,列线处于高电平状态,当按键时,行线和列线的信号必须匹配进行适当处理,以确定闭合按键的位置。键盘上的某个键是否被按下,将被逐行发送到全扫描,并通过逐列读取列的状态来判断。通过逐行扫描低电平后检查列输入状态来确定

11、按下了键盘中的哪个键。3显示电路1。如图所示的发光二极管显示电路是AT89C51单片机的基本显示电路。将发光二极管连接到端口2后,连接470欧姆电阻作为限流装置,防止发光二极管烧坏。最后,连接VCC供电。当端口2的输出引脚为0时,指示灯亮起,例如,当控制端口2.0=0时,第一个指示灯亮起。AT89C51单片机可以控制这些引脚的电压,产生数字信号,然后控制外围设备。请注意,当PORT0用作输出端口时,必须连接上拉电阻。2.数码管显示电路显示为两个从机的显示电路。该系统使用普通阳极数码管作为显示器。当ag处于低电平时,led亮起。八个引脚a、b、c、d、e、f、g和dp分别连接到单片机的P2.0-P2.7,中间增加一个330欧姆的限流电阻。19,普通阳极发光二极管的编码分别为: F9H、A4H、B0H、99H、92H、82H、F8H、80H和90H。2软件编程1。键盘编程2。主机编程流程该系统使用波特率为2400赫兹的12兆赫兹晶体振荡器。程序流程如图4.9所示,定时器串口通信的初始化步骤如下:(1)确认串口工作在模式3,允许接收控制字C0H (SM0=1,SM1=1,REN=1)并发送到

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论