智能仪器实验指导PROTEUS仿真Word格式文档下载.docx
《智能仪器实验指导PROTEUS仿真Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《智能仪器实验指导PROTEUS仿真Word格式文档下载.docx(10页珍藏版)》请在冰点文库上搜索。
![智能仪器实验指导PROTEUS仿真Word格式文档下载.docx](https://file1.bingdoc.com/fileroot1/2023-5/9/54b5b52f-c25d-4c8a-a430-393d56249325/54b5b52f-c25d-4c8a-a430-393d562493251.gif)
下面以一个“完成每隔1秒钟接在P1口的八个发光二极管循环闪亮”例子来说明实验过程。
实验硬件电路(如图1.1所示):
图1.1硬件电路图
源程序:
ORG
0000H
LJMP
START
0030H
START:
MOV
A,#0FEH
LOOP:
P1,A
MOV
R1,#10
DLE1:
R2,#200
DLE2:
R3,#126
DLE3:
DJNZ
R3,DLE3
DJNZ
R2,DLE2
R1,DLE1
RL
A
LOOP
END
四、实验步骤
1、进入Proteus系统,画出实验电路图;
2、进入KeilC51软件的操作环境,编辑源程序并对源文件进行编译;
编译如图1.2所示:
图1.2编译
3、对Proteus系统和KeilC51系统进行联机设置,如图1.3、1.4所示;
联机设置:
首先要安装Proteus的Keil驱动,安装好驱动后,进入Keil界面进行设置,单击工具条中的
按钮,在弹出的表单中单击
选项卡,选择
的组合框,在下拉菜单中选中“ProteusVSMSimulator”选项即可,如果是联机进行联调,还要在其后的
按钮中进行适当的设置。
之后在Proteus界面下单击菜单栏中的
按钮,在下拉菜单选中
即可,至此完成了联调的基本设置。
图1.3在Keil中的联调的设置
图1.4Proteus中的联调的设置
4、在KeilC51系统中运行、调试程序,在Proteus系统中检查输出结果,如图1.5所示。
延时时间的计算:
执行一条DJNZRn,rel指令需要两个机器周期,因此只要计算出执行了多少该指令并结合计算其它处于延时程序中的各条指令的执行次数和周期数,就可以计算出延时程序的延时时间。
每个机器周期为12个时钟周期,结合晶振的周期就可以较精确的计算出延时时间。
图1.5联调结果
五、思考题:
1、总结Proteus系统的使用特点;
2、给实验源程序加上注释。
3、总结利用Proteus系统和KeilC51系统进行联机调试的电路设计过程。
实验二程序存储器与数据存储器扩展实验
1.学习程序存储器的电路的扩展原理。
2.学习数据存储器的电路的扩展原理。
3.掌握利用Proteus软件和Keil联合仿真调试的操作。
在8051单片机外部扩展8KBRAM芯片6264,其地址范围为0000H~1FFFH,将一些特殊常数信息(如图片数据等)存放在单片机内ROM从1000H地址开始的地方,程序运行时将ROM中从1000H地址开始的内容转存到外部RAM中。
ORG0000H
MOVDPTR,#1000H
MOVR7,#0
LP:
MOVA,#0
MOVCA,@A+DPTR
MOVX@DPTR,A
INCDPTR
DJNZR7,LP
SJMP$
ORG1000H
DB0f0H,0f8H,0cH,0c4H,0cH,0f8H,0f0H,00H,03H,07H,0cH,08H,0cH,07H,03H,00H
DB00H,10H,18H,0fcH,0fcH,00H,00H,00H,00H,08H,08H,0fH,0fH,08H,08H,00H
DB08H,0cH,84H,0c4H,64H,3cH,18H,00H,0eH,0fH,09H,08H,08H,0cH,0cH,00H
DB08H,0cH,44H,44H,44H,0fcH,0b8H,00H,04H,0cH,08H,08H,08H,0fH,07H,00H
DB0c0H,0e0H,0b0H,98H,0fcH,0fcH,80H,00H,00H,00H,00H,08H,0fH,0fH,08H,00H
DB7cH,7cH,44H,44H,44H,0c4H,84H,00H,04H,0cH,08H,08H,08H,0fH,07H,00H
DB0f0H,0f8H,4cH,44H,44H,0c0H,80H,00H,07H,0fH,08H,08H,08H,0fH,07H,00H
DB0cH,0cH,04H,84H,0c4H,7cH,3cH,00H,00H,00H,0fH,0fH,00H,00H,00H,00H
DB0b8H,0fcH,44H,44H,44H,0fcH,0b8H,00H,07H,0fH,08H,08H,08H,0fH,07H,00H
DB38H,7cH,44H,44H,44H,0fcH,0f8H,00H,00H,08H,08H,08H,0cH,07H,03H,00H
DB00H,00H,00H,30H,30H,00H,00H,00H,00H,00H,00H,06H,06H,00H,00H,00H
DB00H,00H,00H,30H,30H,00H,00H,00H,00H,00H,08H,0eH,06H,00H,00H,00H
DB00H,80H,0c0H,60H,30H,18H,08H,00H,00H,00H,01H,03H,06H,0cH,08H,00H
DB00H,20H,20H,20H,20H,20H,20H,00H,00H,01H,01H,01H,01H,01H,01H,00H
DB00H,08H,18H,30H,60H,0c0H,80H,00H,00H,08H,0cH,06H,03H,01H,00H,00H
DB18H,1cH,04H,0c4H,0e4H,3cH,18H,00H,00H,00H,00H,0dH,0dH,00H,00H,00H
3、对Proteus系统和KeilC51系统进行联机调试并保存调试结果(利用软件抓图)。
五、思考题:
1、程序存储器与数据存储器进行扩展扩展时有何异同?
2、画出程序流程图。
3、程序执行后6264中的内容是什么?
实验三并行IO口扩展实验
1.实验目的
通过实验掌握8255扩展I/O口的方法。
进一步学习了解8255可编程芯片的结构及编程方法,要求编程实现8255的PA、PB和PC口的输入输出。
2.实验设备
微机1台、PROTEUS软件
3.实验线路及实验原理
8255的片选信号
连到8051的P2.7,端口地址选择信号A1、A2由P2.1、P2.0提供。
该电路中8255的PA、PB、PC以及控制口的地址分别为7CFFH、7DFFH、7EFFH、7FFFH。
编程实现8255的PA口按方式0输出,PB口按方式0输入,将PB口外接8个开关的状态通过PA口外接的LED灯反映出来。
4.实验内容
复习思考题
1若要求用8255的PB口作输出,PA口作输入,应如何修改实验程序?
2利用8255的方式1可实现与单片机的查询或中断方式接口,设计一个通过查询8255的PC1(IBFB)和PC7(OBFA)实现从PB口输入,从PA口输出的实验程序。
3如果需要采用8255的PC7输出连续方波,如何利用PC口的置位/复位控制命令来实现?
PORTA
EQU
7CFFH
;
A口
PORTB
7DFFH
B口
PORTC
7EFFH
C口
CADDR
7FFFH
控制字地址
SJMP
A,#82H
方式0,PA,PC输出,PB输入
DPTR,#CADDR
MOVX
@DPTR,A
loop:
DPTR,#PORTB
A,@DPTR
读入B口
DPTR,#PORTA
@DPTR,A
输出到A口