基于某单片机的双机通信.doc

上传人:夺命阿水 文档编号:18249 上传时间:2022-07-04 格式:DOC 页数:30 大小:463KB
返回 下载 相关 举报
基于某单片机的双机通信.doc_第1页
第1页 / 共30页
基于某单片机的双机通信.doc_第2页
第2页 / 共30页
基于某单片机的双机通信.doc_第3页
第3页 / 共30页
基于某单片机的双机通信.doc_第4页
第4页 / 共30页
基于某单片机的双机通信.doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《基于某单片机的双机通信.doc》由会员分享,可在线阅读,更多相关《基于某单片机的双机通信.doc(30页珍藏版)》请在课桌文档上搜索。

1、word基于单片机的双机通信摘要双机通信是单片机的一个重要应用。本次课程设计就是要利用单片机来完成一个系统,实现两个单片机之间的有序通信。本文详细介绍了关于基于单片机AT89C51实现的双机之间的通信的设计。软件局部采用C语言编程实现接收局部和发射局部的功能,用Protues进展仿真。软件设计完成后,将程序烧入单片机。通信的结果实用数码管进展显示,数码管采用查表方式显示。在通信过程中,使用通信协议进展通信。关 键 词51单片机;串行通信;接口Two-machine municationbased on single chipAbstractDual machine munication is

2、an important application of single chip. This course is designed to using single chip puter to plete a system, realize the orderly munication between two single-chip microputer. This paper introduces the realization based on single-chip microputer AT89C51 about the dual machine for munication betwee

3、n the design. Software part adopts the C programming language realization receiving part and emission, part of the Protues function, through simulation. The software design is pleted, the procedure spread microcontroller. munication results and practical to display, digital digital tube pipe, adopti

4、ng look-up table display. In munication process, USES munication protocol to municate.Key words51 SCM; serial munication; Interface不要删除行尾的分节符,此行不会被打印28 / 30目 录基于单片机的双机通信ITwo-machine munication based on single chipII绪论21.课题背景3 双机通信简介3 双机通信接口的根本特点3 双机通信原理4 系统网络协议42.设计方案63.单片机与通信芯片介绍73.1 单片机技术介绍73.2 MA

5、Z232芯片103.3 44键盘介绍113.3.1 44矩阵键盘工作原理11数码动态扫描显示电路12数码管工作原理134.设计步骤144.1 Keil和Proteus介绍和联调144.1.1 Proteus的介绍14 Keil的介绍154.2 软件设计164.3 硬件设计16结论17致谢18参考文献19附录I20附录II27附录III28绪 论单片机作为微型计算机的一个分支,具有功能强、体积小、应用灵活等诸多优点,在工业控制、仪器仪表、通信、家用电器和国防科技等各个领域得到广泛的应用。随着集成电路技术的不断开展,单片机的性能也在不断的提高,其应用的围必将越来越宽广。然而,随着单片机在工业自动化

6、控制、智能仪器仪表中的广泛应用,单机已经逐渐不能满足需要,双机协同工作已经成为一个重要的开展趋势,双机应用的关键就在于双机之间的互相通讯、互传数据信息。单片机和计算机的共同开展下,单片机的应用从独立的单片机向网络开展,由计算机和单片机构成的双机网络系统也是单片机技术开展的一个方向。单片机双机通信是指由两台单片机组成的网络结构,可以通过串行通信方式实现对某一过程的最终控制。随着计算机技术的开展,双机通讯技术也在不断的开展,现在开展比拟成熟的还有光纤通信等。由于计算机的飞速开展和控制系统的复杂化,双机机通信已经越来越成为人们热门的话题之一单片机双机机通信是指由两台单片机组成的网络结构, 可以通过串

7、行通信方式共同实现对某一过程的最终控制。目前,单片机多机通信的形式较多,但通常可分为星型、环型、串行总线型和主从式多机型四种。随着单片机和计算机技术的不断开展,单片机的应用也从独立的单机向网络开展。由计算机和单片机构成的多机网络系统已成为单片机技术开展的一个方向。二者的结合,充分发挥单片机在实时数据采集和数据管理上的优点。单片机在计算机的网络通讯与数据传输、工业自动化过程的实时控制和数据处理等都有广泛地应用,已渗透到我们生活的各个领域。许多应用都涉与到单片机双机通信。然而单片机对网络数据的处理方式不同于通用计算机系统尤其是有的单片机只提供2位的数据收发接口,这在一定程度上阻碍了单片机在网络方面

