单片机原理与应用课程设计报告课程设计:单片机串行多机通信专业班级:学生姓名:学号:指导教师:设计时间:成绩:信电工程学院徐州工程学院单片机原理及应用课程设计I目录1.绪论..............................................................11.1串行通信简介.................................................11.2串行多机通信背景与研究意义...................................11.3课题设计主要研究目的........................................12系统整体方案设计..................................................32.1系统的基本方案...............................................32.2各模块方案选择...............................................32.2.1单片机的选择...........................................32.2.2键盘的选择.............................................32.2.3显示模块的选择.........................................43系统的硬件设计与实现..............................................53.1系统硬件概述.................................................53.2主机电路模块.................................................53.2.1单片机.................................................53.2.2矩阵键盘电路...........................................63.2.3控制电路...............................................73.2.4复位电路模块...........................................73.3从机电路模块.................................................84.系统的软件设计....................................................84.1软件设计应用环境与设计语言...................................94.2软件设计流程.................................................94.2.1主机软件设计流程图.....................................94.2.2从机软件设计流程图....................................104.3串口通信....................................................105系统仿真设计.....................................................135.1Proteus软件介绍...........................................135.2Proteus仿真图.............................................135.3硬件调试...................................................145.4调试结果....................................................146结论.............................................................15参考文献...........................................................16附录...............................................................17附录1:元件清单与硬件图........................................17附录2:C语言源程序............................................18附录3:电路原理图..............................................24徐州工程学院单片机原理及应用课程设计11.绪论1.1串行通信简介串行通信可以分为同步通信和异步通信两类。同步通信是一种连续串行传送数据的通信方式,一次通信只传送一帧信息。这里的信息帧与异步通信中的字符帧不同,通常含有若干个数据字符。它们均由同步字符、数据字符和校验字符组成。其中同步字符位于帧开头,用于确认数据字符的开始。数据字符在同步字符之后,个数没有限制,由所需传输的数据块长度来决定;校验字符有1到2个,用于接收端对接收到的字符序列进行正确性的校验。同步通信的缺点是要求发送时钟和接收时钟保持严格的同步。异步通信中,在异步通行中有两个比较重要的指标:字符帧格式和波特率。数据通常以字符或者字节为单位组成字符帧传送。字符帧由发送端逐帧发送,通过传输线被接收设备逐帧接收。发送端和接收端可以由各自的时钟来控制数据的发送和接收,这两个时钟源彼此独立,互不同步。接收端检测到传输线上发送过来的低电平逻辑0(即字符帧起始位)时,确定发送端已开始发送数据,每当接收端收到字符帧中的停止位时,就知道一帧字符已经发送完毕。1.2串行多机通信背景与研究意义随着近代电子科技的飞速发展,单片机作为电子领域的新兴产品广泛应用于工业控制、智能仪器仪表,机电一体化等领域,在各行各业中起着重要作用,由于单片机的使用,越来越多的系统开始向智能化方向发展。多机串行通信也是单片机的一个重要方面。利用单片机的串口通信可以实现多单片机之间的数据的远程传输、数据分析与系统综合控制功能,尤其是在数据量比较大的场合下,利用一个主机向各个从机发送控制指令是一个很好的解决方案,在这个过程中,串口通信是实现单片机与单片机之间通信的关键串行通信作为单片机之间常用的通信方法之一,由于其通信编程灵活、硬件简洁并遵循统一的标准,因此其在工业控制领域得到了广泛的应用。单片机家族庞大,种类丰富,体积小,功耗低,使用灵活方便,控制能力强,其中流行的单片机有Atmel公司的51系列单片机等,AT8951系列单片机由于廉价,品种丰富而得到了广泛使用。1.3课题设计主要研究目的单片机的多机通信系统通常采用主从模式,用一个单片机作为主机,其他徐州工程学院单片机原理及应用课程设计2单片机作为从机与主机进行通信。利用现代虚拟仿真技术可对设计进行仿真实验,与单片机仿真联系紧密的为proteus仿真,利用keil软件设计单片机控制系统,然后与proteus进行联合调试,可对设计的正确性进行检验。此次课题是三个单片机实现主从式串行通信的系统,主机发送数据到从机,并在LED数码管上显示。并且通过接在主机上的键盘输入数据,通过主机发送到从机。徐州工程学院单片机原理及应用课程设计32系统整体方案设计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各模块方案选择2.2.1单片机的选择采用STC89C51单片机,它是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C51为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。2.2.2键盘的选择徐州工程学院单片机原理及应用课程设计4采用4*4矩阵式键来控制,把按键按行列组成矩阵,在行列交点上都对应有一个键,这样使用的按键要少,为判定有无键被按下以及被按键的位置,这种称为键扫描法。这样虽然提高了编程难度,但是节约了单片机大量的I/O口,免去了上拉电阻为焊接带来了方便,提高了整块电路板的美观度。2.2.3显示模块的选择采用八段数码管显示模块,同从机地址与主机地址符合时,相应的发光二极管点亮。徐州工程学院单片机原理及应用课程设计53系统的硬件设计与实现3.1系统硬件概述本设计包括主机部分和从机两个部分,单片机之间通过串口进行通信,主机通过按键来选择要进行通信的从机,进而通过按键控制从机的数码管显示数字;同时从机可以通过按键控制主机连接的LED灯。数码管与单片机的连接方式采用并行连接方式。其中用到的硬件有单片机,矩阵键盘,发光二极管等。3.2主机电路模块3.2.1单片机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口在应用时必须外接上拉电阻,作为输徐州工程学院单片机原理及应用课程设计6入时,首先应将引脚置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-0INT外部中断0P3.3-1INT外部中断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/每个