用Proteus仿真单片机的方法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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为

相关文档
最新文档