8、的应用。因此,采用单片机技术与计算机网络技术相结合的方法,对单片机双机通信系统进展研究在设计单片机网络的通信协议的根底上,系统网络拓扑结构采用总线型网络接El电路采用端El转发的形式,实现了2位单片机双机通信。1.课题背景1.1 双机通信简介MCS-51系列单片机上有一个通用异步接收发送器UART,通过引脚RXDP3O和TXDP31可与外音B电路进展全双工的串行异步通信,发送数据时由TXD端送出,接收时数据由RXD端输入。本文将具体介绍单片机串口的特点和编程方法,并且在最后给出一个实用的单片机与计算机通过串口通信的程序。1.1.1 双机通信接口的根本特点MCS-51单片机的串行端口有4种根本工

9、作方式,通过编程设置,可以使其工作在任一方式,以满足不同场合的需要。其中,方式0主要用于外接移位存放器,以扩展单片机的IO电路;工作方式1多用于双机之间或与外设电路的通信;方式2、3除有方式1的功能外,还可以作多机通信,以构成分布式多微机系统。 串行端口有两个控制存放器SCON、PCON,用于设置工作方式、发送或接收的状态、特征位、数据传送波特率每秒传送的位数以与作为中断标志等。串行端口有一个数据存放器SBUF在特殊功能存放器中的字节地址为99H,该存放器为发送和接收所共用。串行端口的波特率可以用程序来控制。在不同工作方式中,由时钟振荡频率的分频值或由定时器T1的定时溢出时间确定,使用十分方便

10、灵活。1、串口控制存放器(1) 方式1输入:在(REN)=1时,串行口采样RXD引脚,当采样到1至O的跳变时,确认是串行发送来的一帧数据的开始位0,从而开始接收一帧数据。只有当8位数据接收完,并检测到高电平停止位后,只有满足(R1)=0;(SM2)=0或接收到的第9位数据为1时,停止位才进入RB8,8位数据才能进入接收存放器,并由硬件置位中断标志RI;否如此信息丢失。所以在方式1接收时,应先用软件清零RI和SM2标志。2方式2方式2为固定波特率的11位UART方式。它比方式1增加了一位可程控为1或0的第9位数据。输出:发送的串行数据由TXD端输出一帧信息为11位,附加的第9位来自SCON存放器

11、的TB8位,用软件置位或复位。它可作为多机通讯中地址数据信息的标志位,也可以作为数据的奇偶校验位。当CPU执行一条数据写入SUBF的指令且TI=0时,就启动发送器发送。发送一帧信息后,置位中断标志TI。输入:在(REN)=1时,串行口采样RXD引脚,当采样到1至O的跳变时,确认是串行发送来的一帧数据的开始位0,从而开始接收一帧数据。在接收到附加的第9位数据后,当满足(RI):0;(SM2)=0或接收到的第9位数据为1时,第9位数据才进入RB8,8位数据才能进入接收存放器,并由硬件置位中断标志Ri;否如此信息丢失。且不置位RI。3工作方式3方式3为波特率可变的11位UART方式。除波特率外,其余

12、与方式2一样。波特率的选择如前所述,在串行通讯中,收发双方的数据传送率(波特率)要有一定的约定。在MCS-51串行口的四种工作方式中,方式0和2的波特率是固定的,而方式1和3的波特率是可变的,由定时器T1的溢出率控制。1方式O:方式0的波特率固定为主振频率 的1/12。2方式2:方式2的波特率由PCON中的选择位SMOD来决定,可表示为:波特率=2sMoDfosc64也就是当SMOD=1时,波特率为132fosc,当SMOD=0时,波特率为164fosc。3方式1和方式3定时器T1作为波特率发生器,其公式如下:波特率=2SMOD32定时器T1溢出率T1溢出率=T1计数率产生溢出所需的周期数式中

