实验一 清零程序文档格式.docx
- 文档编号:7023677
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:12
- 大小:38.38KB
实验一 清零程序文档格式.docx
《实验一 清零程序文档格式.docx》由会员分享,可在线阅读,更多相关《实验一 清零程序文档格式.docx(12页珍藏版)》请在冰点文库上搜索。
CLRA;
累加器A清零
MOVXDPTR,A;
存储空间容清零
INCDPTR;
DPTR加1
INCR0;
R0加1
CJNER0,#FFH,LOO1;
若R0不等于00,则跳转至LOO1继续循环
LOOP:
SJMPLOOP
END
七、思考:
假使把1000H~10FFH中的容改成FF程序如下:
MOVDPTR,#1000H;
MOVA,#FF;
累加器A置FF
存储空间容置FF
现象:
运行第一条程序可以发现1000H~10FFH中的容变成FF,运行第二条程序1000H~10FFH中的容改成00.而其它单元的容不变。
心得:
该实验的容比较简单。
实验二P3.3口输入,P1口输出
一、实验目的:
掌握P3口、P1口简单使用。
P3.3口输入一脉冲,P1口按16进制加一方式点亮发光二
极管。
三、实验步骤
P3.3用导线连至K1开关,P1.0~P1.7导线连至L1~L8,K1拨动一次,
L1~L8发光二极管按16进制方式加一点亮。
快捷连线说明:
P3.3→K1
P1.0~P1.7→L1~L8(发光二极管)
四、思考:
修改程序,使发光二极管左移方式点亮。
五、程序清单
(1)基本程序(文件名HW01·
ASM)
LJMPJ100
ORG0810H
J100:
MOVA,#00H
J101:
JBP3.3,J101
MOVR2,#10H
LCALLDELY
JBP3.3,J101
J102:
JNBP3.3,J102
JNBP3.3,J102
INCA
PUSHACC
CPLA
MOVP1,A
POPACC
AJMPJ101
DELY:
PUSH02H
DEL2:
DEL3:
DEL4:
DJNZR2,DEL4
POP02H
DJNZR2,DEL3
DJNZR2,DEL2
DJNZR2,DELY
RET
九,改变延时常数,使发光二极管闪亮时间改变。
修改程序,使发光二极管
闪亮移位方向改变的程序:
MOVA,#09H
DECA
实验现象:
当执行第一个程序时K1开关向下拨动一次时A中的容从0依次加1,P1口的发光二极管也依次发光并向右移。
当执行第二个程序时K1开关向下拨动一次时A中的容从8依次减1,P1口的发光二极管也依次发光并向左移。
该实验运用了累加器A并不断加1.还有该程序连续两次判断P3.3口是否为高电平在执行下一条语句和连续两次判断P3.3口是否为低电平在执行下一条语句的原因是为了消除开关的抖动。
实验三中断基础实验
掌握MCS-51单片机中断原理以及编程使用方法;
理解
下降沿中断和低电平中断的区别。
二、实验预备知识
MCS-51单片机有2个由/INT0、/INT1引脚输入的外部中断源。
触发外部中断有两种方式,即下降沿引起中断或低电平引起中断。
当编
程TCON中的ITi(i=1或0,下同)为1时,则引起触发的方式为边沿触发
方式,反之为低电平触发方式。
每个中断源的中断请求能否得到响应要受两
级“开关”的控制,即一个总“开关”EA和EXi的控制,只有当EA为1,
且对应的分“开关”EXi也为1时,相应中断源的中断请求才能被响应。
外部中断0、外部中断1对应有2个固定的中断服务程序入口地址0003H、
0013H。
响应中断后中断申请标志IEi由硬件自动清零
三、实验容
编写主程序,读取K1状态,当其与地端闭合时(P1.3为低电平)初始
化为低电平触发,反之,初始化为下降沿触发,且发光二极管灭;
编写中断
服务程序,使图中的发光管闪烁5次,间隔250ms,即中断服务程序的执行
时间为2.5秒,退出中断程序时,使发光管灭。
六、实验步骤
把“总线插孔”框中的P1.2、P1.3、P3.2分别连L1、K1、“单脉冲
与时钟”的“”孔。
P1.2→L1,
P1.3→K1,
P3.2→
1.要LED亮5次,程序应如何改动?
2.若改为外部中断1来实现以上实验,如何修改实验的硬件和软件?
3.电平触发在输入信号后,灯闪的次数受谁的控制?
八、程序清单
(1)基本程序(文件名int011ok·
lJMPMAIN
ORG0003H;
外中断0入口地址
LJMPINTER0
ORG0660H
MAIN:
JBP1.3,MAIN1;
判断是电平触发还是沿触发
clrit0;
P1.3=0低电平触发
lJMPMAIN2
MAIN1:
SETBit0;
中断初始化,P1.3=1下降沿边缘触发
MAIN2:
ORLIE,#81H
ORLIP,#02H
INTER0:
CLREA;
中断处理程序
SETBP1.2
CLRP1.2
SETBEA
RETI
MOVR6,#200H;
延时
DELY1:
MOVR7,#125H
DELY2:
DJNZR7,DELY2
DJNZR6,DELY1
外部T0如果有中断的话,LED灯闪烁三次,中间间隔250ms否则程序一直在等待中断源。
若改为外部中断1来实现以上实验,如何修改实验的硬件和软件?
如果改为外部中断1来实现以上实验,硬件方面单脉冲时钟接P3.3,即外部中断1入口,而在软件方面,把IE和IP设置为ORLIE,#84H
ORLIP,#04H即可。
电平触发在输入信号后,灯闪的次数受谁的控制?
灯闪烁的次数受子程序中P1.2高电平的次数的控制。
了解中断和定时计数器的使用。
还有老师给我们的那个程序有错误。
应把DELY:
MOVR6,#00H;
MOVR7,#00H改为
实验四定时/计数器基础实验
一、实验目的:
掌握MCS-51单片机部定时/计数器的程序设计与调试方
法。
MCS-51单片机有两个16位的定时计数器T0和T1,它们都有定时和对
外部事件进行计数的功能,可用于定时控制、对外部事件检测和计数等场合。
计数和定时实质上都是对脉冲信号进行计数,只不过脉冲源不同而已。
当工作在定时方式时,计数脉冲来自单片机的部,即振荡器信号12
分频后作计数脉冲,每个机器周期的时间使计数器加1,由于计数脉冲的频
率是固定的(即每个脉冲为1个机器周期的时间),故可通过设定计数值来
实现定时功能;
当工作在计数方式时,计数脉冲来自单片机的引脚,每当引脚上出现一
个脉冲时,计数器加1,从而实现计数功能。
可以通过编程来指定定时/计
数器的功能,以及它的工作方式。
中断申请标志TF,在中断响应后有硬件中断清零,查询方式时必须由
软件清零。
利用定时器1,通过对外部脉冲的计数,利用查询方式,实现在P1.0
引脚上产生输出信号。
四、实验步骤
把P3.5、P1.0分别连K1、L1。
P3.5→K1
P1.0→L1
1.开关来回拨4次才取反,程序应如何修改?
2.采用中断方式,该如何设计程序?
基本程序(文件名TIME01ok.ASM)
LJMPDSJU
DSJU:
MOVTMOD,#60H;
T1计数,工作方式2
MOVTH1,#0FEH;
赋初值
MOVTL1,#0FEH
SETBTR1;
启动
DEL:
JBCTF1,REP;
查询计数溢出
AJMPDEL
REP:
CPLP1.0;
取反
每按一次开关,L1灯变化一次。
思考修改:
答:
把初值设置为FB即可,即为把
MOVTH1,#0FEH
修改为:
MOVTH1,#0FBH
MOVTL1,#0FBH
程序如下:
LJMPMAIN
ORG001BH
LJMPT1
T1:
CPLP1.0;
RET
MOVTMOD,#60h;
我们要熟练掌握中断的编程方法和它的原理图。
这样才能随心所欲的修改程序。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验一 清零程序 实验 清零 程序