Proteus仿真软件使用方法

Proteus仿真软件使用方法
Proteus仿真软件使用方法

实验八 Proteus仿真软件使用方法

1.实验目的:

(1)了解Proteus仿真软件的使用方法。

(2)了解51单片机编程器Keil与Proteus仿真软件的联用方法。

2.实验要求:

通过讲授和操作练习,学会正确使用Proteus仿真软件及Keil编程及其联合调试。

3.实验内容:

(1)Proteus 仿真软件介绍

Proteus 软件是由英国LabCenter Electronics 公司开发的EDA工具软件,由ISIS和ARES两个软件构成,其中ISIS是一款便捷的电子系统仿真平台软件,ARES是一款高级的布线编辑软件。它集成了高级原理布线图、混合模式SPICE电路仿真、PCB设计以及自动布线来实现一个完整的电子设计。

通过Proteus ISIS软件的VSM(虚拟仿真技术), 用户可以对模拟电路、数字电路、模数混合电路,以及基于微控制器的系统连同所有外围接口电子元器件一起仿真。

图8-1是Proteus ISIS的编辑窗口:

图8-1 ISIS的编辑界面

图中最顶端一栏是“标题栏”,其下的“File View Edit ……”是“菜单栏”,再下面的一栏是“命令工具栏”,最左边的一栏是“模式选择工具栏”;左上角的小方框是“预览窗口”,其下的长方框是“对象选择窗口”,其右侧的大方框是“原理图编辑窗口”。

选择左侧“模式选择工具栏”中的图标,并选择“对象选择窗口”中的P按钮,就会出现如图8-2的元器件选择界面:

图8-2 元器件库选择界面

在元器件列表框中点击你需要的器件类型(例如:电阻-Resistors,单片机芯片-MicroprocessorICs, LED-Optoelectronics)或在左上角的关键字(Keywords)框中输入你需要的器件名称的关键字(如:信号源 - Clock, 运放 - CA3140等),就会在图8-2中间的大空白框列出你所需的一系列相关的元件。此时,你可用鼠标选中你要的元件,则图8-2右上角的预览框会显示你所要元件的示意图,若就是你要的元器件,则点击OK按钮,该元器件的名称就会列入位于图8-1左侧的“对象选择窗口”中(参见图1左侧下方框)。

所需元器件选择好后,在“对象选择窗口”选择某器件,就可以将它放到图8-1中的“原理图编辑窗口”中(若器件的方向不合适,你可以利用图1左下角的旋转按钮来改变它)。将所要的元器件都选好后,将它们安放到合适的位置,就可以用连接线把电路连接好,结果存盘(请按规定的目录存盘,并记住其路径/目录/文件名[学号-实验序号])。

(2)51单片机编程器– Keil V3的使用

Keil编程器可用于MCS-51单片机软件编程与调试,它的工作界面如图8-3所示:

Keil编程器是Keil Software Inc/Keil Electronic GmbH 开发的基于80C51内核的微处理器软件开发平台,可以完成从工程(Project)的建立和管理、程序的编译和连接、目

标代码的形成、软件仿真等一套完整的软件开发流程。它与Proteus挂接,可以进行单片机应用系统的硬件仿真。

汇编语言编程方法:

①打开“File”菜单→选择新建“New...”→在弹出的文本框(Text1)中编写所需的汇编语言程序→程序写好后,保存(从File→Save As..→选择某目录,文件名.ASM, 存盘);

②打开“Project”菜单→选择新建工程“New Project...”→在弹出的窗口填写:工程名→保存(文件名的后缀是 .uv2 。此时图8-3的工程窗口中将建立Target1及Source Group 1);

③打开“Project”菜单→选择Components,Environment,Books...→在弹出的窗口的Project Components 点击“Add Files”→加入所写的汇编文件(选中该文件,Add);

④打开“Project”菜单→选择“Select Device for Target ‘Target 1’”→在弹出的CPU窗口选择所用的单片机厂家(选Atmel)及CPU芯片名称(如AT89C51),按“确定”键;

⑤打开“Project”菜单→选择“Options for Target ‘Target 1’”→在弹出的窗口中选择“Output”→填入输出文件名称,并选择输出文件类型(HEX文件),[见图8-4]。

图8-3 Keil V3 界面图

图8-4 为输出文件命名及确定HEX类型