13、T1计数率取决于它工作在定时器状态还是计数器状态。当工作于定时器状态时,T1计数率为Fosc/2:当工作于计数器状态时,T1计数率为外部输入频率,此频率应小于Fosc/24。产生溢出所需周期与定时器T1的工作方式、T1的预置值有关。定时器T1工作于方式O:溢出所需周期数=8192-定时器T1工作于方式1:溢出所需周期数=65536-X定时器T1工作于方式2:溢出所需周期数=256-X因为方式2为自动重装入初值的8位定时器计数器模式,所以用它来做波特率发生器最恰当。这种方式下,T1的溢出率次秒计算式可以表示为:T1溢出率=Fsoc12256-X1.2 双机通信原理双机通讯对单片机而言意义重大,不

14、但可以实现将单片机的数据传输到计算机端,而且也能实现计算机对单片机的控制。由于其所需电缆线少,接线简单,所以在较远距离传输中,得到了广泛的运用。1.3 系统网络协议通信协议是通信设备在通信前的约定。单片机、计算机有了协议这种约定,通信双方才能明白对方的意图,以进展下一步动作。假定我们需要在PC机与单片机之间进展通信,在双方程式设计过程中,有如下约定: 0xA1:单片机读取P0端口数据,并将读取数据返回PC机; 0xA2:单片机从PC机接收一段控制数据; 0xA3:单片机操作成功信息。在系统工作过程中,单片机接收到PC机数据信息后,便查找协议,完成相应的操作。当单片机接收到0xA1时,读取P0端

15、口数据,并将读取数据返回PC机;当单片机接收到0xA2时,单片机等待从PC机接收一段控制数据;当PC接收到0xA3时,就明确单片机操作已经成功。2.设计方案本次设计,对于两片89C51,采用RS232进展双机通信。发送方的数据由串行口TXD段输出,经过电平转换芯片MAX232将TTL电平转换为RS232电平输出,经过传输线将信号传送到接收端。接收方也使用MAX232芯片进展电平转换后,信号到达接收方串行口的接收端。承受方接收后,在数码管上显示接收的信息。为提高抗干扰能力,还可以在输入输出端加光耦合进展光电隔离。软件局部,通过通信协议进展发送接收,主机先送AAH给从机,当从机接收到AAH后,向主

16、机回答BBH。主机收到BBH后就把数码表TAB16中的10个数据送给从机,并发送检验和。从机收到16个数据并计算接收到数据的检验和,与主机发送来的检验和进展比拟,假如检验和一样如此发送00H给主机;否如此发送FFH给主机,重新承受。从机收到16个正确数据后送到一个数码管显示。3.1 单片机技术介绍1974年12月,美国著名的仙童公司推出了世界上第一台单片机F8。该机由两快集成电路芯片组成,结构新颖,并具有与众不同的指令系统,深受民用电器和仪器仪表领域的欢迎和重视。从此单片机开始迅速开展,应用围也在不断扩大,现已成为微型计算机的重要分支。单片机的开展大致经历了外围集成、总线完善、功能集成、全方位

17、开展等技术开展阶段,至今走过了四代的历程。第一代:单片机探索阶段。主要有通用CPU 68XX系列和专用CPUMCS-48系列。第二代:单片机完善阶段。表现在:1.面对对象,突出控制功能,专用CPU满足嵌入功能;2.寻址围16位或8位;3.规的总线结构,有8位数据线,16位地址线与多功能异步串行口UART;4.特殊功能存放器SFR的集中管理模式;5.海量位地址空间,提供位寻址与位操作功能;6.指令系统突出功能。第三代:微控制器形成阶段。这一阶段已经形成系列产品:以8051系列为代表,如8031、8032、8051和8052等。第四代:微控制器百花齐放。表现在:1.电气商、半导体商广泛参加;2.满

18、足最低层电子技术的应用玩具、小家电;3.大力开展专用型单片机;4.致力于提高单片机的综合品质。由于单片机在整个设计中占据着重要的地方,首先介绍一下单片机的相关知识。单片机AT89S52具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要。MCS-51单片机部结构8051是MCS-51系列单片机的典型产品,我们以这一代表性的机型进展系统的讲解。8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元与数据总线、地址总线和控制总线等三大总线,现在分别加以说明:中央处理器:中央处理器(CPU)是整个单片机的

