本文结合实例,介绍了基于Proteus的单片机电路系统设计和仿真过程。与传统方法相比,使用Proteus可以提高单片机系统设计效率,具有很好的经济性、灵活性。
1 引言
单片机电子类等相关专业的一门重要课程,在实际工程中有着广泛应用。全各大中专院校开设了不同类型的单片机课程及相关的实验和综合设计。在些专业的课程设计、毕业设计及大学生电子竞赛中控制工程网版权所有,单片机也是一种非常重要的开发工具。
随着计算机技术的迅速发展,使用EDA软件进行电路仿真与设计已经成为一种趋势。众多院校在电路实践教学改革中引入了EDA技术,并建立了EDA实验室。配备了EWB、Pspice、Multisim、Protel、MaxPlus II、SystemView等相关软件及配套硬件。但这些设备对仿真单片机却无能为力。本文介绍的一款EDA软件--Proteus,则有很大的不同,它的最大特点就是能仿真单片机。
目前Proteus已在全球广泛使用。国外有包括斯坦福、剑桥等在内的几千所高校将Proteus作为电子工程学科的教学和实验平台;近几年,国内也开始流传,有一些大学正
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中查看直观的结果。这样就可以像使用仿真器一样调试程序了。
由上述例子可以看出CONTROL ENGINEERING China版权所有,Proteus可以很方便地与K