用Proteus仿真单片机的方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用PROTEUS对单片机进行仿真的方法与实例
吴汉清
Proteus软件是英国Labcenter Electronics公司的一款电路设计与仿真软件,它包括ISIS、ARES等软件模块,ARES模块主要用来完成PCB 的设计; ISIS模块用来完成电路原理图的布图和仿真。它可以进行模拟电路仿真、数字电路仿真,也可以进行单片机及其外围电路组成的系统的仿真;软件提供了各种虚拟仪器,如示波器、逻辑分析仪、信号发生器、电压表、电流表等。和其它仿真软件相比,Proteus ISIS最大特色是对单片机系统的仿真,目前支持的单片机类型有: 68000系列、8051系列、ARM系列、AVR系列、PIC系列、Z80系列、HC11系列等。本文主要介绍Proteus软件在单片机方面的仿真功能,即ISIS模块的用法。
在单片机学习开发的过程中,程序的调试是一个很重要的环节,要安装电路进行实验,而且电路在调试过程中往往要进行调整和改变,这不紧增加了费用和难度,而且也影响了学习和开发的进度,这也成了一些初学者学习的障碍。如果使用Proteus 软件就可以大大节省时间和开发费用,可以在软件仿真通过后再制作印刷电路板进行电路实验。
一、Proteus ISIS软件的工作环境和一些基本使用方法
下面通过一个流水灯的实例来说明Proteus的基本使用方法,使用的软件版本是Proteus.Professional 7.1 SP2。
流水灯使用AT89C51单片机,用P2口作输出口。先在Keil uVision编译器中输入下列程序:
#include
void Delay1ms(unsigned int count)//延时子程序
{
unsigned int i,j;
for(i=0;i for(j=0;j<120;j++); } main() //主程序 { unsigned char LEDIndex = 0; bit LEDDirection = 1; while(1) { if(LEDDirection) P2 = ~(0x01< else P2 = ~(0x80>>LEDIndex); if(LEDIndex==7) LEDDirection = !LEDDirection; LEDIndex = (LEDIndex+1)%8; Delay1ms(200); } } 将上述程序编译生成目标文件LED.hex。 然后按下列步骤进行: 1. 运行Proteus 7 Professional(ISIS 7 Professional) 出现如图1所示的界面: 这是一种标准的Windows界面,包括标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。 2.添加元件到对象选择器元件列表中 单击绘图工具栏中的按钮,再单击对象选择按钮P,出现挑选元件对话框,见图2。按表1添加本例所用的元件。 表1 名称元件种类(Category)子种类(Sub-category) 单片机AT89C51 Microprocessor ICs 8051 Family 按钮开关BUTTON Switches & Relays Switches 电容器CAP Capacitors Generic 电解电容器CAP-ELEC Capacitors Generic 电阻器RES Resistors Generic 发光二极管LED-RED Optoelectronics LEDs 晶振CRYSTAL Miscellaneous 如果一开始对种类不熟悉,可直接在对话框的KEYWORDS中输入元件的名称如AT89C51、CAP等,就可以直接找到所需的元件,如图3。 添加好元件的对象选择器元件列表见图4。 3.放置元件 在元件列表中左键选取AT89C51,在原理图编辑窗口中适当的位置单击左键,这样AT89C51就被放到原理图编辑窗口中了,同样放置其它元件。两次右击可以删除放置的元件,右击选中元件后按方向控制按钮可改变元件的方向。右击选中元件后再按住左键可移动元件位置。 4.放置“地”、“电源” 添加“地”:左键选择模型选择工具栏中的图标,在图5中左键选择 GROUND,并在原理图编辑窗口中左击,这样“地”就被放置到原理图编辑窗口中了。 同样地,选择POWER可放置“电源”。 5.编辑元件的属性 右击选元件后再左击即可编辑元件的属性,也可以右击后在快捷菜单中选择命令Edit Prorerties。如R1的属性窗口如图6。 在对AT89C51的属性进行编辑时要加入仿真文件,在Program File中单击出现文件浏览对话框,找出LED.hex文件,单击确定完成添加文件,单击OK退出。 6.连线 在要连线的一个点左击,移动鼠标到到另一个点再左击即可画好一条连线,按放置导线连接结点,画好连线的仿真电路图见图7。 AT89C51的VSS、VDD不需要连线,默认VSS=0V、VDD=+5V、GND=0V。 7.仿真 单击仿真进程控制按钮中的开始仿真,我们可看到发光二极管分别按两个方向依次点亮。输出端的小方点红色代表高点平,蓝色代表低电平,灰色代表不确定电平。 在仿真时单片机的晶振电路和复位电路可以省略不画,时钟频率可以在AT89C51的属性中设置,默认值为12MHz。 对于设计好的文件可以保存以便下次调用。 二、单片机仿真实例 上面通过一个简单的例子介绍了Proteus ISIS的基本使用方法,下面再通过笔者设计的几个实例进一步介绍Proteus ISIS的使用方法和技巧,同时也能够使大家看到几个单片机应用的实例。 1.电感测试仪 电感测试仪以电感加上电压后电流增加的规律作为测量依据,因为电感加上电压后电流增加的速度与电感量相关,通过测量电流达到某一预定值所花的时间就能测量出电感的电感量。单片机使用AT89C2051,测量电路如图8所示,A为