19、核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。数据存储器(RAM):8051部有128个8位用户数据存储单元和128个专用存放器单元,它们是统一编址的,专用存放器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。图3.1 8051 部结构程序存储器(ROM):8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。定时/计数器:8051有两个16位的可编程定时/计数器,以实现定

20、时或计数产生中断用于控制程序转向。并行输入输出(I/O)口:8051共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。全双工串行口:8051置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。中断系统:8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。时钟电路:8051置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但8051单片机需外置振荡电容。单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈

21、佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(Princeton)结构。INTEL的MCS-51系列单片机采用的是哈佛结构的形式,而后续产品16位的MCS-96系列单片机如此采用普林斯顿结构。图3.2 MCS-51结构框图MCS-51的引脚说明:MCS-51系列单片机中的8031、8051与8751均采用40Pin封装的双列直接DIP结构,图2.3是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。现在我们对这些引脚的功能加以说明:图3.3 51单片机引脚图

22、Pin9:RESET/Vpd复位信号复用脚,当8051通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指针写入07H,其它专用存放器被清“0”。RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。然而,初始复位不改变RAM包括工作存放器R0-R7的状态,8051的初始态。8051的复位方式可以是自动复位,也可以是手动复位,如图(2.4)。此外,RESET/Vpd还是一复用脚,Vcc掉电其间,此脚可接上备用电源,以保证单片机部RAM的数据不丢失。图2.4 复位电路

23、图Pin30:ALE/当访问外部程序器时,ALE(地址锁存)的输出用于锁存地址的低位字节。而访问部程序存储器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。更有一个特点,当访问外部程序存储器,ALE会跳过一个脉冲。如果单片机是EPROM,在编程其间,将用于输入编程脉冲。Pin29:当访问外部程序存储器时,此脚输出负脉冲选通信号,PC的16位地址数据将出现在P0和P2口上,外部程序存储器如此把指令数据放到P0口上,由CPU读入并执行。Pin31:EA/Vpp程序存储器的外部选通线,8051和8751单片机,置有4kB的程序存储器,当

24、EA为高电平并且程序地址小于4kb时,读取部程序存储器指令数据,而超过4kB地址如此读取外部指令数据。如EA为低电平,如此不管地址大小,一律读取外部程序存储器指令。显然,对部无程序存储器的8031,EA端必须接地。3.2 MAZ232芯片,可以采用直接将两台8051单片机的串行接口直接相连,利用其自身的TTL电平0-5V直接传输数据信息。如果传输距离较远超过1.5m,由于传输线的阻抗与分布电容,会产生电平损耗和波形畸变,以至于检测不出数据或数据出错。此时可利用 RS232标准总线接口,将单片机输出的TTL电平转换为RS232标准电平逻辑1为-15-5V;逻辑0为+5-+15V。用RS232可将

25、传输距离提高到15m,如果想远距离传输,可以采用RS422或者RS485。电平转换芯片MAX232是美信公司MAXIM生产,专用于进展将TTL电平转换为RS232电平的芯片,MAX232部有泵电源,能将+5V电源电压在芯片提高到RS232电平所需的+10V或者-10V电平。3.3 44键盘介绍3.3.1 44矩阵键盘工作原理矩阵键盘又称为行列式键盘,它是用4条I/O线作为行线,4条I/O线作为列线组成的键盘。在行线和列线的每一个交叉点上,设置一个按键。这样键盘中按键的个数是44个。这种行列式键盘结构能够有效地提高单片机系统中I/O口的利用率。图为ME300B矩阵键盘电路图,行线接P1.4P1.

26、7,列线接P1.0P1.3。图 矩阵键盘电路图2 按键排列数码动态扫描显示电路在ME300B开发系统中,采用了8位数码管动态扫描显示。它将所有数码管的8个段线相应地并接在一起,并接到 AT89S51的P0口,由P0口控制字段输出。而各位数码管的共阳极由AT89S51的P2口控制Q20Q27来实现8位数码管的位输出控制。这样,对于一组数码管动态扫描显示需要由两组信号来控制:一组是字段输出口输出的字形代码,用来控制显示的字形,称为段码;另一组是位输出口输出的控制信号,用来选择第几位数码管工作,称为位码。由于各位数码管的段线并联,段码的输出对各位数码管来说都是一样的。因此,同一时刻如果各位数码管的位

