哈尔滨工业大学单片机实验报告图文精_第1页
哈尔滨工业大学单片机实验报告图文精_第2页
哈尔滨工业大学单片机实验报告图文精_第3页
哈尔滨工业大学单片机实验报告图文精_第4页
哈尔滨工业大学单片机实验报告图文精_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 H a r b i n I n s t i t u t e o f T e c h n o l o g y单片机原理与应用实验报告学生姓名:学号:班级:通信工程专业:任课教师:所在单位:电子与信息工程学院2013年5月软件实验在软件实验部分,通过实验程序的调试,使学生熟悉MCS-51的指令系统,了解程序设计过程,掌握汇编语言设计方法以及如何使用实验系统提供的调试手段来排除程序错误。实验一清零程序一、实验目的掌握汇编语言设计和调试方法,熟悉键盘操作。二、实验内容把200020FFh的内容清零。三、程序框图 四、实验过程1、LED环境在“P.”状态下按“0EV/UN”,装载实验所需的代码程序。在

2、“P.”状态下键入0640,然后按“STEP”或“EXEC”进入实验项目的调试与运行。2、PC环境在与PC联机状态下,编译、连接、下载PH51se01.asm,用连续或单步方式运行程序。3、运行结果检查在单步运行时,每走一步可观察其运行结果。在连续运行状态下,应按“暂停图标”或实验箱上的“暂停按钮”,使系统无条件退出用户运行状态返回监控,然后再用相应的命令键观察与检查200020FFH中执行程序前后的内容变化。五、实验结果及分析实验前截图: 实验后截图: 实验源程序:ORG 0640HSE01: MOV R0,#00HMOV DPTR,#2000H ;(2000H送DPTRLOO1: MOVX

