哈工大单片机原理与应用实验报告

上传人:第*** 文档编号:34037488 上传时间:2018-02-20 格式:DOC 页数:42 大小:5.54MB
返回 下载 相关 举报
哈工大单片机原理与应用实验报告_第1页
第1页 / 共42页
哈工大单片机原理与应用实验报告_第2页
第2页 / 共42页
哈工大单片机原理与应用实验报告_第3页
第3页 / 共42页
哈工大单片机原理与应用实验报告_第4页
第4页 / 共42页
哈工大单片机原理与应用实验报告_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《哈工大单片机原理与应用实验报告》由会员分享,可在线阅读,更多相关《哈工大单片机原理与应用实验报告(42页珍藏版)》请在金锄头文库上搜索。

1、Harbin Institute of Technology单片机原理与应用实验报告学生姓名 :学号 :班级 :专业 :任课教师 : 所 在 单 位 :2013 年 5 月-0-软件实验在软件实验部分,通过实验程序的调试,使学生熟悉 MCS-51 的指令系统,了解程序设计过程,掌握汇编语言设计方法以及如何使用实验系统提供的调试手段来排除程序错误。实验一 清零程序一、实验目的掌握汇编语言设计和调试方法,熟悉键盘操作。二、实验内容把 200020FFh 的内容清零。三、程序框图4、实验过程根据程序框图编写程序,调试无误后装载,运行后观察记录实验现象,并截图。 5、实验结果及分析1、2000H20F

2、Fh 中的内容是什么?答:程序对 2000H20FFH 进行了清零操作,2000H20FFH 中的内容全为 00H。-1-6、实验源程序;清零程序ORG 0640HSE01: MOV R0,#00HMOV DPTR,#2000H ;(2000H)送 DPTRLOO1: MOVX DPTR,A ;0 送(DPTR)INC DPTR ;DPTR+1INC R0 ;字节数加 1CJNE R0,#00H,LOO1 ;不到 FF 个字节再清SJMP $END实验二拆字程序一、实验目的掌握汇编语言设计和调试方法。二、实验内容把 2000h 的内容拆开,高位送 2001h 低位,低位送 2002h 低位,2

3、001h、2002h 高位清零,一般本程序用于把数据送显示缓冲区时用。三、程序流程-2-四、实验过程根据程序框图编写程序,调试无误后装载,运行后观察记录实验现象,并截图。五、实验结果及分析1、如果将 2001h、2002h 高位置 1,程序该如何修改?答:修改程序如下:ORG 0640H MOV DPTR,#2000H ;(2000H)送 DPTRMOVX A,DPTRSWAP AANL A,#FFH ;修改之处INC DPTRMOVX DPTR,AMOV DPTR,#2000H ;(2000H)送 DPTRMOVX A,DPTRANL A,#FFH ;修改之处INC DPTRINC DPTR

4、MOVX DPTR,ASJMP $END-3-六、实验源程序;拆字程序ORG 0640HMOV DPTR,#2000H ;(2000H)送 DPTRMOVX A,DPTRSWAP AANL A,#0FHINC DPTRMOVX DPTR,AMOV DPTR,#2000H ;(2000H)送 DPTRMOVX A,DPTRANL A,#0FHINC DPTRINC DPTRMOVX DPTR,ASJMP $END实验三拼字程序一、实验目的进一步掌握汇编语言设计和调试方法。二、实验内容把 2000h、2001h 的低位分别送入 2002h 高低位,一般本程序用于把显示缓冲区的数据取出拼装成一个字节

5、。三、程序流程-4-四、实验过程根据程序框图编写程序,调试无误后装载,运行后观察记录实验现象,并截图。5、实验结果及分析1、运行程序后 2002h 的最终内容是?答:2000H 为 13H,2001H 为 44H,运行后 2002H 为 34H。六、实验源程序;拼字程序ORG 0640HMOV DPTR,#2000H ;(2000H)送 DPTRMOVX A,DPTRANL A,#0FHSWAP AMOV B,AMOV DPTR,#2001H ;(2001H)送 DPTRMOVX A,DPTRANL A,#0FHORL A,BINC DPTRMOVX DPTR,ASJMP $END-5-实验四

6、数据区传送子程序一、实验目的掌握 RAM 中的数据操作。二、实验内容把 R2、R3 源 RAM 区首址内的 R6、R7 字节数据传送到 R4、R5 目的 RAM 区。三、程序流程四、实验过程根据程序框图编写程序,调试无误后装载,运行后观察记录实验现象,并截图。5、实验结果及分析1、R4、R5 所定义的目的地址单元内容是什么?答:R4、R5 所定义的目的地址单元内容是 30 00 32 00 34 00 00 00 38 01 00 00 00 00 00 00。-6-6、实验源程序MAIN:MOV R2,#20HMOV R3,#00HMOV R4,#20HMOV R5,#10HMOV R6,#

7、20HMOV R7,#20HLOOP1: MOV DPH,R2MOV DPL,R3MOVX A,DPTRINC R3MOV DPH,R4MOV DPL,R5MOVX DPTR,AINC R5MOV DPH,R6MOV DPL,R7MOVX A,DPTRMOV R1,ADJNZ R1,LOOP1END实验六 查找相同数个数一、实验目的熟悉汇编语言编程。-7-二、实验内容在 2000200Fh 中查出有几个字节是零,把个数放在 2100h 中。三、程序框图四、实验过程根据程序框图编写程序,调试无误后装载,运行后观察记录实验现象,并截图。5、实验结果及分析1、如需查找 0FF,需修改程序哪个语句,如