27、选线都处于选通状态的话,8位数码管将显示一样的字符。假如要各位数码管能够显示出与本位相应的字符,就必须采用扫描显示方式。即在某一时刻,只让某一位的位选线处于导通状态,而其它各位的位选线处于关闭状态。同时,段线上输出相应位要显示字符的字型码。这样同一时刻,只有选通的那一位显示出字符,而其它各位如此是熄灭的,如此循环下去,就可以使各位数码管显示出将要显示的字符。虽然这些字符是在不同时刻出现的,而且同一时刻,只有一位显示,其它各位熄灭,但由于数码管具有余辉特性和人眼有视觉暂留现象,只要每位数码管显示间隔足够短,给人眼的视觉印象就会是连续稳定地显示。管的亮度将亮些,假如显示的时间间隔短,显示时数码管的

28、亮度将暗些。假如显示的时间间隔过长的话,数码管显示时将产生闪烁现象。所以,在调整显示的时间间隔时,即要考虑到显示时数码管的亮度,又要数码管显示时不产生闪烁现象。在ME300B单片机开发系统中使用数码管来显示信息时,要将JP2的2、3端短接。见图3.6。数码管工作原理共阳极数码管的8个发光二极管的阳极二极管正端连接在一起。通常,公共阳极接高电平一般接电源,其它管脚接段驱动电路输出端。当某段驱动电路的输出端为低电平时,如此该端所连接的字段导通并点亮。根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源与额定段导通电流来确定相应的限流电阻。共阴极

29、数码管的8个发光二极管的阴极二极管负端连接在一起。通常,公共阴极接低电平一般接地,其它管脚接段驱动电路输出端。当某段驱动电路的输出端为高电平时,如此该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能提供额定的段导通电流,还需根据外接电源与额定段导通电流来确定相应的限流电阻. 基于单片机的双机通信的设计包括软件设计和硬件设计两局部。软硬件设计都包括发射局部和接收局部的设计。软件设计主要是C语言程序和汇编语言程序的编写和运用Proteus软件进展仿真。4.1 Keil和Proteus介绍和联调4.1.1 Proteus的介绍1、Proteus是一种低投

30、资的电子设计自动化软件,提供Schematic Drawing、SPICE仿真与PCB设计功能,这一点Proteus 与 multisim比拟类似,只不过它可以仿真单片机和周边设备,可以仿真51系列、AVR,PIC等常用的MCU,与keil和MPLAB不同的是它还提供了周边设备的仿真,只要给出电路图就可以仿真,例如373,led,示波器,Proteus提供了大量的元件库,有RAM,ROM,键盘,马达,LED,LCD,AD/DA,局部SPI器件,局部IIC器件,编译方面支持Keil和MPLAB,里面有大量的例子参考. 2、Proteus可提供仿真元件资源 ,Proteus软件提供了可仿真数字和模

31、拟、交流和直流等数千种元器件达30多个元件库。 3、Proteus可提供的仿真仪表资源包括拟仪器仪表的数量、类型和质量,是衡量仿真软件实验室是否合格的一个关键因素。在Proteus软件中,理论上同一种仪器可以在一个电路中随意的调用。 除了现实存在的仪器外,Proteus还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似但功能更多。这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗。这些都尽可能减少了仪器对测量结果的影响。 4、Proteus可提供的调试手段 Proteus提供了比拟丰富的测试信号用于电路的测试。这些测试信号包括模

32、拟信号和数字信号。 Proteus 与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU 的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时单片机存放器和存储器容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。Keil的介绍Keil是德国开发的一个51单片机开发软件平台,最开始只是一个支持C语言和汇编语言的编译器软件。后来随着开发人员的不断努力以与版本的不断升级,使它已经成为了一个重要的单片机开发平台,不过KEIL的界面并不是非常

