本文结合实例,介绍了基于Proteus的单片机电路系统设计和仿真过程。与传统方法相比,使用Proteus可以提高单片机系统设计效率,具有很好的经济性、灵活性。
1 引言
单片机是电子类等相关专业的一门重要课程,在实际工程中有着广泛应用。全国各大中专院校开设了不同类型的单片机课程及相关的实验和综合设计。在这些专业的课程设计、毕业设计及大学生电子竞赛中,单片机也是一种非常重要的开发工具。
随着计算机技术的迅速发展,使用EDA软件进行电路仿真与设计已经成为一种趋势。众多院校在电路实践教学改革中引入了EDA技术,并建立了EDA实验室。配备了EWB、Pspice、Multisim、Protel、MaxPlus II、SystemView等相关软件及配套硬件。但这些设备对仿真单片机却无能为力。本文介绍的一款EDA软件——Proteus,则有很大的不同,它的最大特点就是能仿真单片机。
目前Proteus已在全球广泛使用。国外有包括斯坦福、剑桥等在内的几千所高校将Proteus作为电子工程学科的教学和实验平台;近几年,国内也开始流传,有一些大学正在体验Proteus所带来的独一无二的功能并申报大学计划[1]。
2 Proteus简介
Proteus软件是由英国Labcenter Electronics公司开发的EDA工具软件,已有近20年的历史。该软件集成了高级原理布图、混合模式SPICE电路仿真、PCB设计以及自动布线来实现一个完整的电子设计系统。它是一种混合电路仿真工具,包括模拟电路仿真、数字电路仿真、单片机及其外围电路组成的仿真等。
Proteus软件由ISIS和ARES两个软件构成,其中ISIS是一款便捷的电子系统仿真平台软件,ARES是一款高级的布线编辑软件[2]。ISIS是一个操作简便且功能强大的原理绘图工具,它整合了SPICE的仿真模型,拥有超过8000个元件的庞大库结构。ARES则可将ISIS的仿真原理图生成PCB版图。
Proteus支持许多通用的微控制器,如PIC系列、AVR系列、8051系列等;同时它还支持ARM、PLD及各种外围芯片的仿真,如基于 HD44780芯片的字符LCD、RAM等;具有单步运行、断点设置等调试功能;能与常用编译器如Keil、IAR、Proton等协同调试;有直流电流表/电压表、交流电压表/电流表、示波器逻辑分析仪、频率计等虚拟仪器,为仿真中的测量记录提供了方便;支持图形化分析功能,具有频率特性、傅里叶分析等图形方式,可将仿真曲线精美地绘制出来。
3 Proteus应用举例
下面以基于51单片机的“数字电压表”为例,说明使用Proteus和Keil软件进行单片机系统设计和仿真的过程。
首先,用Proteus ISIS画好电路图(注意MCU的最小系统的外围电路在仿真时可以省略)。并用Keil C51编写相应程序,编译无误后生成.hex文件。其次,将生成的.hex文件“下载”到51芯片中,步骤如下:鼠标右击AT89C51,然后左击,出现相应元件的属性对话框。如图1所示,在该对话框的“Program File”一项中选择要加入的.hex文件。最后,点击Play键可看到电路仿真结果(如图2所示):调节滑动变阻器的大小,对应电压值随之而呈现线性变化。仿真结果完全正确。
图1 AT89C51元件属性框 图2 Proteus电路仿真效果图 此外,Proteus还可以和Keil进行联调。联调设置步骤如下:
(1)把安装目录Proteus\MODELS下的VDM51.dll文件复制到Keil安装目录的\C51\BIN目录中。
(2)修改Keil安装目录下Tools.ini文件,在C51字段加入TDRV5=BIN\VDM51.DLL(“PROTEUS 6 EMULATOR”)并保存。注意:不一定要用TDRV5,根据原来字段选用一个不重复的数值就可以了。引号内的名字随意。
(3)打开Proteus,画出相应电路,在Proteus的“Debug”菜单中选中“Use Remote Debug Monitor”。
(4)进入Keil的Project菜单Option for Target‘工程名’。在Debug选项中右栏上部的下拉菜单选中Proteus Driver。再进入Settings,机子IP设为127.0.0.1,端口号为8000。
(5)在Keil中进行debug,同时在Proteus中查看直观的结果。这样就可以像使用仿真器一样调试程序了。
由上述例子可以看出,Proteus可以很方便地与Keil C51集成开发环境连接,程序编译好之后,立即可以进行软、硬件结合的系统仿真。利用Proteus仿真只需很少设备,就可以完成小到走马灯、电子钟,大到电机控制系统等单片机系统设计,具有明显的经济优势。对于学生来说,由于使用方便,可以提高学习兴趣。当然,它有一些不足。比如仿真模型器件库中没有一些元器件模型,或有的模型由于缺少仿真文件,不能进行仿真等[3]。
4 结语
使用Proteus进行单片机系统设计利大于弊,可以解决单片机实验室硬件投入不足和设备维护困难等问题,克服实验箱硬件电路固定、实验内容难于改动等局限,有利于促成课程和教学改革,更有利于人才的培养。
在单片机课程设计和全国大学生电子设计竞赛中,我们使用Proteus开发环境对学生进行培训,在不需要硬件投入的条件下,学生普遍反映,对单片机的学习比单纯学习书本知识更容易接受,更容易提高。实践证明,在使用Proteus进行系统仿真开发成功之后再进行实际制作,能极大提高单片机系统设计效率。因此,Proteus有较高的推广利用价值。
|