淮阴工学院毕业设计说明书(论文)
第 11 页 共 45 页
图4-1输出提示信息
至此,我们在Keil C51上做了一个完整工程的全过程。但这只是纯软件的开发过程,如何使用程序下载器看一看程序运行的结果呢?
单击“Project”菜单,再在下拉菜单中单击“Options for Target‘Targrt1’”,单击“Output”中单击“Create HEX File” 选项,点击“确定”,使程序编译后产生HEX代码,供下载器软件使用。就可把程序下载到AT89C52单片机中。如图4-2所示。
图4-2 设置生成HEX代码
4.2 Proteus介绍
4.2.1 概述
由于微电子技术的迅猛发展,单片机在汽车、通信、办公自动化、工业控制、高级玩具、家用电器等方面都得到了广泛的应用。单片机作为嵌入式系统的核心器件,其系统设计包括硬件电路设计和程序设计两个方面,调试过程一般分为软件调试、硬
淮阴工学院毕业设计说明书(论文)
第 12 页 共 45 页
件测试、系统调试3个过程。软件调试一般比较容易进行,但如果要进行硬件电路测试和系统调试则比较麻烦,因为要进行这两个过程必须在电路板制作完成、元器件焊接完毕之后进行,而且电路板的制作、元器件的安装、焊接费时费力。如果采用作为单片机系统仿真软件Proteus,则不用制作具体的电路板也能够完成以上工作。毫无疑问,在使用Proteus进行系统虚拟开发成功之后再进行实际制作,必然可以提高开发效率、降低开发成本、提高开发速度,而这些因素对于企业来讲是非常重要的。 4.2.2 Proteus 软件介绍
Proteus是基于SPICE3F5仿真引擎的混合电路仿真软件,不仅能够仿真模拟、数字电路以及模数混合电路,更具特色的是它能够仿真基于单片机的电子系统。Proteus不但完全支持MCS-51及其派生系列单片机的设计系统,另外也能仿真基于AVR和PIC系列的单片机系统。Proteus软件可提供的模拟、数字、交(直)流等元器件达30多个元件库,共计数千种。此外,对于元件库中没有的器件,使用者也可依照需要自己创建。软件调试方面,其自身只带汇编编译器,不支持C语言。但可以将它与Keil C51集成开发环境连接,将用汇编和C语言编写的程序编译好之后,可以立即进行软、硬件结合的系统仿真,像使用仿真器一样来调试程序[21]。 4.2.3 Proteus 的工作过程
运行Proteus 的ISIS 程序后,进入该仿真软件的主界面。在工作前,要设置view 菜单下的捕捉对齐和system 下的颜色、图形界面大小等项目。通过工具栏中的p(从库中选择元件命令)命令,在pick devices 窗口中选择电路所需的元件,放置元件并调整其相对位置,元件参数设置,元器件间连线,编写程序;在source 菜单的Define code generation tools 菜单命令下,选择程序编译的工具、路径、扩展名等项目;在source菜单的Add/Remove source files 命令下,加入单片机硬件电路的对应程序;通过debug 菜单的相应命令仿真程序和电路的运行情况。Proteus 软件所提供了30 多个元件库,数千种元件。元件涉及到数字和模拟、交流和直流等[21]。 4.2.4 Proteus 软件所提供的调试手段
Proteus 提供了比较丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。对于单片机硬件电路和软件的调试,Proteus 提供了两种方法:一种是系统总体执行效果,一种是对软件的分步调试以看具体的执行情况。对于总体执行效果的调试方法,只需要执行debug 菜单下的execute 菜单项或F12 快捷键启动执行,用debug 菜单下的pause animation 菜单项或pause 键暂停系统的运行;或
淮阴工学院毕业设计说明书(论文)
第 13 页 共 45 页
用debug 菜单下的stop animation 菜单项或sHift-break 组合键停止系统的运行。其运行方式也可以选择工具栏中的相应工具进行。对于软件的分步调试, 应先执行debug 菜单下的start/restart debugging 菜单项命令,此时可以选择step over 、step into 和 step out 命令执行程序(可以用快捷键F10、F11 和ctrl+F11),执行的效果是单句执行、进入子程序执行和跳出子程序执行。在执行了start / restart debugging命令后,在debug 菜单的下面要出现仿真中所涉及到的软件列表和单片机的系统资源等,可供调试时分析和查看。
4.3 Proteus与Keil的联调
(1)当Proteus里的硬件图画好后,双击AT89C52,出现如图4-3的对话框:
图 4-3图形编辑窗口
(2)单击“Program File:”后面的文件夹,打开刚保存的keil文件夹,选中“che.hex”,出现如图4-4的框图:
图 4-4选择程序执行文件
(3)单机“打开”,出现如图4-5的对话框,单机“OK”,程序便被加载入单
淮阴工学院毕业设计说明书(论文)
片机里,可以进行仿真调试了。
第 14 页 共 45 页
图 4-5添加程序执行文件
(4)当改变一次汇编语言软件程序,就要在Keil C51里再编译一次产生hex文件,这样才能在Proteus里看到改变程序后的仿真结果。
4.4 调试结果以及现象分析
在Proteus绘制好原理图后,调入已编译好的目标代码文件*.HEX,可以在Proteus的原理图中看到模拟的实物运行状态和过程。Proteus具有设计灵活,便于仿真的特点,可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。因此在单片机开发应用中,Proteus将获得愈来愈广泛的应用。
如图4-6为里程仿真图1,由图可知,开关没有闭合,而且是发光二极管D1亮,而发光二极管D2不亮,表明此时显示的是里程状态,数码管显示为004,表示此时电动车所行使的里程是0.4公里,电动车蓄电池此时的电量为48V。
淮阴工学院毕业设计说明书(论文)
第 15 页 共 45 页
图4-6 里程仿真图1
如图4-7为里程仿真图2,由图可知,开关没有闭合,而且是发光二极管D1亮,而发光二极管D2不亮,表明此时显示的是里程状态,数码管显示为014,表示此时电动车所行使的里程是1.4公里,电动车蓄电池此时的电量为40V。
图4-7 里程仿真图2
如图4-8为速度仿真图,由图可知,开关闭合,而且是发光二极管D1不亮,而发光二极管D2亮,表明此时显示的是速度状态,数码管显示为018,表示此时电动车所