实验一-清零程序

上传人:F****n 文档编号:99064196 上传时间:2019-09-17 格式:DOCX 页数:8 大小:43.94KB
返回 下载 相关 举报
实验一-清零程序_第1页
第1页 / 共8页
实验一-清零程序_第2页
第2页 / 共8页
实验一-清零程序_第3页
第3页 / 共8页
实验一-清零程序_第4页
第4页 / 共8页
实验一-清零程序_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《实验一-清零程序》由会员分享,可在线阅读,更多相关《实验一-清零程序(8页珍藏版)》请在金锄头文库上搜索。

1、实验一 清零程序一、实验目的: 掌握汇编语言设计和调试方法,熟悉键盘操作。二、实验内容: 把2000H20FFH 的内容清零。三、实验程序框图四、实验步骤: 用连续或单步方式运行程序,检查200020FF 中执行程序前后的内容变化。五、思考:假使把1000H10FFH 中的内容改成FF,如何修改程序,请分别用连续和单步方式运行程序来完成校验证六、程序清单(1)基本程序(文件名SW01.ASM)ORG 0000HLJMP SE01ORG 0640HSE01: MOV R0,#00H ;(00H)送R0,R0 为计数器MOV DPTR,#2000H ;(2000H)送DPTRLOO1: CLR A

2、 ;累加器A 清零MOVX DPTR,A ;存储空间内容清零INC DPTR ;DPTR 加1INC R0 ;R0 加1CJNE R0,#FFH,LOO1 ;若R0 不等于00,则跳转至LOO1 继续循环LOOP: SJMP LOOPEND七、思考:假使把1000H10FFH 中的内容改成FF程序如下:ORG 0000HLJMP SE01ORG 0640HSE01: MOV R0,#00H ;(00H)送R0,R0 为计数器MOV DPTR,#1000H ;(2000H)送DPTRLOO1: MOV A,#FF;累加器A 置FFMOVX DPTR,A ;存储空间内容置FFINC DPTR ;D

3、PTR 加1INC R0 ;R0 加1CJNE R0,#FFH,LOO1 ;若R0 不等于00,则跳转至LOO1 继续循环LOOP: SJMP LOOPEND现象:运行第一条程序可以发现1000H10FFH 中的内容变成FF,运行第二条程序1000H10FFH 中的内容改成00.而其它单元的内容不变。心得:该实验的内容比较简单。实验二 P3.3 口输入,P1 口输出一、实验目的:掌握P3 口、P1 口简单使用。二、实验内容: P3.3 口输入一脉冲,P1 口按16 进制加一方式点亮发光二极管。三、实验步骤P3.3 用导线连至K1 开关, P1.0P1.7 导线连至L1L8,K1 拨动一次,L1

4、L8 发光二极管按16 进制方式加一点亮。快捷连线说明:P3.3K1P1.0P1.7L1L8(发光二极管)四、思考: 修改程序,使发光二极管左移方式点亮。五、程序清单(1)基本程序(文件名 HW01ASM)ORG 0000HLJMP J100ORG 0810HJ100: MOV A,#00HJ101: JB P3.3,J101MOV R2,#10HLCALL DELYJB P3.3,J101J102: JNB P3.3,J102MOV R2,#10HLCALL DELYJNB P3.3,J102INC APUSH ACCCPL AMOV P1,APOP ACCAJMP J101DELY: PU

5、SH 02HDEL2: PUSH 02HDEL3: PUSH 02HDEL4: DJNZ R2,DEL4POP 02HDJNZ R2,DEL3POP 02HDJNZ R2,DEL2POP 02HDJNZ R2,DELYRETEND九,改变延时常数,使发光二极管闪亮时间改变。修改程序,使发光二极管闪亮移位方向改变的程序:ORG 0000HLJMP J100ORG 0810HJ100: MOV A,#09HJ101: JB P3.3,J101MOV R2,#10HLCALL DELYJB P3.3,J101J102: JNB P3.3,J102MOV R2,#10HLCALL DELYJNB P3

6、.3,J102DEC APUSH ACCCPL AMOV P1,APOP ACCAJMP J101DELY: PUSH 02HDEL2: PUSH 02HDEL3: PUSH 02HDEL4: DJNZ R2,DEL4POP 02HDJNZ R2,DEL3POP 02HDJNZ R2,DEL2POP 02HDJNZ R2,DELYRETEND实验现象:当执行第一个程序时K1 开关向下拨动一次时A中的内容从0依次加1,P1口的发光二极管也依次发光并向右移。当执行第二个程序时K1 开关向下拨动一次时A中的内容从8依次减1,P1口的发光二极管也依次发光并向左移。心得:该实验运用了累加器A并不断加1.

7、还有该程序连续两次判断P3.3口是否为高电平在执行下一条语句和连续两次判断P3.3口是否为低电平在执行下一条语句的原因是为了消除开关的抖动。实验三 中断基础实验一、实验目的: 掌握MCS-51 单片机中断原理以及编程使用方法;理解下降沿中断和低电平中断的区别。二、实验预备知识MCS-51 单片机有2 个由/INT0、/INT1 引脚输入的外部中断源。触发外部中断有两种方式,即下降沿引起中断或低电平引起中断。当编程TCON 中的ITi(i=1 或0,下同)为1 时,则引起触发的方式为边沿触发方式,反之为低电平触发方式。每个中断源的中断请求能否得到响应要受两级“开关”的控制,即一个总“开关”EA

