双机通信系统单片机课程设计.doc
《双机通信系统单片机课程设计.doc》由会员分享,可在线阅读,更多相关《双机通信系统单片机课程设计.doc(24页珍藏版)》请在咨信网上搜索。
1、设计概况21 总体设计31.1 设计要求31.2 设计方案32 双机通信硬件设计42.1 AT89C51简介42.2 AT89C51串行口的工作方式52.3 晶振电路设计82.4 复位电路设计82.5 接口电路的设计92.6 输入输出电路设计113 双机通信软件设计133.1 串行通信软件实现133.2 串行通信程序流程133.3 程序清单164 软件仿真205 硬件连接216 设计总结23参考文献24设计概况要构成一个较大规模的控制系统,常常需要采用多机控制实现,而AT89C51单片机有一个异步通信方式的全双工串行接口,可以方便地构成双机、多机系统。而串行通信也成为单片机与单片机、单片机与上
2、位机之间进行数据传输的主要方式,是一种适用于远距离通信的数据传输方式。串行通信是单片机的一个重要应用。本次课程设计就是要利用单片机来完成一个系统,实现双片单片机串行通信。通信的结果实用数码管进行显示,数码管采用查表方式显示。两个单片机之间采用RS232进行双机通信。在通信过程中,使用通信协议进行通信。关键词:单片机;串行通信;接口1 总体设计1.1 设计要求设计一个单片机双机通信系统,单片机A接1个8位按键开关,单片机B接8个发光二极管,通过串行通信实现由A机拨码开关控制B机发光二极管的亮灭。1.2 设计方案本次设计,对于两片AT89C51,采用RS-232进行双机通信。如图1所示,发送方的数
3、据由串行口TXD段输出,经过电平转换芯片MAX232将TTL电平转换为RS-232电平输出,经过传输线将信号传送到接收端。接收方也使用MAX232芯片进行电平转换后,信号到达接收方串行口的接收端。接收方接收后,在LED二极管上显示接收的对应信息。晶振电路复位电路8路拨码开关电路发送机接收机接口接口晶振电路复位电路显示电路 图1 双机通信系统原理框图 软件部分,通过通信协议进行发送接收,发送机先送联络信号给接收机,当接收机接收到联络信号后,向发送机回答一个应答信号,表示同意接收。发送机收到应答信号后开始发送数据,每发送一个数据块字节都要计算“校验和”,假定数据长度为16个字节,起始地址为40H,
4、一个数据块发送完毕后立即发送“校验和”。接收机接收数据并存入数据缓冲区起始地址也为40H,每接收到一个数据字节便计算一次“校验和”,当接收到一个数据块后,在接受发送机发来的“校验和”,并将它与接收机计算的校验和进行比较。若二者相等,说明接受正确,接收机回答00H,发送机结束发送;若二者不等,说明接受不正确,接收机回答0FFH,请求重发,发送机重新发送数据一次。接收机接收到数据后通过发光二极管LED显示发送机的发送状态。2 双机通信硬件设计 2.1 AT89C51简介AT89C51 是一个带有4k 字节存储器的单片机,它具有128字节内部RAM;32 个I/O 口线和;两个16位定时/计数器,一
5、个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。如图2所示,DIP40封装的AT89C51的各个引脚及其功能。 图2 AT89C51单片机引脚封装AT89C51单片机各个引脚功能如下:(1)电源几时钟引脚VCC(40号引脚):电源接入引脚VSS(20号引脚):接地引脚XTAL1(19号引脚):晶振接入的一个引脚XTAL2(18号
6、引脚):晶振接入的另一个引脚(2) 控制线引脚RST/VPD(9号引脚):复位信号输入引脚/备用电源输入引脚ALE/(30号引脚):地址锁存允许信号输出引脚/编程脉冲输入引/(31号引脚):内外存储器选择引脚/片内EPROM编程电压输入引脚(29号引脚):外部程序存储器选通信号输出引脚(3) I/O引脚P0.0P0.7(3932号引脚):一般I/O口引脚/低位地址总线引脚P1.0P1.7(18号引脚):一般I/O口引脚P2.0P2.7(2128号引脚):一般I/O口引脚/高位地址总线引脚P3.0P3.7(1017号引脚):一般I/O口引脚或第二功能引脚P3.0(10号引脚):RXD串行口输入P
7、3.1(11号引脚):TXD串行口输出P3.2(12号引脚):外部中断0输入P3.3(13号引脚):外部中断1输入P3.4(14号引脚):T0定时器0的外部输入P3.5(15号引脚):T1定时器1的外部输入P3.6(16号引脚):片外数据存储器“写”选通控制输出P3.7(17号引脚):片外数据存储器“读”选通控制输出2.2 AT89C51串行口的工作方式 AT89C51的串行口是一个可编程全双工的通信接口,具有通信异步接受和发送的全部功能,能同时进行数据的接收和发送,也可作为同步移位寄存器使用。AT89C51的串行口主要由两个独立的串行数据缓冲寄存器SBUF(一个发送缓冲寄存器,一个接收缓冲寄
8、存器),串行口控制寄存器、输入移位寄存器及若干控制门电路组成。(1) 串行口数据缓冲寄存器SBUF AT89C51可以通过特殊功能寄存器SBUF的读写操作,实现对串行接收或串行发送寄存器的访问,串行接收和串行发送寄存器在串行口内部是两个独立的存储单元,共用同一个地址99H。串行口数据传送使用的是内部数据传送指令“MOV A,SBUF”或“MOV SBUF,A”.当执行写操作时,访问串行发送寄存器;当执行读操作时,访问串行接收寄存器。(2) 串行口控制寄存器SCONAT89C51串行口工作的设定、接收与发送控制的设置都是通过对串行口控制寄存器SCON的编程确定的。SCON是一个特殊功能寄存器,其
9、地址为98H,可位寻址,其各位的作用定义如下:表2 控制寄存器SCON9FH9EH9DH9CH9BH9AH99H98HSCON(98H)SM0SM1SM2RENTB8RB8TIRI SM0、SM1:串行口工作方式选择位,工作方式选择如表2所示。其中是晶体振荡器的频率。SM2:多机通信控制位。在方式0下,SM2应为0;在方式1下,如果SM2=0,则只有收到有效的停止位时才会激活RI;在方式2和方式3下,如置SM2=1则只有收到第9位数据为1时,RI被激活(RI=1,申请中断,要求CPU取走数据)。REN:允许接收控制位。由软件置位或清零。REN=1,允许接收;REN=0,禁止接收。TB8:在方式
10、2和方式3下,存放要发送的第9位数据,常用作奇偶校验位。在多机通信中,可作为区别地址帧或数据帧的标识位,若为地址帧,TB8=1;若为数据帧,TB8=0。RB8:在方式2和方式3下,存放接收到的第9位数据;在方式1下,如SM2=0,则该位为接收到的停止位;方式0不用此位。TI:发送中断标志。在方式0下,发送完第8位数据位时,由硬件置位;在其他方式下,当开始发送停止位时,由硬件将TI置位,即是向CPU申请中断,CPU可以发送下一帧数据。在任何方式下,TI必须由软件清零。RI:接收中断标志。在方式0下,接收完第8位数据时,由硬件置位;在其他方式下,当接收到停止位时RI置位,即申请中断,要求CPU取走
11、数据。它必须由软件清零。表3 串行口工作方式选择SM0SM1方式功能波特率SM0SM1方式功能波特率000同步移位寄存器/1210211位UART/16或/3201110位UART可变11311位UART可变 本设计发送机串行口的工作方式为方式1,即控制寄存器SCON中内容如下:表4 发送机控制寄存器SCON9FH9EH9DH9CH9BH9AH99H98HSCON(98H)SM0SM1SM2RENTB8RB8TIRI01000000 接收机的串行口的工作方式为方式1,即控制寄存器SCON中内容如下:表5 接收机控制寄存器SCON9FH9EH9DH9CH9BH9AH99H98HSCON(98H)
12、SM0SM1SM2RENTB8RB8TIRI01010000串口以方式1发送,由CPU执行一条写发送寄存器指令“MOV SBUF,A”,就可将数据位逐一由TXD端发送。当发送一帧数据后,将TI置1。串口以方式1接受,需控制SMOD中的REN为1(SMOD为特殊功能寄存器PCON的最高位),此时对RXD引脚进行采样,当采样到起始位置有效时,开始接收数据。当一帧数据接收完毕,且RI=0,SM2=0或接收到RB8=1时,接收数据有效,此时可利用读接收寄存器指令“MOV A,SBUF”将数据送入CPU。同时将RI置1。若要再次发送或接收数据,必须将TI、RI清零。(3)波特率的计算根据表2可知串口工作
13、方式方式1时一帧数据为10位(8位数据位,起始位、停止位各1位)。其传输波特率是可变的,由定时器T1的溢出率来决定。波特率=当T1作为波特率发生器时,最典型的用法是使T1工作在自动再装入的8位定时器方式(即方式2,且TCON的TR=1,以启动定时器)。这时溢出率取决于TH1中的计数值。在单片机的应用中,常用的晶振频率为:12MHz和11.0592MHz。在本设计中晶振频率采用=11,。0592MHz。即波特率为 波特率=2.3 晶振电路设计AT89C51单片机内部有一震荡电路,只要在单片机的XTL1(19号)和XTAL2(18号)引脚外接石英晶体(简称晶振)就构成了自激振荡器并在单片机内部产生
14、时钟脉冲信号。如图3所示,图中电容器C1和C2的作用是稳定频率和快速起振,电容值为530pF,典型值为30pF,本设计取30pF。晶振CYS的振荡频率范围为1.2MHz12MHz,典型值为12MHz和6MHz,本设计取12MHz。图3 晶振电路2.4 复位电路设计AT89C51单片机的RST(9号)引脚引入高电平并保持两个机器周期时,单片机内部就执行复位操作。在实际中AT89C51通常有两种操作方式复位,一种是上电复位;另一种是按键上电复位。在双机通信系统的设计中使用按键上电复位,如图4所示。 图4 复位电路 单片机复位后进入初始化状态。初始化后,程序计数器PC=0000H,所以程序从0000
15、H地址单元开始执行。单片机启动后,片内RAM为随机值,运行中的复位操作不改变片内RAM的内容。特殊功能寄存器复位后的状态是确定的。P0P3为FFH,SP为07H,SBUF不定,IP、IE和PCON的有效位为0,其余的特殊功能寄存器的状态均为00H。2.5 接口电路的设计(1) 直接通信单片机与单片机进行双击串行通行时,可将两个单片机的串口直接连接,接线图如图5所示,这种接线传输距离短,抗干扰能力差。图5 直接通信接线图(2)串口通信单片机与单片机进行双击串行通行时,AT89C51串行接口的信号电平为TTL类型,抗干扰性差、传输距离短。为了提高串行通信的靠抗性,延长通信距离,一般设计采用标准的串
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 双机 通信 系统 单片机 课程设计
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。