33、复杂,操作也不是非常困难,很多工程师的开发的优秀程序都是在KEIL的平台上编写出来的。可以说它是一个比拟重要的软件,熟悉他的人很多很多,用户群极为庞大,要远远超过伟福等厂家软件用户群,操作有不懂的地方只要找相关的书看看,到相关的单片机技术论坛问问,很快就可以掌握它的根本使用了。 1、Keil的Vision2可以进展纯粹的软件仿真(仿真软件程序,不接硬件电路);也可以利用硬件仿真器,搭接上单片机硬件系统,在仿真器中载入项目程序后进展实时仿真;还可以使用Vision2的嵌模块Keil Monitor-51,在不需要额外的硬件仿真器的条件下,搭接单片机硬件系统对项目程序进展实时仿真。 2、uVisi

34、on2调试器具备所有常规源极调试,符号调试特性以与历史跟踪,代码覆盖,复杂断点等功能。DDE界面和shift语言支持自动程序测试。 3、虚拟实验的构建与调试;单片机的理论教学和实验中,容一般包括了四方面,即单片机系统资源;硬件电路的设计、组装、调试;应用软件的编制、调试;总调,即应用软件的调试,程序固化,软、硬件结合的应用系统。因此教师在进展教学时,应该充分考虑课程的特点并作合理的模块划分,在每次实验课程前作适当的准备工作,以使教学任务能集中和突出。 1系统资源的实验教学 任何一种单片机均提供了一定的系统资源。对于51系列单片机来讲,其所提供的资源是以存放器和存储器的方式表现出来的。对于存放器

35、容的查看,可以采用多种可以模拟仿真51单片机的软件来实现。对于Keil软件来讲,C51编译器可以实现对51系列单片机所有资源的操作。 2硬件电路的设计、组装、调试 硬件电路的设计包含两局部容:一是系统扩展,即单片机自身的功能单元如ROM、RAM、I/O口、定时器/计数器等容量不能满足应用系统的需要时,必须在片外进展扩展,选择适当的芯片,设计相应的电路;二是系统配置,即按照系统的要求配置外围设备,如键盘、显示器、打印机、A/D转换器、D/A转换器等,要设计适宜的接口电路。 很多常用的硬件电路的设计可在Proteus软件中实现,学生通过Proteus软件的使用,不当可以实现教材上的大局部实验。而且

36、可以学到硬件电路设计的方法。 3应用软件的编制、调试; 使用Keil 软件工具时,项目开发流程和其它软件开发项目的流程极其相似。 创建一个项目,从器件库中选择目标器件,配置工具设置。 用C语言或汇编语言创建源程序。 用项目管理器生成应用。 修改源程序中的错误。 测试,连接应用。 通过使用Keil 软件工具编制、调试应用软件,可以学到单片机各种指令,也可以学到单片机软件开发的步骤、方法和技巧。 4总调,即应用软件的调试,程序固化,软、硬件结合的应用系统 软硬件联合仿真系统由一个硬件执行环境和一个软件执行环境组成,通常软件环境和硬件环境都有自己的除错和控制界面,Keil与Proteus的整合调试可

37、以实现系统的总调,在该系统中,Keil作为软件调试界面,Proteus作为硬件仿真和调试界面,下面说一下如何在keil中调用proteus进展MCU外围器件的仿真。 4.2 软件设计1、源程序设计首先,根据发送端和接收端的功能要求分别编写源代码。源程序由C语言编程实现,具体如附录I。所实现的功能是用44键盘进展手动控制发送端的数字信号进展发送。然后,调试源程序直到无错误出现。最后,运行源程序。2、原理图设计利用Proteus仿真软件画出原理图并将程序嵌入其中,直到仿真成功。3、将程序分别烧入控制发送端和接收端的AT89C51中,仿真结果如附录II。4.3 硬件设计按照原理图将器件一一插入面包板

38、。首先,将各个芯片插入适宜的位置。接着把相应的器件插入面包板。接下来连接导线。分别给发送端和接收端接上5V电源,即可观察设计结果,硬件实现如附录III。千万不要删除行尾的分节符,此行不会被打印。“结论以前的所有正文内容都要编写在此行之前。结 论为期3周的通信专业课程设计,我们很好的完成了设计任务。期间,我学到了很多宝贵的经验和相关的通信技术知识。在这次的双机通信系统设计中,C语言程序和汇编语言程序的编写以与原理图的设计占了很重要的局部。对于零散的芯片,通过编程、仿真、硬件电路搭建,才能形成一个完整的系统。我们必须深入到工程实践中,毕竟实践出真知。同时,在本次课程设计中,我们还必须将书本中的知识