8、何修改? 答:MOV DPTR,#2000H ;(2000H)送 DPTRMOV R0,#0FHMOV R1,#00HLOOP: MOVX A,DPTRINC DPTRDJNZ R0,LOOP CJNE A,#0FFH,LOOP1 ;修改之处LJMP LOOP2LOOP1: INC R1LJMP LOOPLOOP2: MOV DPTR,#2100HMOV A,R1MOVX DPTR,ASJMP $END-8-六、实验源程序;相同数MOV DPTR,#2000H ;(2000H)送 DPTRMOV R0,#0FHMOV R1,#00HLOOP: MOVX A,DPTRINC DPTRDJNZ R

9、0,LOOPJZ LOOP1LJMP LOOP2LOOP1: INC R1LJMP LOOPLOOP2: MOV DPTR,#2100HMOV A,R1MOVX DPTR,ASJMP $END实验七 无符号双字节快速乘法子程序一、实验目的掌握 MCS-51 汇编语言程序设计方法。-9-二、预备知识本程序是利用单字节的乘法指令,根据下面的公式进行乘法运算的:(R2 R3)(R6 R7)= (R2)28+(R3)(R6)28+(R7)= (R2)(R6)216+(R2)(R7)+(R3)(R6)28+(R3)*(R7)三、实验内容将(R2 R3 )和(R6 R7)中双字节无符号整数相乘,积送 R4

10、 R5 R6 R7 中。四、程序框图五、实验过程根据程序框图编写程序,调试无误后装载,运行后观察记录实验现象,并截图。6、实验结果及分析1、寄存器 R2、R3、R6 、R7 分别输入 01、10、11、10,运行程序,R4 、R6 中的内容是什么?答:R4、R6 中的内容分别是 01 和 15。-10-7、实验源程序;乘法MOV A,R3MOV B,R7MUL ABXCH A,R7MOV R5,BMOV B,R2MUL ABADD A,R5MOV R4,ACLR AADDC A,BMOV R5,A-11-MOV A,R6MOV B,R3MUL ABADD A,R4XCH A,R6XCH A,B

11、ADDC A,R5MOV R5,AMOV F0,CMOV A,R2MUL ABADD A,R5MOV R5,ACLR AMOV ACC.0,CMOV C,F0ADD A,BMOV R4,ARETSJMP $END实验八 多分支程序一、实验目的掌握汇编语言的编程。二、实验内容编写程序,根据送入的数据转移运行。三、程序框图-12-4、实验过程根据程序框图编写程序,调试无误后装载,运行后观察记录实验现象,并截图。五、实验结果及分析1、如何修改程序使数据循环变慢,同时将 0 字循环改为 4 字循环?答:修改延时程序 DLY,增长延时时间原延时程序:DLY:MOV R3,#0A0HDL1:MOV R4,

12、#7DHDL2:NOPNOPDJNZ R4,DL2DJNZ R3,DL1RETEND修改后的延时程序:DLY:MOV R3,#0FHDL1:MOV R4,#7DHDL2:NOPNOPDJNZ R4,DL2DJNZ R3,DL1RETEND将 0 字循环改为 4 字循环:修改后的子程序ROUT0:MOV 20H,#99HMOV A,20HMOV R0,#0DCHMOV R1,#0DDHMOVX R0,AMOV A,#01HLP0: MOVX R1,AACALL DLYRL ASJMP LP0-13-6、实验源程序ORG 0MOV 20H,#04HMOV R0,#20HMOV A,R0MOV DP

13、TR,#TABLOOP:JMP A+DPTRTAB: AJMP ROUT0AJMP ROUT1AJMP ROUT2AJMP ROUT3ROUT0:MOV 20H,#0C0HMOV A,20HMOV R0,#0DCHMOV R1,#0DDHMOVX R0,AMOV A,#01HLP0: MOVX R1,AACALL DLYRL ASJMP LP0ROUT1:MOV 20H,#0F9HMOV A,20HMOV R0,#0DCHMOV R1,#0DDHMOVX R0,AMOV A,#01HLP1:MOVX R1,AACALL DLYRL ASJMP LP1ROUT2:MOV 20H,#0A4HMOV

14、 A,20HMOV R0,#0DCHMOV R1,#0DDHMOVX R0,AMOV A,#01HLP2:MOVX R1,AACALL DLYRL A-14-SJMP LP2ROUT3:MOV 20H,#0B0HMOV A,20HMOV R0,#0DCHMOV R1,#0DDHMOVX R0,AMOV A,#01HLP3:MOVX R1,AACALL DLYRL ASJMP LP3DLY:MOV R3,#0A0HDL1:MOV R4,#7DHDL2:NOPNOPDJNZ R4,DL2DJNZ R3,DL1RETEND实验 十 电脑时钟(定时器、中断器综合实验)一、实验目的熟悉 MCS-51 定

15、时器,串行口和中断初始化编程方法,了解定时器的应用实时程序的设计与调试技巧。二、实验内容编写程序,从本实验系统键盘上输入时间初值,用定时器产生 0.1S 定时中断,对时钟计数器计数,并将数值实时地送数码管显示。三、程序框图-15-4、实验过程根据程序框图编写程序,调试无误后装载,运行后观察记录实验现象。五、实验结果及分析1、如何修改程序使定时器工作方式改变(实现 12 小时制)?答:将原程序 “ CJNE A,#24,DONE ”改为“ CJNE A,#12,DONE ”,从而实现 12 小时制。6、实验源程序脉冲计数(定时计数器实验)ORG 06E0HSE15: MOV SP,#53HMOV TMOD,#05HMOV TH0,#00HMOV TL0,#00H SETB TR0 LO29: MOV R2,TH0MOV R3,TL0 LCALL ZOY0 MOV R0,#79HMOV A,R6LCALL PTDSMOV A,R5

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

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