基于51单片多机通信报告_第1页
基于51单片多机通信报告_第2页
基于51单片多机通信报告_第3页
基于51单片多机通信报告_第4页
基于51单片多机通信报告_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

单片机原理与应用课程设计报告课程设计:单片机串行多机通信专业班级:学生姓名:学号:指导教师:设计时间:成绩:信电工程学院徐州工程学院单片机原理及应用课程设计目录1.绪论..............................................................11.1串行通信简介.................................................11.2串行多机通信背景与研究意义...................................11.3课题设计主要研究目的........................................12系统整体方案设计..................................................32.1系统的基本方案...............................................32.2各模块方案选择...............................................3单片机的选择...........................................3键盘的选择.............................................3显示模块的选择.........................................43系统的硬件设计与实现..............................................53.1系统硬件归纳.................................................53.2主机电路模块.................................................5单片机.................................................5矩阵键盘电路...........................................6控制电路...............................................7复位电路模块...........................................73.3从机电路模块.................................................84.系统的软件设计....................................................84.1软件设计应用环境与设计语言...................................94.2软件设计流程.................................................9主机软件设计流程图.....................................9从机软件设计流程图....................................104.3串口通信....................................................105系统仿真设计.....................................................135.1Proteus软件介绍...........................................135.2Proteus仿真图.............................................135.3硬件调试...................................................145.4调试结果....................................................146结论.............................................................15参照文件...........................................................16附录...............................................................17附录1:元件清单与硬件图........................................17附录2:C语言源程序............................................18附录3:电路原理图..............................................24I徐州工程学院单片机原理及应用课程设计绪论1.1串行通信简介串行通信能够分为同步通信和异步通信两类。同步通信是一种连续串行传达数据的通信方式,一次通信只传达一帧信息。这里的信息帧与异步通信中的字符帧不相同,平时含有若干个数据字符。它们均由同步字符、数据字符和校验字符组成。其中同步字符位于帧开头,用于确认数据字符的开始。数据字符在同步字符此后,个数没有限制,由所需传输的数据块长度来决定;校验字符有1到2个,用于接收端对接收到的字符序列进行正确性的校验。同步通信的缺点是要求发送时钟和接收时钟保持严格的同步。异步通信中,在异步通行中有两个比较重要的指标:字符帧格式和波特率。数据平时以字符也许字节为单位组成字符帧传达。字符帧由发送端逐帧发送,经过传输线被接收设备逐帧接收。发送端和接收端能够由各自的时钟来控制数据的发送和接收,这两个时钟源互相独立,互不相同步。接收端检测到传输线上发送过来的低电平逻辑"0"(即字符帧初步位)时,确定发送端已开始发送数据,每当接收端收到字符帧中的停止位时,就知道一帧字符已经发送达成。1.2串行多机通信背景与研究意义随着近代电子科技的飞速发展,单片机作为电子领域的新兴产品广泛应用于工业控制、智能仪器仪表,机电一体化等领域,在各行各业中起重视要作用,由于单片机的使用,越来越多的系统开始向智能化方向发展。多机串行通信也是单片机的一个重要方面。利用单片机的串口通信能够实现多单片机之间的数据的远程传输、数据解析与系统综合控制功能,特别是在数据量比较大的场合下,利用一个主机向各个从机发送控制指令是一个很好的解决方案,在这个过程中,串口通信是实现单片机与单片机之间通信的要点串行通信作为单片机之间常用的通信方法之一,由于其通信编程灵巧、硬件简洁并依照一致的标准,因此其在工业控制领域获取了广泛的应用。单片机家族弘大,种类丰富,体积小,功耗低,使用灵巧方便,控制能力强,其中流行的单片机有Atmel公司的51系列单片机等,AT8951系列单片机由于廉价,品种丰富而获取了广泛使用。1.3课题设计主要研究目的单片机的多机通信系统平时采用主从模式,用一个单片机作为主机,其他1徐州工程学院单片机原理及应用课程设计单片机作为从机与主机进行通信。利用现代虚假仿真技术可对设计进行仿真实验,与单片机仿真联系亲密的为proteus仿真,利用keil软件设计单片机控制系统,尔后与proteus进行结合调试,可对设计的正确性进行检验。此次课题是三个单片机实现主从式串行通信的系统,主机发送数据到从机,并在LED数码管上显示。并且经过接在主机上的键盘输入数据,经过主机发送到从机。2徐州工程学院单片机原理及应用课程设计系统整体方案设计2.1系统的基本方案本次设计经过使用三块AT89C51单片机芯片实现主从式单片机多机通信,主机经过键盘读取键值,并发送给指定的从机,从机依照接收到的地址信息判断是否接收数据,若接收数据,则经过数码管显示。系统设计框图如图2-1所示:图2.1系统设计框图主机P1口与4X4键盘相连,用来读取数据,经过P0口确定要接收数据的从机的地址。每个从机连接一位共阳极数码管,P1.0和P1.1分别接地,用来作为地址选择信号。,每个从机P3.2口连接LED,LED的点亮标志该从机工作。主机的TXD接口分别与从机1和从机2的RXD口相连,主机的RXD接口分别与从机1和从机2的TXD口相连,作为通信线路2.2各模块方案选择单片机的选择采用STC89C51单片机,它是一种低功耗、高性能CMOS8位微控制器,拥有8K在系统可编程Flash储藏器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C51为众多嵌入式控制应用系统供应高灵巧、超有效的解决方案。键盘的选择3徐州工程学院单片机原理及应用课程设计采用4*4矩阵式键来控制,把按键按行列组成矩阵,在行列交点上都对应有一个键,这样使用的按键要少,为判断有无键被按下以及被按键的地址,这种称为键扫描法。这样诚然提高了编程难度,但是节约了单片机大量的I/O口,免去了上拉电阻为焊接带来了方便,提高了整块电路板的雅观度。显示模块的选择采用八段数码管显示模块,同从机地址与主机地址吻合时,相应的发光二极管点亮。4徐州工程学院单片机原理及应用课程设计系统的硬件设计与实现3.1系统硬件归纳本设计包括主机部分和从机两个部分,单片机之间经过串口进行通信,主机经过按键来选纲要进行通信的从机,进而经过按键控制从机的数码管显示数字;同时从机能够经过按键控制主机连接的LED灯。数码管与单片机的连接方式采用并行连接方式。其中用到的硬件有单片机,矩阵键盘,发光二极管等。3.2主机电路模块单片机AT89C51单片机内部主要由9个部件组成:1个8位中央办理器;4KBFlash储藏器;128B的数据储藏器;32条I/O口线;2个准时器/计数器;1个拥有6其中断源、4个优先级的中断嵌套结构;用于多办理机通信、I/O扩展或全双工UART的串行口;特别功能寄存器;1个片内振荡器和时钟电路。AT89S51系列单片机完满继承了MCS-51的指令系统,共有111条指令,按其功能可分为五大类:数据传达类指令、算术运算类指令、逻辑运算类指令、控制转移类指令、布尔操作。AT89C51单片机引脚如图3-1所示。图3.1AT89C51单片机引脚图管脚说明:P0口:8位、漏极开路的双向I/O口。P0能够用于外面程序数据储藏器。它能够被定义为数据/地址的第八位。P0口在应用时必定外接上拉电阻,作为输5徐州工程学院单片机原理及应用课程设计入时,第一应将引脚置1。P1口:8位双向I/O口,内部含上拉电阻。作为输入时,应先将引脚置高;若负载为低电平,则经过内部上拉电阻向外输出电流。P2口:8位双向I/O口,内部含上拉电阻。作为输入时,应先将引脚置高;若负载为低电平,则经过内部上拉电阻向外输出电流。P3口:8位双向I/O口,内部含上拉电阻。作为输入时,应先将引脚置高;若负载为低电平,则经过内部上拉电阻向外输出电流。P3口除了通用I/O口功能外,还有第二功能。P3口的第二功能定义如表3-1所示。表3.1P3口第二功能定义引脚定义功能引脚定义功能P3.0-RXD串行输入口P3.1-TXD串行输出口P3.2-INT0外面中断0P3.3-INT1外面中断1P3.4-T0计时器0外面输入P3.5-T1计时器1外面输入P3.6-WR外面数据储藏器写选通P3.7-RD外面数据储藏器读选通RST:复位输入,低电平有效。ALE/PROG:地址锁存赞同信号输出。在正常操作状态下,该引脚端口输出恒定频率的脉冲。其频率为晶振频率的1/6,可用作外面准时或其他触发信号。如果需要,可经过SFR的第0地址禁止ALE操作,但ALE的禁止位不影响对外面存储器的接见。PSEN:片外程序储藏器选通信号,低电平有效。当AT89S51执行来自外面程序储藏器的指令代码时,PSEN/每个机器周期两次有效。在接见外面数据储藏器时,PSEN/无效。EA/VPP:EA片外程序储藏器接见赞同信号,低电平有效。XTAL1:外接晶振。在单片机内部是反相放大器的输入及端。XTAL2:外接晶振。在单片机内部是反相放大器的输出端,输入到内部时钟发生器。3.2.2矩阵键盘电路矩阵键盘电路如图3-2所示。单片机的P1口控制矩阵键盘。本设计采用4*4矩阵键盘。矩阵键盘的行线接P1.0-P1.3引脚,列线接P1.4-P1.7引脚。将6徐州工程学院单片机原理及应用课程设计P1.0-P1.3引脚置为高电平,P1.4-P1.7引脚依次置为低电平,当按键没有按下时,P1.0-P1.3口各引脚状态不变,一旦有按键按下,则P1.0-P1.3就会有引脚变为低电平,这样,经过读入P1.0-P1.3的状态即可得知是哪一个按键按下了,尔后单片机依照该按键代表的功能执行相应的程序。图3-2矩阵键盘电路原理图3.2.3控制电路单片机的时钟的频率直接影响着单片机的速度和系统的牢固性。AT89S51片内由一个反相放大器组成振荡器,能够经过XTAL1和XTAL2产生时钟。常用的单片机产生时钟的方法有两种:内部时钟方式和外面时钟方式。本设计采用外面时钟方式,单片机内部XTAL1引脚为高增益反向放大器的输入端,XTAL2为输出端,在这2个引脚之间接石英晶振和电容,就可以组成一个牢固的自激振荡器。本设计采用的12MHz的晶振。电路原理图如图3-3所图3-3时钟电路3.2.4复位电路模块复位是单片机的初始化操作,复位信号是高电平有效,复位操作有上电自动复位、按键电平复位、外面脉冲复位和自动复位四种方式。在本设计中复位采用7徐州工程学院单片机原理及应用课程设计上电自动复位,当接通电源的刹时,RST端与Vcc同电位,随着电容的电压逐渐上升,RST端的电压也逐渐下降,于是在RST端便形成了一个正脉冲,只要该正脉冲的宽度连续两个周期的高电平,就可以实现系统的自动复位,复位电路原理图如图3-4所示图3-3上电复位电路3.3从机电路模块本设计共设置2路从机,2路从机的电路设计和实现的功能是相同的,因此这里只介绍其中一路从机的电路设计。从机的P0口连接共阳极数码管。P0口的0~7引脚分别接数码管的a~dp引脚。数码管采用静态工作方式。数码管引脚图与接线原理图如图3-5和图3-6所示。图3-5数码管引脚图图3-6数码管连线图8徐州工程学院单片机原理及应用课程设计系统的软件设计4.1软件设计应用环境与设计语言本设计软件的设计是在KeilC51的环境下编译的。KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,软件供应丰富的库函数和功能富强的集成开发调试工具,全Windows界面。KeilC51标准C编译器为8051微控制器的软件开发供应了C语言环境,同时保留了汇编代码高效、快速的特点。4.2软件设计流程4.2.1主机软件设计流程图主机软件设计流程图如图4-1所示。开始初始化按键扫描主机发送地址帧Y从机可否应答?

