实验八Proteus仿真软件使用方法.docx
《实验八Proteus仿真软件使用方法.docx》由会员分享,可在线阅读,更多相关《实验八Proteus仿真软件使用方法.docx(20页珍藏版)》请在冰点文库上搜索。
实验八Proteus仿真软件使用方法
实验八Proteus仿真软件使用方法
1.实验目的:
(1)了解Proteus仿真软件的使用方法。
(2)了解51单片机编程器Keil与Proteus仿真软件的联用方法。
2.实验要求:
通过讲授和操作练习,学会正确使用Proteus仿真软件及Keil编程及其联合调试。
3.实验内容:
(1)Proteus仿真软件介绍
Proteus软件是由英国LabCenterElectronics公司开发的EDA工具软件,由ISIS和
ARES两个软件构成,其中ISIS是一款便捷的电子系统仿真平台软件,ARES是一款高级的
布线编辑软件。
它集成了高级原理布线图、混合模式SPICE电路仿真、PCB设计以及自动布线来实现一个完整的电子设计。
通过ProteusISIS软件的VSM(虚拟仿真技术),用户可以对模拟电路、数字电路、模数混合电路,以及基于微控制器的系统连同所有外围接口电子元器件一起仿真。
图8-1是ProteusISIS的编辑窗口:
预览窗口
模式选择工具栏
运行工具栏
对象选择窗口
原理图编辑窗口
命令工具栏
壬岔QC
盘uxrxiw-xxBo・璧
Ffi「書團S:
""
图8-1ISIS的编辑界面
图中最顶端一栏是标题栏”,其下的FileViewEdit……是菜单栏”,再下面的一栏
是命令工具栏”,最左边的一栏是模式选择工具栏”;左上角的小方框是预览窗口”,其下
的长方框是对象选择窗口”,其右侧的大方框是原理图编辑窗口”。
选择左侧模式选择工具栏”中的「图标,并选择对象选择窗口”中的P按钮,就会出现如图8-2的元器件选择界面:
在元器件列表框中点击你需要的器件类型(例如:
电阻-Resistors,单片机芯片
-Microprocessor's,LED-Optoelectronics)或在左上角的关键字(Keywords)框中输入
你需要的器件名称的关键字(如:
信号源-Clock,运放-CA3140等),就会在图8-2中
竺!
来改变
理图编辑窗口”中(若器件的方向不合适,你可以利用图1左下角的旋转按钮
它)。
将所要的元器件都选好后,将它们安放到合适的位置,就可以用连接线把电路连接好,结果存盘(请按规定的目录存盘,并记住其路径/目录/文件名[学号-实验序号])。
(2)51单片机编程器-KeilV3的使用
Keil编程器可用于MCS-51单片机软件编程与调试,它的工作界面如图8-3所示:
Keil编程器是KeilSoftwareInc/KeilElectronicGmbH开发的基于80C51内核的微处
理器软件开发平台,可以完成从工程(Project)的建立和管理、程序的编译和连接、目标
代码的形成、软件仿真等一套完整的软件开发流程。
它与Proteus挂接,可以进行单片机
应用系统的硬件仿真。
汇编语言编程方法:
1打开File”菜单〜选择新建New...”宀在弹出的文本框(Text1)中编写所需的汇编
语言程序t程序写好后,保存(从FiletSaveAs..宀选择某目录,文件名.ASM,存盘);
2打开Project"菜单t选择新建工程NewProject...”t在弹出的窗口填写:
工程名
t保存(文件名的后缀是.UV2。
此时图8-3的工程窗口中将建立Target1及SourceGroup1);
3打开Project"菜单t选择Components,Environment,Books...t在弹出的窗口的
ProjectComponents点击AddFiles”t加入所写的汇编文件(选中该文件,Add);
4打开Project'菜单t选择SelectDeviceforTargetTarget1'”在弹出的CPU窗口
选择所用的单片机厂家(选Atmel)及CPU芯片名称(如AT89C51),按确定”键;
5打开Project"菜单t选择OptionsforTargetTarget1'”在弹出的窗口中选择
Output”t填入输出文件名称,并选择输出文件类型(HEX文件),[见图8-4]。
.□x|
□leE水yewEfolettQebugFla?
hPeOPheralsImJsJVC5也ndowtjeb
j③国魁墨|翼離|二晶帚
ProjKtWarkipic*0x
6
打开Project"菜单t选择OptionsforTargetTarget1'”在弹出的窗口中选择
图8-5选择调试的仿真器及运行设置
7单击匚匚'1…(参见图8-3)完成对所编写程序的编译,编译情况会显示在图8-3的输出窗口中,如有语法错误,会给出提示,应修改出错处后,再次编译。
(3)仿真:
在ProteusISIS界面调入所设计的硬件图,双击CPU,填入相应的HEX运行文件的名称(参见图8-6,文件所在目录应正确),点击运行按钮,即可实现与硬、软件的联合调试。
(4)
图8-6单片机程序可执行文件的路径、名称输入
示例:
硬件电路图见图8-7所示;相应的汇编语言程序如下
ORG0000H
AJMPMAIN
;将接按键的I/O口的状态(0或1)移给进位位C,
;再由进位位C转给对应的发光二极管的连接位。
;以便控制发光二极管的亮或灭。
DELAY:
MOVR5,#5FH
;软件延时子程序
L1:
MOVR6,#0AFHDJNZR6,$DJNZR5,L1RET
晶LED-ISISPr^TesAional
filews*mTodsRtiM&aphjour®DebugUbr*^TemphteS^temHelp
也空H圃嚼型J迴司丰手愍艮風专o|赛电舉i*峯■■〔鐵#撐』
M^^^^^
V.
■1
■A+57
■
CD厂*+t
•丄1卜|II|■|0壮M刚旳明
Ratrtdicet1
jr
图8-7示例的硬件电路图
在Keil编程界面输入上述程序,编译成可执行HEX文件,双击图8-7的CPU,参考图
8-6填好相应的HEX文件的路径及名称,按0K”键退出。
点击运行按钮(图8-7下沿的亠),运行情况见图8-8所示。
FieWswEditTOfiilSDesignGraphDebugUbragyTenjplate庄*3
]D占■丨即G丨站®遛豚占屮愆沫殂9*心零丨富黑■■〔比牡挥沪
卜IIPII■IO5Miws^efsliMIMATHG00:
00(26.250000(CFUload隆I
图8-8示例电路运行结果
请自己完成以上示例的硬、软件调试。
每人的实验结果打包,以文件名(DZ班-学号-实验序号)上交,并完成实验报告。
(3)KEIL编译器与Proteus软件联调
”w1一ISISProfes^ional(AniBating)
3曲刃CPVBe&isUrc-U113051CPVSFRMeq"-VI
5.8051CPULatwielCIDA7JI)Hwiory-1TL
1h1B・』ii1AbiH1I.iaIdli1I.i&Idh1dI.ia1Ufa1■>
CO〕+4$|^|Ik|U|1|」\4Message(s)Showstheciurrentt^loadadcompcnerts.
图8-10远程联调Proteus设置
在ProteusISIS界面调入所设计的硬件图,点击调试,使用远程调试设备选项打V,即
启动了Proteus与Keil的远程联调功能。
紧接着点击ISIS界面左下方的亠按钮,使得所
设计的电路处于运行模式
Keil平台,创建工程,打开Project"菜单宀选择OptionsforTargetTarget1'"在弹
出的窗口中选择Debug为连接调试选择仿真器[见图8-11]t按确定”键。
设置完毕后,点击Keil工程编译成功,点击图8-12的一'按钮,使得编译成功的源文
件进入调试状态
-M總彗[1
iltn-A
◎国欝*鼻厭[Tu-Ctt1习
FlIsEditefAProjectfltshFet]ph&rolsfoolsSITESWiiuloivH«lp
□JtSi
日SoiTurcBGro-np|阖IASH
riRn
OOOOH
LJMP
QR&
0D30H
J1AUJ:
CLR
P乱Q
NOP
SETS
PZ.O
1
"MT
hanr
图8-12Keil+Proteus联调
最终用户运行的结果可以通过图8-10的ISIS界面观察硬件的状态变化
Qm*Editvi^
projectDebugFlaskPeripheralsToolsSVCSWindowHelp
占邑日旬e<>ifa1%备
禽梨初乔厲心令壬佢除慝ynz
(4)作业:
在ProteusISIS
界面设计图8-14、8-15所示的MCS-51
单片机分别于
ADC0809及
DAC0832的接口的电路原理图,为下一次实验做好准备
P0生LE
AT89C51
nm
WR
P2.7
KD
图8-148031与ADC0809的接口设计
DAC0832单缓冲接口电路
图8-148031与DAC0832的接口设计
实验九并行AD、DA实验
1.
实验目的
掌握采用并行接口实现外部器件的扩展方法;
ADC0809的典型应用;
掌握ADC0809模/数转换芯片与单片机的接口设计及
DAC0832的典型应用。
掌握DAC0832模/数转换芯片与单片机的接口设计及
2.
预习要求
理解内存与10统一编址的外设端口地址的映射及控制
理解用查询方式、中断方式完成模/数转换程序的编写方法;
理解DAC0832直通方式,单缓冲器方式、双缓冲器方式的编程方法。
1台;
1套。
计算机
Proteus仿真软件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.基础型实验内容
1图9-1为ADC0809的扩展电路图,利用Proteus仿真软件设计该硬件电路图。
说
明AD转换的过程,并在Keil环境设置断点运行以下程序,可调电源分别调至两个
极端,观察寄存器及内存单元的变化
,利用Proteus仿真软件设计该硬件电路图
ORG
0000H
MAIN:
CLR
A
SETB
P3.3设定与
EOC接口IO处于接收状态
MOV
DPTR,#0FEF8H选择A/D端口地址
NOP
MOVX
@DPTR,A
启动AD转换
WAIT:
JB
P33WAIT
MOVX
A,@DPTR
;读入结果
NOP
LJMP
MAIN
图9-1ADC0809的扩展电路图
图9-2为DAC0832的扩展电路图
写下列程序中的空白处,说明DA转换的过程,并在Keil环境运行设置断点运行该程序,调节RW1C4,观察寄存器的变化与万用表输出值的变化
图9-2DAC0832的扩展电路图
ORG
0100H
START:
MOV
DPTR,#OFEFFH
LP:
MOV
A,#0FFH
MOVX
@DPTR,A
LCALL
DELAY
MOV
A,#00H
MOVX
@DPTR,A
LCALL
DELAY
SJMP
LP
DELAY:
MOV
R3,#11
D1:
NOP
NOP
NOP
NOP
NOP
DJNZ
RET
END
R3,D1
6.设计型实验内容
;置DAC0832的地址
;设定高电平
;启动D/A转换,输出高电平
;延时显示高电平
;设定低电平
;启动D/A转换,输出低电平
;延时显示低电平
;连续输出方波
;延时子程序
①根据基础型实验的步骤①、②,
由DAC0832输出模拟量,ADC0809采集数据。
分配端口实现的硬件连接,画出流程并设计程序实现该过程,比较输出的数据跟
采集到的数据是否一致,如不一致分析一下产生误差的原因。
2结合实验十显示模块,设计流程并编写程序实现基于ADC0809分别采用延时法、
查询法、中断法采集数据,并将采集到的十六进制结果显示在LED显示模块上。
3采用DAC0832设计一简易的信号发生器,设计流程并编写程序实现50Hz的方
波、锯齿波。
7.实验扩展及思考
1采用ADC0809的8个通道采集8个模拟量信号,并将实际电压值分通道、分时地显示在LED上。
2采用DAC0832设计一正弦信号发生器,在相同输出点数的情况下,并实现最高频率的输出。