⑥打开“Project”菜单→选择“Options for Target ‘Target 1’”→在弹出的窗口中选择“Debug”→为连接调试选择仿真器 [见图8-5] →按“确定”键。

图8-5 选择调试的仿真器及运行设置

⑦单击(参见图8-3)完成对所编写程序的编译,编译情况会显示在图8-3的输出窗口中,如有语法错误,会给出提示,应修改出错处后,再次编译。

(3)仿真:

在Proteus ISIS 界面调入所设计的硬件图,双击CPU,填入相应的HEX运行文件的名称(参见图8-6,文件所在目录应正确),点击运行按钮,即可实现与硬、软件的联合调试。

图8-6 单片机程序可执行文件的路径、名称输入

(4)示例:硬件电路图见图8-7所示;相应的汇编语言程序如下:ORG 0000H

AJMP MAIN

MAIN: MOV C, ;将接按键的I/O口的状态(0或1)移给进位位C , MOV , C ;再由进位位C转给对应的发光二极管的连接位。

MOV C, ;以便控制发光二极管的亮或灭。

MOV , C

MOV C,

MOV , C

MOV C,

MOV , C

ACALL DELAY

AJMP MAIN

DELAY: MOV R5, #5FH ;软件延时子程序

L1: MOV R6, #0AFH

DJNZ R6, $

DJNZ R5, L1

RET

图8-7 示例的硬件电路图

在Keil编程界面输入上述程序,编译成可执行HEX文件,双击图8-7的CPU,参考图8-6填好相应的HEX文件的路径及名称,按“OK”键退出。点击运行按钮(图8-7下沿的),运行情况见图8-8所示。

图8-8 示例电路运行结果

请自己完成以上示例的硬、软件调试。每人的实验结果打包,以文件名(DZ班-学号-实验序号)上交,并完成实验报告。

(3)KEIL编译器与Proteus软件联调

图8-10 远程联调Proteus设置

在Proteus ISIS 界面调入所设计的硬件图,点击调试,使用远程调试设备选项打√,即启动了Proteus与Keil的远程联调功能。紧接着点击ISIS 界面左下方的按钮,使得所设计的电路处于运行模式。

Keil平台,创建工程,打开“Project”菜单→选择“Options for Target ‘Target 1’”→在弹出的窗口中选择“Debug”→为连接调试选择仿真器 [见图8-11] →按“确定”键。

图8-11 Keil+Proteus联调Keil端设置

设置完毕后,点击Keil工程编译成功,点击图8-12的按钮,使得编译成功的源文件进入调试状态。

图8-12 Keil+Proteus联调

进入联调状态,程序处于待运行状态,最初始的时候,PC指针光标指向0000H开始的位置。用户分别选择四个功能键,可以实现程序全速运行,单步进入,单步退出及程序复位等功能的选择。实现程序运行的Debug跟踪,辅助调试程序,最终用户运行的结果可以通过图8-10的ISIS界面观察硬件的状态变化。

图8-13 程序运行状态

(4)作业:

在Proteus ISIS 界面设计图8-14、8-15所示的MCS-51单片机分别于ADC0809及DAC0832的接口的电路原理图,为下一次实验做好准备。

图8-14 8031与ADC0809的接口设计

图8-14 8031与DAC0832的接口设计

实验九并行AD、DA实验

1.实验目的

①掌握采用并行接口实现外部器件的扩展方法;

②掌握ADC0809模/数转换芯片与单片机的接口设计及ADC0809的典型应用;

③掌握DAC0832模/数转换芯片与单片机的接口设计及DAC0832的典型应用。

2.预习要求

①理解内存与IO统一编址的外设端口地址的映射及控制;

②理解用查询方式、中断方式完成模/数转换程序的编写方法;

③理解DAC0832直通方式,单缓冲器方式、双缓冲器方式的编程方法。

3.实验设备

计算机 1台;

Proteus仿真软件 1套。

4.实验说明

④ADC0809的工作方式

AD从启动转换到转换结束需要一段时间,称为转换时间。ADC0809转换是否结束可以通过EOC管脚表征。在START信号上升沿之后不久,EOC变为低电平。当A/D转换结束时,EOC立即输出一正阶跃信号,可用来作为A/D转换结束的查询信号或中断请求信号。从启动AD转换到实现AD转换结果的读取有三种方法:延时法、查询法和中断法。

