您的当前位置:首页正文

Proteus和Keil在单片机控制系统仿真中的应用

来源:化拓教育网
科 信l息I科 学 Proteus 和Keil在单片机控制系统仿真中的应用 高伟聪t王亚平 (1、山东外事翻译职业学院,山东济南250100 2、唐山一中,河北唐山063000) 摘要:结合具体实例介绍了Proteus和Keil在单片机控制仿真中的应用及联调设置方法。 关键词:Proteus;Keil;联调;仿真 引言 单片机应用技术所涉及到的实验实践环 节较多,且硬件投入较大,如果因为控制方案有 误而进行相应的开发设计,会浪费较多的时间 和经费。Proteus仿真软件很好的解决了这些问 题,它可以象Pmtel一样绘制硬件原理图并实 现硬件调试,再与Keil编程软件进行联调,实 现对控制方案的验证。尤其对于初学单片机者 提供了极大的方便。 1 Proteus和Keil简介 Proteus是英国Labcenter公司开发多功能 EDA软件。Proteus不仅是模拟电路、数字电路、 模,数混合电路的设计与仿真平台,更是目前世 界上最先进的单片机系统的设计与仿真平台。 该软件的特点是: 1.1实现了单片机仿真和SPICE电路仿真 相结合,具有模拟电路仿真、数字电路仿真、各 种单片机(51系列、AVR、PIC等常用的MCU) 及其外围电路(如LCD、RAM、ROM、键盘、 LED、A/D、D/A……)组成的系统仿真; 1.2提供了多种虚拟仪器,如示波器、逻辑 分析仪、信号发生器等,调试非常方便; l-3提供软件调试功能,同时支持第三方 的软件编译和调试环境,如Keil等软件; 1.4具有强大的原理图绘制功能。 Proteus与其它单片机仿真软件不同的是, 它不仅能仿真单片机CPU的工作情况,也能仿 真单片机外围电路或没有单片机参与的其它电 路的工作情况。因此在仿真和程序调试时,关 心的不再是某些语句执行时单片机寄存器和存 储器内容的改变,而是从工程的角度直接看程 序运行和电路工作的过程和结果。对于这样的 的温度值及设定的温度值经12C总线进人存储 器,同时送显示电路进行显示。设定的温度值经 键盘电路可进行修改并刷新显示,同时进行温 度采集值与设定值的比较,如果超出设定温度 的范围则由报警电路进行声光报警。 2.2数据采集电路的设计 数据采集电路如图2所示,由温度传感器 TC74对室内的温度进行实时采集,经I2C总线 存人具有I2C总线规格的存储器中并提供给 89C51以进行温度的实时显示。I2C总线接口为 开漏或开集电极输出,故需加上拉电阻。 Tc74是一个串行接口的数字温度传感 器,温度数据由热传感单元转换而来,是一个8 位的数字传感器。TC74的测温范围为一65℃叶 l30℃,其温度分辨率为±1℃。它将数据存储在 内部寄存器中,而后通过串行口读取。TC74有 8个可编程的I2C地址,这使多传感器配置得以 实现。而且,在温度获取暂停时,器件进入低功 耗等待方式。 2_3键盘及显示电路的设计 由于本系统所用到的按键较少,故采用了 独立式键盘。按键分别与5l的P1.3~P1.5相 连。通过读取P1口状态的变化来确定按键的状 态,键值的读取是利用定时器0进行定时扫描 来获得的。各按键的功能定义如表l所示。 表1按键功能表 件电路调试。在Keil软件中选择单片机 AT89C51,用汇编语言编写程序并完成软件的 语法调试,主程序流程图如图3所示。 图3系统主程序流程图 Proteus和Keil联调需要一定设置,具体步 骤如下: a.把安装proteus\MODELS目录下 VDM51.dll文件复制到Keil安装目录的 \C51\BIN目录中; b.修改keil安装目录下Tools.ini文件,在 C5l字段加入TDRV5=BINWDM51.DLL(‘‘Pro— teus VSMMonitor-51 Driver”); c.在proteus的debug菜单中选中use re— mote debug monitor; 仿真实验,从某种意义上讲,是弥补了实验和工 程应用间脱节的矛盾和现象。同时,当硬件调试 成功后,利用Proteus ARES软件,很容易获得 其PCB图,为今后的制造提供了方便。 Keil是德国Keil公司开发的单片机编译 器,是目前最好的51单片机开发工具之一,可 以用来编译C源码、汇编源程序、连接和重定 位目标文件和库文件、创建HEX文件、调试目 标程序等,是一种集成化的文件管理编译环境。 2应用实例 以一室温控制系统的单片机实现为例。 2.1系统实现 d.进入Keil的pmject菜单option for ta get“工程名”。在DEBUG选项中右栏上部的下 显示部分采用4片共阴极LED动态显示 拉菜单选中Proteus VSM Monitor一51 Driver。 电路,显示内容分别为温度采集值的十位、个位 在 进入seting,如果同一台机IP名为 和温度设定值的十位、个位。为了使温度采集值 127.0.0.1,如不是同一台机则填另一台的IP地 与设定值能够独立显示,4片LED分成了两组, 址。端口号一定为8000; e.在keil中运行,同时在proteus中查看 每组由2片LED组成,每组的段选信号分别经 总线驱动器74LS244与P2、Po口相连,控制数 LED的显示。 码管的显示字符。各片的位选信号由P3.4、P3.5 3结论 经2—4译码器74LS139提供。 通过实例的仿真实现,我们不难看出利用 Proteus与Keil联调进行仿真实验,具有很强大 的开发优势。它不仅可以进行系统全部软件的 功能调试,而且还可以进行大多数硬件的系统 调试。这样,针对单片机应用系统的开发,既可 提高其效率,也可降低其开发成本。 参考文献 图1为系统硬件原理图。 数据采集 51 【1]李群芳,肖看.单片机原理、接口及应用——嵌 入式系统技术基础[M].北京:清华大学出版社. 2005,3. 毽盘控制}__一 片 保护电路 机 照 图1系统硬件结构图 温度传感器对室内温度进行采集,采集到 [21张靖武,周灵彬.单片机系统的PROTEUS设 图2温度采集及键盘电路部分的仿真图 计与仿真fM].北京:电子工业出版社,2007,4. 2.4利用Proteus和Keil联调实现动态仿 [3】刘守义,杨宏丽,王静霞.单片机应用技术【M】. 真 西安:西安电子科技大学出版社,2002,8. 在Proteus软件中绘制电路图,并进行硬 一76— 

因篇幅问题不能全部显示,请点此查看更多更全内容