![STC89C52单片机表决器的设计--课程设计_第1页](http://file1.renrendoc.com/fileroot_temp2/2021-1/19/899468e1-87e9-458b-85d3-8b7e92c82440/899468e1-87e9-458b-85d3-8b7e92c824401.gif)
![STC89C52单片机表决器的设计--课程设计_第2页](http://file1.renrendoc.com/fileroot_temp2/2021-1/19/899468e1-87e9-458b-85d3-8b7e92c82440/899468e1-87e9-458b-85d3-8b7e92c824402.gif)
![STC89C52单片机表决器的设计--课程设计_第3页](http://file1.renrendoc.com/fileroot_temp2/2021-1/19/899468e1-87e9-458b-85d3-8b7e92c82440/899468e1-87e9-458b-85d3-8b7e92c824403.gif)
![STC89C52单片机表决器的设计--课程设计_第4页](http://file1.renrendoc.com/fileroot_temp2/2021-1/19/899468e1-87e9-458b-85d3-8b7e92c82440/899468e1-87e9-458b-85d3-8b7e92c824404.gif)
![STC89C52单片机表决器的设计--课程设计_第5页](http://file1.renrendoc.com/fileroot_temp2/2021-1/19/899468e1-87e9-458b-85d3-8b7e92c82440/899468e1-87e9-458b-85d3-8b7e92c824405.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘 要摘 要表决器是一种常见的电子产品,尤其是在各类投票中,为了实现投票的公平性,性能优良的表决器往往更能得到各单位的青睐。这里通过两种设计方案的对比,最终选定了用STC89C52单片机实现表决器电路。由于单片机具有可编程定时器和中断设备,便于实现显示表决人数和抢答是否成功的精确控制。所用方案电路结构简单,易于实现,它用3颗LED灯来进行显示,且具有简单精准的报警功能。所选方案的一个很重要的特点在于具有灵活性,投票的每个人可以根据自己的意愿选择“同意”、“反对”的两个不同按键。自行进行投票表决,这样进一步保证了公平性。由于它具有成本低廉,结构简单,且性能优良的诸多优点,必定会得到广泛的应用。关
2、键字:STC89C52单片机,LED灯,表决器,投票表决29AbstractABSTRACTVoting is a common electronic product, especially in all kinds of voting, in order to achieve the fairness of voting, the performance of the voting machine is often better available to all units of all ages. Here through the comparison of two design opti
3、ons, the final selection with STC89C52single-chip implementation of the voting circuit. As the microcontroller has a programmable timer and interrupt devices, easy to achieve the number of voting and answer to achieve the success of the precise control. The circuit structure is simple, easy to imple
4、ment, it uses three LED lights to display, and has a simple and accurate alarm function. A very important feature of the chosen program is the flexibility to vote for everyone who can choose agree and oppose the two different keys according to their own wishes. To vote on their own, so as to further
5、 ensure the fairness. Because of its low cost, simple structure, and excellent performance of many advantages, will be widely used.Key Words: STC89C52 single chip, LED lights, voting machine, vote目录目 录第1章引言1第2章STC89C52单片机22.1 STC89C52单片机概述22.2 STC89C52单片机设计要求42.3 STC89C52单片机设计方案52.3 STC89C52单片机硬件组成5
6、2.4 STC89C52单片机引脚72.4.1 STC89C52单片机引脚实物图72.4.2 STC89C52单片机引脚功能72.5 STC89C52单片机模块设计92.5.1 STC89C52单片机主控制模块设计92.5.2 STC89C52单片机按键模块设计112.5.3 STC89C52单片机LED模块设计12第3章三人表决器的功能调试133.1 调试过程133.2 检测电路133.3 仿真调试133.4 调试出现的问题15第4章三人表决器软件设计164.1.1 开发语言介绍164.2开发软件介绍164.2.1 Keil 4164.2.2 Proteus ISIS20第5章实物及程序展示
7、235.1实物展示235.2程序展示23第6章结论24参考文献 25致谢 26第1章 引言第1章 引言电子技术是电类相关专业的基础课程,近年来通过教学改革虽然精简了理论教学,加强了实践教学,但是有时理论和实践脱节。本文以三人表决器为例,介绍该课题的教学过程:复习导入、任务分析、设计安装、总结扩展。展示电子技术一体化教学及一体化教学课堂组织形式。著名教育家苏霍姆林斯基说过: “教给学生能够借助已有的知识去获取新知识,这是最高的教学技巧之所在。”复习导入有利于学生从旧知识过渡到新知识,既巩固了旧知识,又为新知识作了铺垫,使学生感到新知识并不陌生,从而完成以旧引新的任务。电子表决方式解决了以往举手表
8、决所带来的弊端,使参会人员的意愿更加真实独立,即是对参会人员职权的尊重,又是对民主和法制的尊重。同时,电子表决结果自动生成,节省了会议时间和人力,提高了会议效率。与有线表决相比,无线电子表决系统在可靠性、安全性、以及易用性上更有优势,而且大幅度降低了会议成本,适合普及推广。目前,市面上能够进行表决器的仪表种类繁多,但是同时具有按键表决,LED灯显示,且能报警的装置并不多。在某些需要表决的场合中,单一的表决这一基本功能已不能满足场景的要求,往往需要同时伴随灯光提示,对其结果进行不同颜色的提示。表决器的进一步优化,有助于人们在特定场合进行表决时,为进一步对提高表决效率、为特定的场合,大会的表决提供
9、更好的支持。会议表决器,是投票系统中的客户端,是一种代表投票表决装置。表决时,与会的有关人员“赞成”或“反对”,如果对某个决议有任意二到三人同意,那么此决议通过,如果对某个决议只有一个人或没人同意,那么此决议不通过。第2章 STC89C52单片机第2章 STC89C52单片机2.1 STC89C52单片机概述单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、
10、复杂的输入输出系统集成在一块芯片上。单片机也被称为微控制器(Microcontroler),是因为它最早被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对提及要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习
11、使用单片机是了解计算机原理与结构的最佳选择。早期的单片机都是8位或4位的。其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大的提高。随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。
12、目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。STC89C52是一种低功耗、高性能的8位CMOS微控制器,如图3-2所示,具有8K的可编程Flash 存储器。使用高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯
13、片上,拥有灵巧的8位CPU和在线系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。STC89C52具有以下标准功能:8K字节Flash,256字节RAM,32位I/O 口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。STC89C52
14、单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的综合,甚至比人类的数量还要多。STC89C52单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家
15、用电脑弱很多,不过价钱也是低的,一般不超过10元即可.用它来做一些控制电器一类不是很复杂的工作足矣了。我们现在用的全自动滚筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影!它主要是作为控制部分的核心部件。 它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。 STC89C52单片机是靠程序的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的C
16、D4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性! 由于STC89C52单片机对成本是敏感的,所以目前占统治地位的软件还是最低级汇编语言,它是除了二进制机器码以上最低级的语言了,既然这么低级为什么还要用呢?很多高级的语言已经达到了可视化编程的水平为什么不用呢?原因很简单,就是单片机没有家用计算机那样的CPU,也没有像硬盘那样的海量存储设备。一个可视化高级语言可编写的小程序里面即使只有一个按钮,也会达到几十K的尺寸!对于家用PC的硬盘来讲没什么,
17、可是对于单片机来讲是不能接受的。2.2 STC89C52单片机设计要求本系统由单片机STC89C52、LED灯、电阻、按键等电路组成。实际表决过程中要确保按键按下不会出错,采用单片机内部的锁存器,从而存储按键信息,保证按键信号正常。同时对投票的结果进行显示,显示的方法用LED灯显示,开始表决时,用黄色LED灯显示,表决通过时为绿色LED灯,表决未通过时为红色LED灯。本方案采用单片机设计一个三人表决器,具体要求满足以下条件:1. 要求采用51单片机作为微控制器;2. 通过三个LED灯进行判断显示;3通过一个按键进行表决开始的操作;3. 支持两键常规表决方式:“赞成”、“反对”;4. 同时使用不
18、同颜色的LED灯报警,通过显示黄灯,表示表决开始;显示绿灯,表示表决通过;显示红灯,表示表决未通过。2.3 STC89C52单片机设计方案方案一:采用LED数码管动态扫描,LED数码管价格适中,对于显示数字合适,采用动态扫描法与单片机连接时,虽然占用的单片机口线少,但连线还需要花费一点时间,所以也不用此种作为显示。方案二:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,若采用在显示数字显得太浪费,且价格也相对较高,所以在此也不用此种作为显示。方案三:采用1602液晶显示屏,该液晶显示屏的显示功能强大,内置192种字符,可显示大量符号、数字,清晰可见,而且功
19、率消耗小寿命长抗干扰能力强。方案四: 采用LED灯来进行显示,分别用不同的颜色来表示不同的状态,电路实现只需要加上一个电阻即可,然后用单片机进行控制,用黄色的LED灯光来表示表决开始,用红色的LED灯光来表示表决未通过,用绿色的LED灯光来表示表决通过。比较以上四种方案,很容易看出,采用方案四,电路比较简单,软件设计容易实现,故实际设计中拟采用方案四。2.3 STC89C52单片机硬件组成为了实现功能,本表决器设计了相关的硬件电路和相关应用程序。硬件电路主要包括STC89C52单片机最小系统,LED显示电路、按键电路等。系统程序主要包括主程序,表决显示子程序,按键处理程序以及数据存储程序等。在
20、本系统的电路设计方框图如图3-1所示,它由三部分组成:1.主控芯片STC89C52;2.LED显示部分;3.按键电路部分。图2-1 系统总体框图(1)控制部分采用传统的数字模似电路,功能可以实现,但电路复杂,温度误差大,成本高,可靠性也比较差;于是我选择采用单片机89C52控制,它结构简单,可以减少外围电路的搭接,并且89C51使用方便,成本比较低,性能稳定,还可以控制各模块输入输出。(2)显示部分LED灯进行显示,用黄色的LED灯光来表示表决开始,用红色的LED灯光来表示表决未通过,用绿色的LED灯光来表示表决通过。(3)按键部分普通的矩阵按键即可。2.4 STC89C52单片机引脚2.4.
21、1 STC89C52单片机引脚实物图图2-2 STC89C52引脚实物图2.4.2 STC89C52单片机引脚功能图2-3 STC89C52引脚图从引脚功能来看,可将引脚分为三部分:1、电源及时钟引脚VCC:接+5V电源;VSS:接地;XTAL1和XTAL2:时钟引脚,外接晶体引线端。当使用芯片内部时钟时,此两引脚端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。2、控制引脚RST/VPT:RST是复位信号输入端,VPT是备用电源输入端。当RST输入端保持2个机器周期以上高电平时,单片机完成复位初始化操作。当主电源VCC发生故障而突然下降到一定低电压或断电时,第2功能VP
22、T将为片内RAM提供电源以保护片内RAM中的信息不丢失。ALE/PROG:地址锁存允许信号输出端。在存取外存储器时,用于锁存低8位地址信号。当单片机正常工作后,ALE端就会周期性地以时钟振荡频率的1/6固定频率向外输出正脉冲信号。此引脚的第2功能PROG是对片内带有4K字节EPROM的8751固化程序时,作为编程脉冲输入端。PSEN:程序存储允许输出端。是片外程序存储器的读选通信号,低电平有效。CPU从外部程序存储器取指令时,PSEN信号会自动产生负脉冲,作为外部程序存储器的选通信号。EA/VPP:程序存储器地址允许输入端。当EA为高电平时,CPU执行片内程序存储器指令,但当PC中的值超过0F
23、FFFH时,将自动转向执行片外程序存储器指令;当EA为低电平时,CPU只执行片外程序存储器指令。对8031单片机,EA必须接低电平。在8751中,当对片内EPROM编程时,该端接21V的编程电压。3、I/O口引脚P0.0P0.7:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。P1.0P1.7:P1口是一个具有内部上拉电阻的8位双向I/O口。作为输出口,每位能驱动4个TTL逻辑电平。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/
24、T2)和时器/计数器2的触发输入(P1.1/T2EX)。在flash编程和校验时,P1口接收低8位地址字节。P2.0P2.7:P2口是一个具有内部上拉电阻的8位双向I/O口。作为输出口,每位能驱动4个TTL逻辑电平。在访问外部程序存储器或用16位地址读取外部数据存储器时,P2口送出高八位地址。在使用8位地址访问外部数据存储器时,P2口输出P2锁存器的内容。P3.0P3.7:P3口是一个具有内部上拉电阻的8位双向I/O口。作为输出口,每位能驱动4个TTL逻辑电平。P3口亦作为STC89C52特殊功能(第二功能)使用。在flash编程和校验时,P3口也接收一些控制信号。2.5 STC89C52单片
25、机模块设计2.5.1 STC89C52单片机主控制模块设计本设计中单片机主要负责对外设的控制和各个功能模块间的协调,没有复杂的数据计算,因此,8位的51系列单片机足以胜任。51单片机以其低廉的价格以及较出色的性能成了很多控制系统的首选。单片机的最小系统如图2-4所示,单片机的XTAL0和XTAL1引脚用于连接晶振电路。XTAL0接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,XTAL1接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出。复位电路包括复位电容(C6)、复位电阻(R3)和复位开关(S4)。VSS为电源地,VCC为电源正。图2-4 单片机最小系统单片机复位电
26、路、晶振电路简介1、复位电路的使用复位电路是使单片机的CPU或系统中的其他部件处于某一确定的初始状态,并从这上状态开始工作。(1)常见的复位电路通常单片机复位电路有两种:上电复位电路,按键复位电路。上电复位电路:上电复位是单片机上电时复位操作,保证单片机上电后立即进入规定的复位状态。它利用的是电容充电的原理来实现的。按键复位电路:它不仅具有上电复位电路的功能,同时它的操作比上电复位电路的操作要简单的多。如果要实现复位的话,只要按下RESET键即可。它主要是利用电阻的分压来实现的在此设计中,采用的按键复位电路。按键复位电路如图2-5所示。图2-5 复位电路(2)复位电路工作原理上电复位要求接通电
27、源后,单片机自动实现复位操作。上电瞬间RESET引脚获得高电平,随着电容的充电,RERST引脚的高电平将逐渐下降。RERST引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行复位操作。上电与按键均有效的复位电路不仅在上电时可以自动复位,而且在单片机运行期间,利用按键也可以完成复位操作2、晶振电路的使用晶振电路用于产生单片机工作所需要的时钟信号,而时序所研究的是指令执行中各信号之间的相互关系。单片机本身就如一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地工作。通常在引脚XTALl和XTAL2跨接石英晶体和两个补偿电容构成自激振荡器,如图4.4
28、中Y1、C1、C2。可以根据情况选择6MHz、12MHz或24MHz等频率的石英晶体,这里选择12MHz晶振。补偿电容通常选择30pF左右的瓷片电容。图2-6 时钟振荡电路2.5.2 STC89C52单片机按键模块设计键盘在单片机应用系统中是一个很关键的部件,它能实现向单片机系统输入数据、发送命令等功能,是人工干预单片机的主要手段。考虑到本设计实际需要的按键较少,故采用独立式键盘接口电路。在程序查询方式下,通过I/O端口读入按键状态,当有按键按下时,相应的I/O端口变为低电平,而未被按下的按键在上拉电阻作用下为高电平,这样通过读I/O口的状态判断是否有按键按下。本设计中将8个按键分别接在单片的
29、P3口,并公共端接地,采用高电平的触发方式。图2-7 按键电路2.5.3 STC89C52单片机LED模块设计LED 的全称是 Lighy Emitting Diode,即发光二极管。LED 是一种半导体固体发光器件,它是利用固体半导体芯片作为发光材料,当两端加上正向电压,半导体中的载流子发生复合引起光子发射而产生光。LED 可以直接发出红、黄、蓝、绿、青、橙 、紫、白色的光。本设计中用黄色的LED灯表示表决开始,用红色的LED灯表示表决未通过,用绿色的LED灯表示表决通过,且分别接在单片机的P1.2、P1.4、P1.6口上。图2-8 LED显示电路第3章 三人表决器的功能调试第3章 三人表决
30、器的功能调试3.1 调试过程 本系统的调试主要分为硬件调试、软件调试两大部分。经过初步的分析设计后,在制作硬件电路的同时,调试也在穿插进行。这样有利于问题的分析和解决,不会造成问题的积累,而且不会因为一个小问题而进行整体电路的检查,从而可以节约大量的调试时间。软件编程中,首先编写单元模块的程序,并且在硬件上调试成功问题,即可以做系统整体程序的调试。联机调试是最重要的一部分,同时也是本设计成功的关键。3.2 检测电路首先对电路进行通电,观察是否能正常工作,如不能正常工作,按原理图分模块进行电路检测,是否焊接正常,是否有虚焊或漏焊现象;如焊接正常,在按信号传递的方向逐级检测,找出出问题的一级,并向
31、该级的上级进行检测,直到将故障排除。对于虚焊和漏焊的情况最好的办法是先找到一个比较大的电路回路,如果用的是指针式万用表,打到欧姆档1X10欧姆档就可以测,如果是指针摆到最右,说明我们的线路连接是正常的!如果用的是数字万用表,我们可以调整到短路档位,接上要测的点直接就可以测,如果有蜂鸣响说明线路连接正常。3.3 仿真调试模拟调试:当电路搭建好之后,选中单片机STC89C52,左键点击STC89C52,在出现的对话框里点击Program File按钮,找到刚才Keil软件编译得到的HEX文件,载入然后点击“OK”按钮就可以模拟了。点击模拟调试按钮的运行按钮,进人调试状态。图3-1为运行按键:图3-
32、1 运行按键三人表决器初始化:图3-2 三人表决器初始化开始表决:图3-3 开始表决表决通过:图3-4 表决通过表决未通过:图3-5 表决未通过3.4 调试出现的问题1、将所编程的程序烧写在单片机8051芯片中,然后将其加入硬件电路中,然后进行调试,发现不能实现其功能。2、调整后继续进行调试,结果还是不能实现预期的功能,当按下的同意键大于反对建时,LED黄色灯亮;但当按下的反对建大于同意键时,仍然出现LED黄色灯亮;进一步对程序进行调试,后来发现是代码的LED引脚有错误,修正引脚之后,终于出现如期的性能。第4章 三人表决器软件设计第4章 三人表决器软件设计4.1.1 开发语言介绍C语言是在70
33、年代初问世的。一九七八年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。同时由B.W.Kernighan和D.M.Ritchit合著了著名的“THE C PROGRAMMING LANGUAGE”一书20。通常简称为K&R,也有人称之为K&R标准。但是,在K&R中并没有定义一个完整的标准C语言,后来由美国国家标准学会在此基础上制定了一个C 语言标准,于一九八三年发表。通常称之为ANSI C。 早期的C语言主要是用于UNIX系统。由于C语言的强大功能和各方面的优点逐渐为人们认识,到了八十年代,C开始进入其它操作系统,并很快在各类大、中、小和微型计算机上得到了广泛的使用。成为当代最优秀的
34、程序设计语言之一。C语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处理能力极强。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。它还可以直接访问内存的物理地址,进行位(bit)一级的操作。由于C语言实现了对硬件的编程操作,因此C语言集高级语言和低级语言的功能于一体。既可用于系统软件的开发,也适合于应用软件的开发。此外,C语言还具有效率高,可移植性强等特点。因此广泛地移植到了各类各型计算机上,形成了多种版本的C语言。C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它高级语言,许多大型应用软件都是用C语言编
35、写的。C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画它是数值计算的高级语言。4.2开发软件介绍4.2.1 Keil 4Keil 4是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统。这款软件提供了丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的是,Keil 4软件编译后生成的汇编代码,就能展现出生成的目标代码效率非常高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。图4-1 Keil4开发环境Keil软件中uVision与Ishell分别是C51 for
36、 Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,可载入Proteus仿真软件中的MCU中,进行功能仿真。Keil使用“工程”(Project)的概念,对工程(而不能对单一的源程序)进行编译/汇编、连接等操作。工程的建立、设置、编译/汇编及连接产生目标文件的方法非常易于掌握。应用
37、Keil进行软件仿真开发的主要步骤为:1.编写源程序并保存;2.建立工程并添加源文件;3.设置工程;4.编译/汇编、连接,产生目标文件;5.程序调试。Keil软件调试流程首先选择菜单File-New,在源程序编辑器中输入汇编语言或C语言源程序(或选择File-Open,直接打开已用其它编辑器编辑好的源程序文档)并保存,注意保存时必须在文件名后加上扩展名.asm(.a51)或.c。然后选择菜单Project-New Project,建立新工程并保存(保存时无需加扩展名,也可加上扩展名.uv2),工程保存后会立即弹出一个设备选择对话框,选择CPU后点确定返回主界面。图4-2 项目选择CPU器件这时
38、工程管理窗口的文件页(Files)会出现“Target1”,将其前面+号展开,接着选择Source Group1,右击鼠标弹出快捷菜单,选择“Add File to Group Source Group1”,出现一个对话框,要求寻找并加入源文件(在加入一个源文件后,该对话框不会消失,而是等待继续加入其它文件)。加入文件后点close返回主界面,展开“Source Group1”前面+号,就会看到所加入的文件,双击文件名,即可打开该源程序文件。紧接着对工程进行设置,选择工程管理窗口的Target1,再选择Project-Option for Target Target1(或点右键弹出快捷菜单再选
39、择该选项),打开工程属性设置对话框,共有8个选项卡,主要设置工作包括在Target选项卡中设置晶振频率、在Debug选项卡中设置实验仿真板等,如果要写片,还必须在Output选项卡中选中“Creat Hex Fi”;其它选项卡内容一般可取默认值。工程设置后按F7键(或点击编译工具栏上相应图标)进行编译/汇编、连接以及产生目标文件。图4-3 生成HEX文件成功编译/汇编、连接后,选择菜单Debug-Start/Stop Debug Session(或按Ctrl+F5键)进入程序调试状态(如图6.3),Keil提供对程序的模拟调试功能,内建一个功能强大的仿真CPU以模拟执行程序。Keil能以单步执
40、行(按F11或选择Debug-Step)、过程单步执行(按F10或选择Debug-Step Over)、全速执行等多种运行方式进行程序调试。图4-4 仿真调试状态窗口如果发现程序有错,可采用在线汇编功能对程序进行在线修改(Debug-Inline Assambly),不必执行先退出调试环境、修改源程序、对工程重新进行编译/汇编和连接、然后再次进入调试状态的步骤。对于一些必须满足一定条件(如按键被按下等)才能被执行的、难以用单步执行方式进行调试的程序行,可采用断点设置的方法处理(Debug-Insert/Remove Breakpoint或Debug-Breakpoints等)。在模拟调试程序后
41、,还须通过编程器将.hex目标文件烧写入单片机中才能观察目标样机真实的运行状况。Keil软件由于其强大的软件仿真功能,友好的用户界面以及易于掌握的特点,应用此软件来编写程序有着巨大的优势,熟悉此软件也是调试整个万年历系统的基础。4.2.2 Proteus ISIS Proteus ISIS是英国Labcenter Electronics公司开发的电路分析与实物仿真软件。它由ISIS和ARES两个软件构成,其中ISIS是一款便捷的电子系统仿真平台软件,它运行于Windows操作系统上,用户可以对模拟电路、数字电路、模数混合电路,以及基于微控制器的系统连同所有外围接口电子元器件一起仿真。图4-5
42、Proteus仿真环境Proteus软件运行流程Proteus ISIS的工作界面是一种标准的Windows界面,如图所示。包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。运行Proteus程序后,进入软件的主界面(如图6.4)。通过左侧工具栏中的P(从库中选择元件命令)命令,在Pick Devices 左侧窗口中选择所需元件的关键字,然后放置元件并调整方向和位置以及参数设置,最后进行连线。Proteus ISIS的工作界面:图4-6 Proteus ISIS的工作界面将所需要的元器件放置好后,绘制成原理图图4-7 仿真三人表决器的仿真图系统流程图是描绘系统物理模型的传统工具。它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件(程序、文件、数据库、表格、人工过程等),表达信息在各个部件之间流动的情况。系统流程图表达的是系统各部件的流动情况,而不是表示对信息进行加工处理的控制过程。系统流程图的作用表现在以下几个方面:1,制作系统流程图的过程是系统分析员全面了解系统业务处理概况的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- LY/T 2675-2024石斛
- 五年级下册听评课记录表
- 鲁教版地理七年级下册7.1《自然特征与农业》听课评课记录
- 生态修复资源共享合同(2篇)
- 甲乙方协议书(2篇)
- 2025年硫酸黏菌素类产品合作协议书
- 七年级数学上册第29课时和、差、倍、分问题听评课记录新湘教版
- 新版华东师大版八年级数学下册《17.3.2一次函数的图象1》听评课记录21
- 统编版初中语文八年级下册第五课《大自然的语言》听评课记录
- 七年级(人教版)集体备课听评课记录:1.2.1《有理数》
- 机动车商业保险条款(2020版)
- 《大小比较》(说课课件)二年级下册数学西师大版
- 张五常子女和婚姻合约中的产权执行问题
- 口腔粘膜常见疾病
- 校园安全派出所
- 餐厅值班管理培训
- XXXX无线维护岗位认证教材故障处理思路及案例分析
- 酒店春节营销方案
- 营销管理方案中的定价策略与盈利模式
- 2024年西宁城市职业技术学院高职单招(英语/数学/语文)笔试历年参考题库含答案解析
- 2024年临沂市高三一模(学业水平等级考试模拟试题)物理试卷
评论
0/150
提交评论