39、很好的应用到实践中去。经过课程设计,在查阅资料的过程中,学习了基于单片机的C语言程序设计,了解了单片机串行通信的根本知识,对于以后的学习和工作都有很大的益处。在学习的过程中,也遇到了一些困难,比如开始的时候,由于发送端和接收端的通信协议没有做好,导致数据不能正确的传输,在解决问题的过程中,对于通信协议的实现有了深刻的认识。现在课程设计已经完毕,但它的影响却留存长久,它让我们自己动手,品尝成功的喜悦,激发了我们对实践的兴趣和热情,在很大程度上鼓舞了我们的学习决心,增强了我们的自信心,让我们以更大的勇气面对以后的学习和人生他,它给了我们开拓进取的动力。通过这次的课程设计我深刻的认识到了,理论知识和

40、实践相结合是教学环节中相当重要的一个环节,只有这样才能提高自己的实际操作能力,并且从中培养自己独立思考、用于克制困难、团队协作的精神。不要自己写,要利用word来自动生成。详情请看最后一页致 谢持续紧和忙碌三周的课程设计终于完了,在此我特别感谢带我的指导教师-王教师,在这次毕业设计中对我的的耐心指导和帮助。还有各位领导在此期间对我的帮助和鼓励,使我在设计的时候信心十足。感谢学校给我门这次毕业设计的机会和其它的帮助。还有一同讨论、帮助我设计的同学表示感谢。在这次课程设计中,教师的教诲和同学们的协作,使我受益匪浅。感谢几位舍友在我几次弄丢资料的情况下帮助我共同完成任务。没有教师和他们的帮助、查找资

41、料。对于我一个对单片机知识理解不是很深入的人来说要想在短短的几周的时间里学习到网络知识并完成课程论文是很困难的事情。所以,谢谢指导教师和几位舍友,谢谢你们!参考文献1汉才. 单片机原理机接口技术M. .2薛晓书. 单片微型计算机原理与应用. 交通大学,2007.3秦实宏,周龙,肖忠. 单片机原理与应用技术. 中国水利水电,2005.附 录I发送端程序:#ifndef_PMPDATAT_H #define_PMPDATAT_H#include #include #define uchar unsigned char#define uint unsigned int#define SUCC 0x2

42、A#define ERR 0xF0#define MAXLEN 64 uchar buf;uchar addr,get_key,key;#endif#include PMPDataT.hsbit led=P34;uchar num=0;void delay(uint t)uint i;while(t-)for (i=0;i125;i+) uchar keyscan(void)uchar scancode,tmpcode;P1 = 0xf0; if (P1&0xf0)!=0xf0)delay(10);if (P1&0xf0)!=0xf0)/scancode = 0xfe;while(scanco

43、de&0x10)!=0) P1 = scancode;if (P1&0xf0)!=0xf0)tmpcode = (P1&0xf0)|0x0f;return(scancode)+(tmpcode);else scancode = (scancode1)|0x01;/ return(0);void senddata(uchar buf)TI = 0;TB8 = 0;SBUF =buf;while(!TI);TI = 0;void init_serial()TMOD = 0x20;TH1 = 250;TL1 = 250;TR1 = 1;PCON = 0x80;SCON = 0xd0;void Get

44、key() switch(get_key) case 0x11: key=0xc0; break;case 0x21: key=0xf9;break;case 0x41:key=0xa4;break; case 0x81:key=0xb0;break;case 0x12: key=0x99;break;case 0x22: key=0x92;break;case 0x42: key=0x82;break;case 0x82: key=0xf8;break;case 0x14: key=0x80; break;case 0x24: key=0x90;break;case 0x44: key=0x88;break;case 0x84: key=0x83;break;case 0x18: key=0xc6;break;case 0x28: key=0xa1;break;case 0x48: key=0x86;break;case 0x88: key=0x8e;break;default:break;void main() uchar i = 0;key=0xc0; while(1) get_key = keyscan(); Getkey(); buf=key; P0 = 0xff; addr

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号