8、和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、“单脉冲与时钟

9、”的“ ”孔。快捷连线说明:P1.2L1,P1.3K1,P3.2七、思考:1.要LED 亮5 次,程序应如何改动?2.若改为外部中断1 来实现以上实验,如何修改实验的硬件和软件?3.电平触发在输入信号后,灯闪的次数受谁的控制?八、程序清单(1)基本程序(文件名 int011okASM)ORG 0000HlJMP MAINORG 0003H ;外中断0 入口地址LJMP INTER0ORG 0660HMAIN: JB P1.3,MAIN1 ;判断是电平触发还是沿触发clr it0 ;P1.3=0 低电平触发lJMP MAIN2MAIN1: SETB it0 ;中断初始化,P1.3=1 下降沿边缘

10、触发MAIN2: ORL IE,#81HORL IP,#02HlJMP MAININTER0: CLR EA ;中断处理程序SETB P1.2LCALL DELYCLR P1.2LCALL DELYSETB P1.2LCALL DELYCLR P1.2LCALL DELYSETB P1.2LCALL DELYCLR P1.2LCALL DELYSETB EARETIDELY: MOV R6,#200H ;延时DELY1: MOV R7,#125HDELY2: DJNZ R7,DELY2DJNZ R6,DELY1RETEND实验现象:外部T0如果有中断的话,LED灯闪烁三次,中间间隔250ms否

11、则程序一直在等待中断源。若改为外部中断1 来实现以上实验,如何修改实验的硬件和软件?如果改为外部中断1 来实现以上实验,硬件方面单脉冲时钟接P3.3,即外部中断1入口,而在软件方面,把IE和IP设置为 ORL IE,#84HORL IP,#04H即可。电平触发在输入信号后,灯闪的次数受谁的控制?灯闪烁的次数受子程序中P1.2高电平的次数的控制。心得:了解中断和定时计数器的使用。还有老师给我们的那个程序有错误。应把DELY: MOV R6,#00H ;延时DELY1: MOV R7,#00H改为DELY: MOV R6,#200H ;延时DELY1: MOV R7,#125H实验四定时/计数器基

12、础实验一、 实验目的: 掌握MCS-51 单片机内部定时/计数器的程序设计与调试方法。二、实验预备知识MCS-51 单片机有两个16 位的定时计数器T0 和T1,它们都有定时和对外部事件进行计数的功能,可用于定时控制、对外部事件检测和计数等场合。计数和定时实质上都是对脉冲信号进行计数,只不过脉冲源不同而已。当工作在定时方式时,计数脉冲来自单片机的内部,即振荡器信号12分频后作计数脉冲,每个机器周期的时间使计数器加1,由于计数脉冲的频率是固定的(即每个脉冲为1 个机器周期的时间),故可通过设定计数值来实现定时功能;当工作在计数方式时,计数脉冲来自单片机的引脚,每当引脚上出现一个脉冲时,计数器加1

13、,从而实现计数功能。可以通过编程来指定定时/计数器的功能,以及它的工作方式。中断申请标志TF,在中断响应后有硬件中断清零,查询方式时必须由软件清零。三、实验内容利用定时器1,通过对外部脉冲的计数,利用查询方式,实现在P1.0引脚上产生输出信号。四、实验步骤把P3.5、P1.0 分别连K1、L1。快捷连线说明:P3.5K1P1.0L1五、思考:1.开关来回拨4 次才取反,程序应如何修改?2.采用中断方式,该如何设计程序?八、程序清单基本程序(文件名TIME01ok.ASM)ORG 0000HLJMP DSJUORG 0660HDSJU: MOV TMOD,#60H ;T1 计数,工作方式2MOV

14、 TH1,#0FEH ;赋初值MOV TL1,#0FEHSETB TR1 ;启动DEL: JBC TF1 ,REP ;查询计数溢出AJMP DELREP: CPL P1.0 ;取反AJMP DELEND实验现象:每按一次开关,L1灯变化一次。思考修改:1.开关来回拨4 次才取反,程序应如何修改?答:把初值设置为FB即可,即为把MOV TH1,#0FEH MOV TL1,#0FEH修改为:MOV TH1,#0FBH MOV TL1,#0FBH2. 采用中断方式,该如何设计程序?答:程序如下:ORG 0000HLJMP MAINORG 001BHLJMP T1ORG 0660HT1:CPL P1.0 ;取反 RETMAIN: MOV TMOD,#60h ;T1 计数,工作方式2MOV TH1,#0FEH ;赋初值MOV TL1,#0FEHSETB TR1 ;启动END心得:我们要熟练掌握中断的编程方法和它的原理图。这样才能随心所欲的修改程序。顶管位置主要位于粉质粘土层,地下水位以下。开挖竖井过程中如出现异常地质情况,及时与设计单位联系,进行协商处理。施

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号