3、 DPTR,A ;0送(DPTRINC DPTR ;DPTR+1INC R0 ;字节数加1CJNE R0,#00H,LOO1 ;不到FF个字节再清SJMP $END实验问题:2000H20FFh中的内容是什么?解答:实验运行之前,2000H20FFh中的内容是随机分配的;在执行完清零程序之后,2000H20FFh中的内容都变为0.实验二拆字程序一、实验目的掌握汇编语言设计和调试方法。二、实验内容把2000h的内容拆开,高位送2001h低位,低位送2002h低位,2001h、2002h高位清零,一般本程序用于把数据送显示缓冲区时用。三、程序流程 四、实验步骤1、LED环境在“P.”状态下按“0E

4、V/UN”,装载实验所需的代码程序。在“P.”状态下键入0660,然后按“STEP”或“EXEC”进入实验项目的调试与运行。2、PC环境在与PC联机状态下,编译、连接、下载PH51se02.asm,用连续或单步方式运行程序。3、运行结果检查在单步运行时每走一步可观察其运行结果。在连续运行状态下,应按“暂停图标”或实验箱上的“暂停按钮”,使系统无条件退出用户运行状态返回监控,然后再用相应的命令键观察与检查20002002h中内容变化情况。五、实验结果及分析先保存2000H,在利用SWAP语句将2000H高低位交换;然后利用ANL语句把交换后的2000H单元的高位给屏蔽,将高低位交换后的2000H

5、单元的地位送给2001H,最后将2000H交换之前的高位屏蔽,低位送入2002H。实验前后截图如下: 六、实验源程序ORG 0000;MOV DPTR,#2000H;MOVX A,DPTR;ANL A,#0FH;MOV R1,A;MOVX A,DPTR;SWAP A;ANL A,#0FH;INC DPTR;MOVX DPTR,A;INC DPTR;MOV A,R1;MOVX DPTR,A;END;如果将2001h、2002h高位置1,程序该如何修改?修改方法很多,例如在2001H、2002H单元中加上1100H。实验三拼字程序一、实验目的进一步掌握汇编语言设计和调试方法。二、实验内容把2000

6、h、2001h的低位分别送入2002h高低位,一般本程序用于把显示缓冲区的数据取出拼装成一个字节。三、程序流程 四、实验步骤1、LED环境在“P.”状态下按"0EV/UN",装载实验所需的代码程序。在“P.”状态下键入0680,然后按“STEP”或“EXEC”进入实验项目的调试与运行。2、PC环境在与PC联机状态下,编译、连接、下载PH51se03.asm,用连续或单步方式运行程序。3、运行结果检查在单步运行时每走一步可观察其运行结果。在连续运行状态下,应按“暂停图标”或实验箱上的“暂停按钮”,使系统无条件退出用户运行状态返回监控,然后再用相应的命令键观察与检查2002h内

7、容变化情况。五、实验结果及分析实验前后截图如下: 六、实验源程序 ORG 0000H;MOV DPTR,#2000H; MOVX A,DPTR;ANL A,#0FH;SWAP A;MOV R1,A;INC DPTR;MOVX A,DPTR;ANL A,#0FH;ORL A,R1;INC DPTR;MOVX DPTR,A;END;七、实验问答1、运行程序后2002h的最终内容是?从实验后的截图中可以看出为:06.实验四数据区传送子程序一、实验目的掌握RAM中的数据操作。二、实验内容把R2、R3源RAM区首址内的R6、R7字节数据传送到R4、R5目的RAM区。三、程序流程 四、实验步骤1、LED环

8、境在“P.”状态下按“0EV/UN”,装载实验所需的代码程序。对R2、R3所定义的源地址单元从首址开始依次写入00、11、22、0FF。在“P.”状态下键入07B0,然后按“STEP”或“EXEC”进入实验项目的调试与运行。2、PC环境在与PC联机状态下,编译、连接、下载PH51se04.asm,用连续或单步方式运行程序。3、运行结果检查在单步运行时每走一步可观察其运行结果。在连续运行状态下,应按“暂停图标”或实验箱上的“暂停按钮”,使系统无条件退出用户运行状态返回监控,然后再用相应的命令键检查由R4、R5所定义的目的地址单元。五、实验结果及分析实验前后截图如下: 六、实验源程序ORG 07B

9、0HMOV R2,#20HMOV R3,#00HMOV R4,#20HMOV R5,#90HMOV R6,#00HMOV R7,#00HSTART: CLR CMOV DPL,R3MOV DPH,R2 ;建立源程序首址MOVX A,DPTR ;取数MOV DPL,R5MOV DPH,R4 ;目的地首址MOVX DPTR,AINC R3 ;源地址加1MOV A,R2ACALL ADBMOV R2,AINC R5 ;目的地址加1MOV A,R4ACALL ADBMOV R4,AINC R7 ;转移数加1MOV A,R6ACALL ADBMOV R6,ACJNE R6,#00H,STARTCJNE

10、R7,#2FH,STARTADB: ADDC A,#00HCLR CRETEND七、实验问答1、R4、R5所定义的目的地址单元内容是什么?从截图中可以看出 R4、R5中为:01 、09.实验六查找相同数个数一、实验目的熟悉汇编语言编程。二、实验内容在2000200Fh中查出有几个字节是零,把个数放在2100h中。三、程序框图 四、实验步骤1、LED环境在“P.”状态下按“0EV/UN”,装载实验所需的代码程序。在2000200Fh的若干单元中填入零在“P.”状态下键入0AA0,然后按“STEP”或“EXEC”进入实验项目的调试与运行。2、PC环境在与PC联机状态下,编译、连接、下载PH51se

11、06.asm,用连续或单步方式运行程序。3、运行结果检查在单步运行时每走一步可观察其运行结果。在连续运行状态下,应按“暂停图标”或实验箱上的“暂停按钮”,使系统无条件退出用户运行状态返回监控,然后再用相应的命令键观察与检查2100h中是几个单元数。五、实验结果及分析实验前后截图如下: 六、实验源程序ORG 2000H;MOV R0,#0FH;MOV R1,#00H;MOV DPTR,#2000H;START:MOVX A,DPTR;JNZ LOOP;INC R1;LOOP:INC DPTR; DJNZ R0,START; MOV A,R1;MOV DPTR,#2100H; MOVX DPTR,

12、A; END;实验七无符号双字节快速乘法子程序一、实验目的掌握MCS-51汇编语言程序设计方法。二、预备知识本程序是利用单字节的乘法指令,根据下面的公式进行乘法运算的:(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 R5 R6 R7中。四、程序框图 五、实验步骤1、LED环境在“P.”状态下按“0EV/UN”,装载实验所需的代码程

13、序。对R2、R3所定义的源地址单元从首址开始输入无符号整数。在“P.”状态下键入0970,然后按“STEP”或“EXEC”进入实验项目的调试与运行。2、PC环境在与PC联机状态下,编译、连接、下载PH51se07.asm,用连续或单步方式运行程序。3、运行结果检查在单步运行时每走一步可观察其运行结果。在连续运行状态下,应按“暂停图标”或实验箱上的“暂停按钮”,使系统无条件退出用户运行状态返回监控,然后再用相应的命令键检查R4 R5 R6 R7中内容。五、实验结果及分析实验前后截图如下: 六、实验源程序ORG 0000H MOV A,R3 MOV B,R7MUL ABXCH A,R7MOV R5

14、,BMOV B,R2MUL ABADD A,R5MOV R4,ACLR AADDC A,BMOV R5,AMOV A,R6MOV B,R3MUL ABADD A,R4XCH A,R6XCH A,BADDC A,R5 MOV R5,AMOV F0,CMOV A,R2MUL ABADD A,R5MOV R5,ACLR AMOV ACC.0,CMOV C,F0ADDC A,BMOV R4,ASJMP $END七、实验问答1、寄存器R2、R3、R6、R7分别输入01、10、11、10,运行程序,R4、R6中的内容是什么?解答:0110H*1110H=122100H故R4:12 R6:00实验八 多分支

15、程序 一、实验目的 掌握汇编语言的编程。 二、实验内容 编写程序,根据送入的数据转移运行。 三、程序框图 四、实验步骤 1、LED 环境 在“P.”状态下按“0EV/UN” ,装载实验所需的代码程序。 在 20H 中分次送入 00、01、02、03。 在“P.”状态下键入 0A10,然后按“STEP”或“EXEC”进入实验项目的调试与运行。 2、PC 环境 在与 PC 联机状态下,编译、连接、下载 PH51se08.asm,用连续或单步方式运行程 序。 3、运行结果检查 (1)在单步运行时每走一步可观察其运行结果。 (2)在连续运行状态下,应按“暂停图标”或实验箱上的“暂停按钮” ,使系统无条

16、件 退出用户运行状态返回监控,然后观察每次运行程序后,数码管上数字循环情况。 六、实验源程序 MAIN: MOV 20H,#00H MOV A,20H MOV DPTR,#SZ ;散转首址 RL A ;(20*2 JMP A+DPTR ;转到(20*2+DPTR AJMP LOOP0 AJMP LOOP1 AJMP LOOP2 AJMP LOOP3 -17- SZ: LOOP0: MOV 20H,#0C0H LJMP SOX0 LOOP1: MOV 20H,#0F9H LJMP SOX0 LOOP2: MOV 20H,#0A4H LJMP SOX0 LOOP3: MOV 20H,#0B0H L

17、JMP SOX0 SOX0: MOV A,20H MOV R0,#0DCH MOV R1,#0DDH MOVX R0,A MOV A,#01H MOVX R1,A ;MOV R2,#20H LCALL DELY RL A SJMP SOX1 ;0 字循环 ;1 字循环 ;2 字循环 ;3 字循环 SOX1: ;显示子程序 DELY: MOV R5,#1AH LP0: MOV R6,#7DH LP1: NOP NOP DJNZ R6,LP1 DJNZ R5,LP0 RET END -18- 实验十一 二进制转换到 BCD 一、实验要求 将给定的一个二进制数,转换成二进制编码的十进制(BCD)码。 二、实验目的 掌握简单的数值转换算法,基本了解数值的各种表达方法。 三、实验说明 计算机中的数值有各种表达方式,这是计算机的基础。掌握各种数制之间的转换是一种 基本功。 四、程序框图 五、实验步骤 1、在实验系统与 PC 联机状态下,编译、连接、下载、运行 PH51se11.asm,将 ACC 拆为三个 BCD 码。 2、运行结果检查 在单步运

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论