1、实验八Proteus仿真软件使用方法实验八-Proteus仿真软件使用方法实验八 Proteus仿真软件使用方法1.实验目的:(1)了解Proteus仿真软件的使用方法。(2)了解51单片机编程器Keil与Proteus仿真软件的联用方法。2.实验要求:通过讲授和操作练习,学会正确使用Proteus仿真软件及Keil编程及其联合调试。3.实验内容: (1)Proteus 仿真软件介绍 Proteus 软件是由英国LabCenter Electronics 公司开发的EDA工具软件,由ISIS和ARES两个软件构成,其中ISIS是一款便捷的电子系统仿真平台软件,ARES是一款高级的布线编辑软件。
2、它集成了高级原理布线图、混合模式SPICE电路仿真、PCB设计以及自动布线来实现一个完整的电子设计。 通过Proteus ISIS软件的VSM(虚拟仿真技术), 用户可以对模拟电路、数字电路、模数混合电路,以及基于微控制器的系统连同所有外围接口电子元器件一起仿真。 图8-1是Proteus ISIS的编辑窗口: 图8-1 ISIS的编辑界面图中最顶端一栏是“标题栏”,其下的“File View Edit ”是“菜单栏”,再下面的一栏是“命令工具栏”,最左边的一栏是“模式选择工具栏”;左上角的小方框是“预览窗口”,其下的长方框是“对象选择窗口”,其右侧的大方框是“原理图编辑窗口”。 选择左侧“模
3、式选择工具栏”中的图标,并选择“对象选择窗口”中的P按钮,就会出现如图8-2的元器件选择界面: 图8-2 元器件库选择界面在元器件列表框中点击你需要的器件类型(例如:电阻-Resistors,单片机芯片-MicroprocessorICs, LED-Optoelectronics)或在左上角的关键字(Keywords)框中输入你需要的器件名称的关键字(如:信号源 - Clock, 运放 - CA3140等),就会在图8-2中间的大空白框列出你所需的一系列相关的元件。此时,你可用鼠标选中你要的元件,则图8-2右上角的预览框会显示你所要元件的示意图,若就是你要的元器件,则点击OK按钮,该元器件的名
4、称就会列入位于图8-1左侧的“对象选择窗口”中(参见图1左侧下方框)。 所需元器件选择好后,在“对象选择窗口”选择某器件,就可以将它放到图8-1中的“原理图编辑窗口”中(若器件的方向不合适,你可以利用图1左下角的旋转按钮来改变它)。将所要的元器件都选好后,将它们安放到合适的位置,就可以用连接线把电路连接好,结果存盘(请按规定的目录存盘,并记住其路径/目录/文件名学号-实验序号)。 (2)51单片机编程器 Keil V3的使用 Keil编程器可用于MCS-51单片机软件编程与调试,它的工作界面如图8-3所示: Keil编程器是Keil Software Inc/Keil Electronic G
5、mbH 开发的基于80C51内核的微处理器软件开发平台,可以完成从工程(Project)的建立和管理、程序的编译和连接、目标代码的形成、软件仿真等一套完整的软件开发流程。它与Proteus挂接,可以进行单片机应用系统的硬件仿真。 汇编语言编程方法: 打开“File”菜单 选择新建“New.” 在弹出的文本框(Text1)中编写所需的汇编语言程序 程序写好后,保存(从FileSave As.选择某目录,文件名.ASM, 存盘); 打开“Project”菜单 选择新建工程“New Project.” 在弹出的窗口填写:工程名 保存(文件名的后缀是 .uv2 。 此时图8-3的工程窗口中将建立Tar
6、get1及 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”
7、填入输出文件名称,并选择输出文件类型(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、(参见图8-6,文件所在目录应正确),点击运行按钮,即可实现与硬、软件的联合调试。 图8-6 单片机程序可执行文件的路径、名称输入 (4)示 例:硬件电路图见图8-7所示;相应的汇编语言程序如下:ORG 0000H AJMP MAIN MAIN: MOV C, P1.3 ;将接按键的I/O口的状态(0或1)移给进位位C , MOV P1.7, C ;再由进位位C转给对应的发光二极管的连接位。 MOV C, P1.2 ;以便控制发光二极管的亮或灭。 MOV P1.6, C MOV C, P1.1 MOV P1.5, C MOV C, P1.0 MOV P1.4, C ACALL DELAY AJ
9、MP 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 远程联调Prote
10、us设置在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联调进入
11、联调状态,程序处于待运行状态,最初始的时候,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
12、.实验目的1掌握采用并行接口实现外部器件的扩展方法;2掌握ADC0809模/数转换芯片与单片机的接口设计及ADC0809的典型应用;3掌握DAC0832模/数转换芯片与单片机的接口设计及DAC0832的典型应用。2.预习要求1理解内存与IO统一编址的外设端口地址的映射及控制;2理解用查询方式、中断方式完成模/数转换程序的编写方法;3理解DAC0832直通方式,单缓冲器方式、双缓冲器方式的编程方法。3.实验设备计算机 1台; Proteus仿真软件 1套。4.实验说明4ADC0809的工作方式AD从启动转换到转换结束需要一段时间,称为转换时间。ADC0809转换是否结束可以通过EOC管脚表征。在
13、START信号上升沿之后不久,EOC变为低电平。当A/D转换结束时,EOC立即输出一正阶跃信号,可用来作为A/D转换结束的查询信号或中断请求信号。从启动AD转换到实现AD转换结果的读取有三种方法:延时法、查询法和中断法。延时法就是在启动AD转换结束后,经过一段时间的等待之后(等待时间=转换时间),实现AD转换结果的读取。查询法是启动AD转换结束后,不断查询EOC的管脚电平的状态是否为高电平,如果条件满足,认为转换结束,进行AD转换结果的读取。中断法是利用EOC转换结束后产生的电平变化,触发单片机的外部中断,并在中断服务程序内,实现AD转换结果的读取。由于表征ADC0809转换结束的EOC电平逻
14、辑与89C51单片机外部中断电平逻辑标准相反,所以采用中断法触发89C51的外部中断,需要将EOC经过一个反相器,再与外部中断接口连接。5 DAC0832的工作方式DAC0832内部有两个寄存器,能实现三种工作方式:双缓冲、单缓冲和直通方式。双缓冲工作方式是指两个寄存器分别受到控制。当ILE、CS和WR1信号均有效时,8位数字量被写入输入寄存器,此时并不进行A/D转换。当WR2和XFER信号均有效时,原来存放在输入寄存器中的数据被写入DAC寄存器,并进入D/A转换器进行D/A转换。在一次转换完成后到下一次转换开始之前,由于寄存器的锁存作用,8位D/A转换器的输入数据保持恒定,因此D/A转换的输
15、出也保持恒定。 单缓冲工作方式是指只有一个寄存器受到控制。这时将另一个寄存器的有关控制信号预先设置成有效,使之开通,或者将两个寄存器的控制信号连在一起,两个寄存器作为一个来使用。直通工作方式是指两个寄存器的有关控制信号都预先置为有效,两个寄存器都开通。只要数字量送到数据输入端,就立即进入D/A转换器进行转换。这种方式应用较少。 5.基础型实验内容1图9-1为ADC0809的扩展电路图,利用Proteus仿真软件设计该硬件电路图。说明AD转换的过程,并在Keil环境设置断点运行以下程序,可调电源分别调至两个极端,观察寄存器及内存单元的变化。 图9-1 ADC0809的扩展电路图 ORG 0000
16、H MAIN: CLR A SETB P3.3 ;设定与EOC接口IO处于接收状态 MOV DPTR,#0FEF8H ;选择A/D端口地址 NOP MOVX DPTR,A ;启动AD转换WAIT: JB P3.3,WAIT MOVX A,DPTR ; 读入结果 NOP LJMP MAIN2图9-2为DAC0832的扩展电路图,利用Proteus仿真软件设计该硬件电路图。填写下列程序中的空白处,说明DA转换的过程,并在Keil环境运行设置断点运行该程序,调节RW1C4,观察寄存器的变化与万用表输出值的变化。图9-2 DAC0832的扩展电路图ORG 0100HSTART: MOV DPTR,#0
17、FEFFH ;置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 END6.设计型实验内容1根据基础型实验的步骤、,由DAC0832输出模拟量,ADC0809采集数据。分配端口实现的硬件连接,画出流程并设计程序实现该过程,比较输出的数据跟采集到的数据是否一致,如不一致分析一下产生误差的原因。2结合实验十显示模块,设计流程并编写程序实现基于ADC0809分别采用延时法、查询法、中断法采集数据,并将采集到的十六进制结果显示在LED显示模块上。3采用DAC0832设计一简易的信号发生器,设计流程并编写程序实现50Hz的方波、锯齿波。7.实验扩展及思考1采用ADC0809的8个通道采集8个模拟量信号,并将实际电压值分通道、分时地显示在LED上。2采用DAC0832设计一正弦信号发生器,在相同输出点数的情况下,并实现最高频率的输出。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1