N经过串口向从机发送数据从机接收数据结束图4.1主机软件设计流程图9徐州工程学院单片机原理及应用课程设计从机软件设计流程图从机软件设计流程图如图4-2所示。开始初始化按键选中从机N地址可否吻合?YLED点亮,赞同主从通信数码管送显N可否有键按下?Y从机接收数据从机数码管显示数据结束图4.2从机软件设计流程图4.3串口通信AT89S51的串行口是一个全双工的异步串行通信口,能够同时进行接收数据和发送数据,由于口内的接受缓冲器和发送缓冲器在物理上是隔断的,即是完满独立的。能够经过接见特别功能寄存器SBUF,来接见接收缓冲器和发送缓冲器。接收缓冲器还拥有双缓冲的功能,即它在接收第一个数据字节后,能接受第二个数据字节,但是,在它达成接收第二个数据字节此后,若第一个字节仍未取走,那么该字节数据将扔掉。对串行口的控制主要包括对状态控制寄存器SCON、控制寄存器PCON、和串行数据寄存器SBUF的设置。1、状态控制寄存器SCON:SCON是一个逐位定义的8位寄存器,由它控制串10徐州工程学院单片机原理及应用课程设计行通信的方式选择、接收和发送,指示串行口的状态。寄存器SCON既可字节寻址也可位寻址,字节地址为98H,位地址为98H-9FH。其格式以下表4-1所示:表4.1SCON地址格式位地址9FH9EH9DH9CH9BH9AH99H98H位功能SM0SM1SM2RENTB8RB8TIRISM0,SM1:串行口工作方式选择位;SM2:赞同方式2、3中的多办理机通信位;REN:赞同串行接收位,置位时,赞同串行接收,除去时,禁止串行接收,可用软件置位/除去;TB8:方式2和方式3中要发送的第9位数据,可用软件置位/除去;RB8:方式3和方式3中接收的第9位数据。方式1中接收的是停止位,方式0中不使用这一位。TI:发送中断标志位,硬件置位,软件除去。方式0中,在发送第8位尾端置位,在其他方式时,在发送停止位开始时设置;RI:接收中断标志位。硬件置位,软件除去。方式0中,在接收第8位尾端置位,在其他方式时,在接收停止位中间设置。2、控制寄存器PCON:PCON是一个逐位定义的8位寄存器,目前仅有几位有定义,其中仅最高位SMOD与串行口控制有关,其他位与掉电方式有关,其格式如表4-2所示。表4.2PCON地址格式D7D6D5D4D3D2D1D0SMOD------GF1GF0PDIDLSMOD:串行通信波特率系数控制位,当SMOD=1时,使波特率加倍。寄存器PCON的地址为87H,只能字节寻址。3、串行数据寄存器SBUF:SBUF包括在物理上隔断的两个8位寄存器:发送数据寄存器和接受数据寄存器,但是它们共用一个地址99H,其格式以下表4-3所示。表4.3数据寄存器格式D7D6D5D4DD2D1D0SD7SD6SD5SD4SD3SD2SD1SD0串行口控制寄存器SCON中的SM2为方式2或方式3的多机通信控制位,当串行口以方式2或方式3工作时,若SM2程控位为1,此时只有当串行口就收到的第9位数据RB8=1时,才置1中断标志RI,若接收到的RB8=0,则不产生中断标志,应用MCS-51串行口的这个标志,即可实现多机通信。在一个多机系统中有一个主机和二个从机组成的多机系统,从机的地址分别为00H,01H,从机系统由初始化程序将串行口编程为方式2或方式3接收,即911徐州工程学院单片机原理及应用课程设计位异步通信方式,且置“1”SM2和REN,赞同串行口中断。在主机和某一个从机通信从前,先将从机地址发送给各个从机系统。接着才传达数据或命令,主机发出的地址信息的第9位为1,数据(包括命令)信息的第9位为0,当主机向各从机发送地址时,各从机的串行口接收到的第9位的信息RB8为1,置“1”RI中断标志位,各从机80C51响应中断,执行中断服务程序。在中断服务程序中,判断主机送来的地址可否和本机地址相吻合,若为本机的地址,则清“0”SM2位,准备接收主机的数据或命令;若地址不吻合,则保持SM2=1状态。接着主机发送数据,此时各个从机串行口接收到的RB8=0;只有与前面地址相吻合的从机系统(即已清“0”SM2位的从机)才能激活中断标志位RI,进而进入中断服务程序,在中断服务程序中接收主机的数据或执行主机的命令,实现和主机的信息传达;其他的从机因SM2保持为1,又RB8=0不激活中断标志RI,所接收的数据扔掉不作办理,进而保证了主机和从机间通信的正确性。本次设计多机系统为主从式,由主机控制多机之间的通信,从机和从机之间的通信只能经主机才能实现。12徐州工程学院单片机原理及应用课程设计系统仿真设计5.1Proteus软件介绍Proteus软件是英国Labcenterelectronics公司初版的EDA工具软件。它不但拥有其他EDA工具软件的仿真功能,还能够仿真单片机及外面器件。它是目前最好的仿真单片机及外面器件的工具。Proteus是世界上出名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外面电路共同仿真,一键切换到PCB设计,真确实现了从看法到产品的完满设计。在PROTEUS绘制好原理图后,调入已编译好的目标代码文件:*.HEX,能够在PROTEUS的原理图中看到模拟的实物运行状态和过程。使用Proteus软件进行单片机系统仿真设计,是虚假仿真技术和计算机多媒体技术相结合的综合运用,有利于培养学生的电路设计能力及仿真软件的操作能力;实践证明,在使用Proteus进行系统仿真开发成功此后再进行实质制作,能极大提高单片机系统设计效率。因此,Proteus有较高的实行利用价值。5.2Proteus仿真图图5-1串行多机通信软件仿真图13徐州工程学院单片机原理及应用课程设计5.3硬件调试所有器件按电路原理图焊接达成后,接上导线,放入三节电池,接通电源,按下开关。相应的从机对应的发光二极管点亮,按下键盘,相应数码管上显示键值。调试过程中先检查pcb版各个点可否焊接错,连线正确,保证线没有绕道一起。调试途中由于两从机1.0口同时接地,经过更正第一从机1.0口接地,第二从机1,1口接地。显示结果正确。5.4调试结果刚开始调试其实不是很顺利,诚然很小心但调试过程中仍出现了好多的问题,第一电路比较难焊接,必定再加小心省得出现问题难以排查。还有电路中需接电源正负极的线比很多也要很仔细的去焊接。刚开始调试两个按键同事控制两个发光二极管而不是各自控制,经过同学帮忙大家努力后终于正确的调试出了结果。14徐州工程学院单片机原理及应用课程设计结论本次课程设计是设计单片机行多机通信,此次课程设计不只是要掌握模单片机书本上的理论基础,还需要我们锻炼自己的着手能力。此次课程设计用时2周,需要用到ProteusISIS绘图,同时也用到keil编程,仿真考据程序正确。软件对女生而言还好一点,最后一步焊接硬件有点困难,由于平时没练过焊接,刚开始的矩阵键盘就焊错了,此后又重新用吸锡器吸掉,列线扫描用导线代替了。焊接过程遇到好多问题,终于焊接达成后,又发现从机两个灯只受一个开关控制,刚开始以为开关那块中断函数出现问题,又返回去重新改程序,给单片机刷入程序第2次考据,还是没有调试正确。最后终于发现了问题,原来是硬件焊接时,想自然的两从机的P1.0口都接地,于是回去将第2个从机P1.1口接地,果然调试正确。调试成功后真的很快乐,由于第一次焊接,因此表面不太雅观,课件,各个元器件的布局真的很重要。第一次做单片机硬件,确实让我学到了好多东西,很感谢此次的实践机遇。此次实验从开始准备到焊接硬件达成,诚然短短一点时间,但是它充分了我们的生活,让我们增添了知识,提高了学习能力,一些软件的使用,芯片的管教,电解电容的正负极,等等一些细微的东西,都需要自己去图书馆也许网上找相应的资料。此次小课程设计对今后的课程设计都有帮助,提前锻炼了我们的能力,同时也感谢实验室的同学的指导以及高老师的指导,让我顺利的达成了课程设计。此次实验很充分。15徐州工程学院单片机原理及应用课程设计参照文件1】高玉芹单片机原理与应用及C51编程技术【M】.北京:机械工业初版社。2】刘泉溪单片机原理与应用实验教程【M】北京航空航天大学初版社。3】孙育才.MCS-51系列单片微型计算机及其应用【M】东南大学初版社,16徐州工程学院单片机原理及应用课程设计附录附录1:元件清单与硬件图元件清单:发光二极管LED-green*2个晶振CRYSTAL,12MHz*3个排阻RESPACK-8*1个AT89C51芯片*3片按键Button*16个电解电容10uf*3个8段数码管*2个电容30p*3个电阻2k*3个开关*2个硬件实物图:17徐州工程学院单片机原理及应用课程设计附录2:C语言源程序主机程序:#include<reg51.h>#include<string.h>#defineucharunsignedcharucharbuf;ucharaddr,get_key,key;voiddelay(uchart){uchari;while(t--){for(i=0;i<125;i++);}}ucharkeyscan(void){ucharscancode,tmpcode;P1=0xf0;if((P1&0xf0)!=0xf0){delay(10);if((P1&0xf0)!=0xf0){scancode=0xfe;while((scancode&0x10)!=0){P1=scancode;if((P1&0xf0)!=0xf0){tmpcode=(P1&0xf0)|0x0f;return((~scancode)+(~tmpcode));18徐州工程学院单片机原理及应用课程设计}elsescancode=(scancode<<1)|0x01;}}}return(0);}voidsenddata(ucharbuf){TI=0;TB8=0;SBUF=buf;while(!TI);TI=0;}voidGetkey(){switch(get_key){case0x11://1行1列,数字0key=0xc0;break;case0x21://1行2列,数字1key=0xf9;break;case0x41://1行3列,数字2key=0xa4;break;case0x81://1行4列,数字3key=0xb0;break;case0x12://2行1列,数字419徐州工程学院单片机原理及应用课程设计key=0x99;break;case0x22://2行2列,数字5key=0x92;break;case0x42://2行3列,数字6key=0x82;break;case0x82://2行4列,数字7key=0xf8;break;case0x14://3行1列,数字8key=0x80;break;case0x24://3行2列,数字9key=0x90;break;case0x44://3行3列,10key=0x88;break;case0x84://3行4列,11key=0x83;break;case0x18://4行1列,12key=0xc6;break;case0x28://4行2列,13key=0xa1;break;case0x48://4行3列,14key=0x86;break;case0x88://3行4列,15key=0x8e;20徐州工程学院单片机原理及应用课程设计break;default:break;}}voidmain(){uchari=0;key=0xc0;while(1){get_key=keyscan();Getkey();buf=key;P0=0xff;addr=P0&0x0f;TMOD=0x20;TH1=0xfd;TL1=0xfd;TR1=1;SCON=0xd0;EA=0;TI=0;TB8=1;SBUF=addr;while(!TI);TI=0;senddata(buf);}}21徐州工程学院单片机原理及应用课程设计从机程序:#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintucharbuf;ucharaddr;sbitP23=P2^3;voiddelay(uchart){uchari;while(t--){for(i=0;i<125;i++);}}ucharrecvdata(){while(!RI);if(RB8==1)return0xff;buf=SBUF;RI=0;return0;

温馨提示

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

评论

0/150

提交评论