延时法就是在启动AD转换结束后,经过一段时间的等待之后(等待时间>=转换时间),实现AD转换结果的读取。

查询法是启动AD转换结束后,不断查询EOC的管脚电平的状态是否为高电平,如果条件满足,认为转换结束,进行AD转换结果的读取。

中断法是利用EOC转换结束后产生的电平变化,触发单片机的外部中断,并在中断服务程序内,实现AD转换结果的读取。由于表征ADC0809转换结束的EOC电平逻辑与89C51单片机外部中断电平逻辑标准相反,所以采用中断法触发89C51的外部中断,需

要将EOC经过一个反相器,再与外部中断接口连接。

⑤ DAC0832的工作方式

DAC0832内部有两个寄存器,能实现三种工作方式:双缓冲、单缓冲和直通方式。

双缓冲工作方式是指两个寄存器分别受到控制。当ILE、CS和WR1信号均有效时,8位数字量被写入输入寄存器,此时并不进行A/D转换。当WR2和XFER信号均有效时,原来存放在输入寄存器中的数据被写入DAC寄存器,并进入D/A转换器进行D/A转换。在一次转换完成后到下一次转换开始之前,由于寄存器的锁存作用,8位D/A转换器的输入数据保持恒定,因此D/A转换的输出也保持恒定。

单缓冲工作方式是指只有一个寄存器受到控制。这时将另一个寄存器的有关控制信号预先设置成有效,使之开通,或者将两个寄存器的控制信号连在一起,两个寄存器作为一个来使用。

直通工作方式是指两个寄存器的有关控制信号都预先置为有效,两个寄存器都开通。只要数字量送到数据输入端,就立即进入D/A转换器进行转换。这种方式应用较少。

5.基础型实验内容

①图9-1为ADC0809的扩展电路图,利用Proteus仿真软件设计该硬件电路图。说明

AD转换的过程,并在Keil环境设置断点运行以下程序,可调电源分别调至两个极端,观察寄存器及内存单元的变化。

图9-1 ADC0809的扩展电路图

ORG 0000H

MAIN: CLR A

SETB ;设定与EOC接口IO处于接收状态

MOV DPTR,#0FEF8H ;选择A/D端口地址

NOP

MOVX @DPTR,A ;启动AD转换

WAIT: JB ,WAIT

MOVX A,@DPTR ; 读入结果

NOP

LJMP MAIN

②图9-2为DAC0832的扩展电路图,利用Proteus仿真软件设计该硬件电路图。填写

下列程序中的空白处,说明DA转换的过程,并在Keil环境运行设置断点运行该程

序,调节RW1C4,观察寄存器的变化与万用表输出值的变化。

图9-2 DAC0832的扩展电路图

ORG 0100H

START: MOV DPTR,#0FEFFH ;置DAC0832的地址

LP: MOV A,#0FFH ;设定高电平

MOVX @DPTR,A ;启动D/A转换,输出高电平

LCALL DELAY ;延时显示高电平

MOV A,#00H ;设定低电平

MOVX @DPTR,A ;启动D/A转换,输出低电平

LCALL DELAY ;延时显示低电平

SJMP LP ;连续输出方波

DELAY: MOV R3,#11 ;延时子程序

D1: NOP

NOP

NOP

NOP

NOP

DJNZ R3,D1

RET

END

6.设计型实验内容

①根据基础型实验的步骤①、②,由DAC0832输出模拟量,ADC0809采集数据。分配

端口实现的硬件连接,画出流程并设计程序实现该过程,比较输出的数据跟采集到

的数据是否一致,如不一致分析一下产生误差的原因。

②结合实验十显示模块,设计流程并编写程序实现基于ADC0809分别采用延时法、查

询法、中断法采集数据,并将采集到的十六进制结果显示在LED显示模块上。

③采用DAC0832设计一简易的信号发生器,设计流程并编写程序实现50Hz的方波、

锯齿波。

7.实验扩展及思考

①采用ADC0809的8个通道采集8个模拟量信号,并将实际电压值分通道、分时地显

示在LED上。

②采用DAC0832设计一正弦信号发生器,在相同输出点数的情况下,并实现最高频率

的输出。

相关主题
相关文档
最新文档