版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 摘要摘要:“单片机之间多机通信演示电路设计与研究”是基于单片机的串行通信演示电路系统设计。本设计研究的是三个AT89C51单片机通过串行通信技术实现相互之间的通信。在设计中,我们利用AT89C51单片机具有多机通信功能,构成主从分布式控制系统,由一台主机来控制两台从机,主机可以向从机发送命令来控制从机,同时也可以接收从机反馈回来的信息,主从机之间实现双工通信。系统设计中主要由自制键盘和指拨开关作为输入设备,选择较为简单的发光二极管和一位数码管作为输出设备,通过串行接口技术实现主从机之间数据的传输并用显示设备观察其通信结果。本次系统设计中主要用到单片机之间多机通信技术以及单片机串行通信接口和中
2、断系统,在下面设计中将进行具体的研究和讨论。 关键词: 多机通信 串行通信 中断控制 演示电路 (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系列的单片机具有多机通信功
3、能,因而可利用它构成各种分布式系统,其系统结构如图所示。 在图中,系统采用一台主机和多台从机,主机的RXD端与所有从机的TXD端连接,TXD端与所有从机的RXD端相连,主机发送的信息可被各从机接收,而各从机发送的信息只能由主机接收,各从机之间交换信息需通过主机。2 .多机通信原理 多机通信中,要保证主机与从机间进行可靠的通信,通信接口必须具有从机身份的识别功能。串行口控制寄存器SCON中的SM2位就是为满足这一要求而设置的多机通信控制位。串行口以方式2 或方式3实现多机通信,发送和接收的每一帧信息都是11位,其中第9数据位是可编程位,通过对SCON的TB8赋值 1或0,以区别发送的是地址帧还是
4、数据帧 (规定地址帧的第9位为1,数据帧的第9位为0)。若从机的控制位SM2=1,则接收的是地址帧时,数据装入SBUF,并置RI=1,向CPU发出中断请求;若接收的是数据帧,则不产生中断标志,信息将抛弃。若SM2=0,则无论是地址帧还是数据帧都产生RI=1中断标志,数据装入SBUF。1 串口寄存器结构 AT89C51单片机串行口寄存器结构如图所示。SBUF为串行口的收发缓冲器,它是一个可寻址的专用寄存器,其中包含了接收器和发送器寄存器,可以实现全双工通信。但这两个寄存器具有同一地址(99H)。AT89C51的串行数据传输很简单,只要向发送缓冲器写入数据即可发送数据。而从接收缓冲器读出数据即可接
5、收数据。 输入移位寄存器接收SBUF(99H)发送SBUF(99H)TI(发送中断)TXD串行输出系统总线移 位时钟RXD串行输入RI(接收中断)AT89C51串行口寄存器结构2 单片机串口工作寄存器 1.串行通信控制寄存器 SCON控制寄存器,它是一个可寻址的专用寄存器,用于串行数据的通信控制,单元地址是98H,其结构格式如下:SC OND7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRI位9FH9EH9DH9CH9BH9AH99H98H下面我们对各控制位功能介绍如下:(1).SM0、SM1:串行口工作方式控制位。SM0 SM1 工作方式 00方式 001方式 110
6、方式 211方式 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是要发送的
7、即第9位数据位。在多机通信中同样亦要传输这一位,并且它代表传输的地址还是数据,TB8=0为数据,TB8=1时为地址。(5).RB8:接收数据位8。在方式2和方式3中,RB8存放接收到的第9位数据,用以识别接收到的数据特征。 (6).TI:发送中断标志位。可寻址标志位。方式0时,发送完第8位数据后,由硬件置位,其它方式下,在发送或停止位之前由硬件置位,因此,TI=1表示帧发送结束,TI可由软件清“0”。 (7).RI:接收中断标志位。 可寻址标志位。接收完第8位数据后,该位由硬件置位,在其他工作方式下,该位由硬件置位,RI=1表示帧接收完成。2.电源管理寄存器PCON PCON主要是为CHMOS
8、型单片机的电源控制而设置的专用寄存器,单元地址是87H,其结构格式如下: 在CHMOS型单片机中,除SMOD位外,其他位均为虚设的,SMOD是串行口波特率倍增位,当SMOD=1时,串行口波特率加倍。系统复位默认为SMOD=0。PCOND7D6D5D4D3D2D1D0位SMOD_GF1GF0PDIDL3单片机串口工作方式 AT89C51单片机的串行口有4种工作方式,通过SCON中的SM0、SM1位来设置。本系统研究的是单片机之间多机通信,所以主要介绍能实现多机通信的方式2和方式3。 1.方式0同步移位寄存器方式 2.方式18位异步串行通信方式 3.方式29位异步通信接口 若SM0SM1=10B,
9、则串行口工作于方式2.方式2为波特率固定的11位异步串行通信方式,传送波特率与SMOD有关。发送或接受一帧信息位11位,其中包括1位起始位0,8位数据位,1位可编程位(用于奇偶校验或多机通信)和1位停止位1。 1)方式2发送 发送时,根据通信协议由软件设置TB8,然后用指令将要发送的数据写入SBUF,启动发送器。写SBUF的指令,除了将8位数据送入SBUF外,同时还将TB8装入发送移位寄存器的第9位,并启动发送控制器进行一次发送。一帧信息即从TXD发送出去,在送完一帧信息后,TI被自动置1,在发送下一帧信息之前,TI必须由中断服务程序或查询程序清0. 2)方式2接收 当REN=1时,允许串行口
10、接收数据。数据由RXD端输入,当接收器采样到RXD端的负跳变,并判断起始位有效后,开始接收一帧信息,每帧接收11位信息。方式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(pin19
11、)和XTAL2(pin18), XTAL1和XTAL2分别为反向放大器的输入和输出.于pin18、19之间接一个石英振荡器(常用频率在3.58MHZ、6MHZ、11.0592MHZ、12MHZ),并在两端各接一电容接地,电容以30p-40p较为适当。X112MHZC1130pC230p 2键盘电路 在本系统中,主机的数据和控制信号通过串口或键盘输入,为节省单片机I/O口,简化硬件线路,采用4*3矩阵式键盘1。键盘共设有12个键,其中包括数字键和功能键。如图所示,由AT89C51的P1.0-P1.3四条行线和P1.5-P1.7三条列线构成。按键设置在行、列交点上,行。列线分别连接到按键开关两端,
12、列线通过上拉电阻接到+5V上。平时无按键动作时,列线处于高电平状态,而当有键按下时,必须将行、列线信号配合起来作适当处理,才能确定闭合键的位置。键盘中有无键按下是由行线送入全扫描,用列线读列线状态来判断的。键盘中哪个键按下是逐行扫描低电平后,检查列输入状态来确定的。 722#651#94381 0 P11 P10 P12 P13P15P16P17R14.7KR24.7KR34.7K+5V3显示电路1.发光二极管显示电路 如图所示,为主AT89C51单片机基本显示电路,PORT2连接LED后,再接上470欧姆电阻作为限流装置,防治LED烧坏,最后接上VCC供应电源,当 PORT2输出脚为0时,L
13、ED亮,例如控制PORT2.0=0时,第一只LED亮.AT89C51单晶片可控制这些脚位的电压,产生数位信号,经过放大电路,进而控制周边设备.注意当PORT0作为输出口时,必须接上拉电阻.+5V470*8P20P21P22P23P24P25P26P27 2.数码管显示电路 如图所示,为两个从机的显示电路,本系统采用的是一位共阳极数码管作为显示器,当ag为低电平时,发光二极管点亮。其a、b、c、d、e、f、g、dp八个引脚分别接单片机的P2.0-P2.7,中间加一个330欧姆的限流电阻。19共9个数字,共阳极型LED的编码分别为: F9H、A4H、B0H、99H、92H、82H、F8H、80H和90H。R30R29R28R27R26R25R24R23330*8abfcgdeDPY1234567abcdefg8dpdpDS2DPY_7-SEG_DP2软件程序设计软件程序设计1.键盘程序设计1#2#灭789456123键盘扫描消抖延时有无键按下取键盘码功能键?功能键处理程序发送数据返回NYYN2.主机程序设计流程 本系统选用12MHZ晶振,采用2400HZ波特率。程序流程如图4.9所示,其定时器串行口通信的初始化步骤如下: (1)确
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 校本课程国际课程设计
- 2025年山东淄博市市属事业单位综合类岗位招聘工作人员65人历年管理单位笔试遴选500模拟题附带答案详解
- 2025年山东济宁市属事业单位“优才”选聘历年管理单位笔试遴选500模拟题附带答案详解
- 年会董事长致辞
- 2025年山东济南市槐荫区所属事业单位招聘51人历年管理单位笔试遴选500模拟题附带答案详解
- 2025年山东济南信息工程学校招聘人员17人管理单位笔试遴选500模拟题附带答案详解
- 2025年山东枣庄工程技师学院招聘备案制工作人员30人管理单位笔试遴选500模拟题附带答案详解
- 2025年山东文化厅所属事业单位招考工作人员管理单位笔试遴选500模拟题附带答案详解
- 机械原理课程设计网球
- 微课程设计花钟
- 北师大版八年级数学(上册)完全复习知识点+典型例题
- 生活小妙招(修订版)
- 人事入转调离分析报告
- 管道工安全培训课件
- 胃癌的早期预防和筛查
- 汽车安全与法规 (第3版) 课件 第1-3章 汽车安全技术概述、汽车安全技术法规与标准、汽车主动安全性
- 公路工程定额应用-公路工程定额的组成
- 保险行业风控规则与制度培训
- 2022-2023学年佛山市禅城区六年级数学第一学期期末达标测试试题含解析
- 《广联达培训教程》课件
- 扬州育才小学2023-2024六年级数学上册期末复习试卷(一)及答案
评论
0/150
提交评论