0HLOOP3
3.打开XDATA数据窗口,在弹出的XDATA窗口中从2040H开始的单元中输入10个不同
数。
4.打开DATA数据窗口,把打开的窗口进行并排,单步或跟踪运行程序,观察DATA数
据窗口40H开始的单元和XDATA窗口2050H开始的单元内容的变化。
七、思考题
1.补全程序。2.在排序前,程序对片外数据做了什么工作排序后,对结果又进行了什么处理并在源程序中标明。在排序前,程序将片外数据存储器2040H开始的10个地址中的数据读到片内40h49h
f地址中。LOOP0子程序实现此功能。排序后又将40h49h地址中的输出送到片外2050H2059H中。LOOP4LOOP5子程序实现
此功能。
实验三外部中断实验
一、实验目的:
掌握MCS51单片机中断原理及编程使用方法。
二、实验设备
1.G22002100实验平台1台
3.连线
若干根
三、实验内容
2.仿真器仿真板4.计算机
1台1台
在实验一的基础上,增加中断功能。如果中断请求得到响应,用L0L7实现从右到左逐个点亮,直至中断请求撤消,中断返回。
四、连线方案
五、实验源程序
ORG0
LJMP0030H
fORGLJMPORGMOVORLORLMOVMOVLOOPINCCALLSJMPDelayMOVMOVMOVDLPDJNZDJNZDJNZRETINT10PUSHPUSHMOVMOVMOVMOVLOOP1MOV
RLCALLDJNZPOPPOPRETIEND
0013HINT100030HPSW00HIE84HIP04HSP30HP10熄灭发光二极管P1DelayLOOPR23延时程序R10R00R0DLPR1DLPR2DLP
PSWP1PSW08HP10熄灭发光二极管A01HR316P1AADelayR3LOOP1P1PSW
f六、实验步骤
1.按连线方案连线。注意:拨动开关K0置为高电位(打在上方)。2.打开WAVE6000调试环境,打开“仿真器设置”对话框,设置好仿真器。3.输入源程序,并编译通过。4.执行程序。在执行程序的过程中,将K0置为低电位(打在下方),表示有故障发生,再将K0置为高电位,观察现象。
七、思考题
1.补全程序。2.在执行中断服务程序过程中,如果K0没有及时返回高电平,观察到什么现象如果K0及时返回高电平,又观察到什么现象解释原因。
如果K0没有及时返回高电平,程序又一次进入中断,LED灯再次循环点亮16次,中断被多次触发。
如果K0及时返回高电平,只响应一次中断。原因是,程序中中断设置为低电平触发方式。
3.如果希望用L0L7实现从左到右逐个点亮,该改哪条指令,请写出原指令及更改后的指令。
将LOOP1子程序中的RLA,改为RRA指令。
f实验四串行口实验
(基于PROTEUS软件)
一、实验目的
1.掌握MCS51单片机串行口方式0、方式1的工作原理;2.了解方式0时的应用,即通过串行口扩展并行口,进行静态显示的方法;3.掌握串行移位寄存器r