×
嵌入式 > 嵌入式开发 > 详情

用PROTEUS对单片机进行仿真的方法与实例

发布时间:2020-08-24 发布时间:
|
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)
单片机AT89C51Microprocessor ICs8051 Family
按钮开关BUTTONSwitches & RelaysSwitches
电容器CAPCapacitorsGeneric
电解电容器CAP-ELECCapacitorsGeneric
电阻器RESResistorsGeneric
发光二极管LED-REDOptoelectronicsLEDs
晶振CRYSTALMiscellaneous

如果一开始对种类不熟悉,可直接在对话框的KEYWORDS中输入元件的名称如AT89C51、CAP等,就可以直接找到所需的元件,如图3。


添加好元件的对象选择器元件列表见图4。



3.放置元件
在元件列表中左键选取AT89C51,在原理图编辑窗口中适当的位置单击左键,这样AT89C51就被放到原理图编辑窗口中了,同样放置其它元件。两次右击可以删除放置的元件,右击选中元件后按方向控制按钮可改变元件的方向。右击选中元件后再按住左键可移动元件位置。
4.放置“地”、“电源”
添加“地”:左键选择模型选择工具栏中的 图标,在图5中左键选择



GROUND,并在原理图编辑窗口中左击,这样“地”就被放置到原理图编辑窗口中了。
同样地,选择POWER可放置“电源”。


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
单片机汇编语言 如何实现点亮熄灭二极管