哈尔滨工业大学单片机实验报告图文精Word格式文档下载.docx
- 文档编号:19534406
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:19
- 大小:21.96KB
哈尔滨工业大学单片机实验报告图文精Word格式文档下载.docx
《哈尔滨工业大学单片机实验报告图文精Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《哈尔滨工业大学单片机实验报告图文精Word格式文档下载.docx(19页珍藏版)》请在冰豆网上搜索。
⑵在“P.”状态下键入0640,然后按“STEP”或“EXEC”进入实验项目的调试与运行。
2、PC环境
在与PC联机状态下,编译、连接、下载PH51\se01.asm,用连续或单步方式运行程序。
3、运行结果检查
⑴在单步运行时,每走一步可观察其运行结果。
⑵在连续运行状态下,应按“暂停图标”或实验箱上的“暂停按钮”,使系统无条件退出用户运行状态返回监控,然后再用相应的命令键观察与检查2000~20FFH中执行程序前后的内容变化。
五、实验结果及分析
实验前截图:
实验后截图:
实验源程序:
ORG0640H
SE01:
MOVR0,#00H
MOVDPTR,#2000H;
(2000H送DPTR
LOO1:
MOVX@DPTR,A;
0送(DPTR
INCDPTR;
DPTR+1
INCR0;
字节数加1
CJNER0,#00H,LOO1;
不到FF个字节再清
SJMP$
END
实验问题:
2000H~20FFh中的内容是什么?
解答:
实验运行之前,2000H~20FFh中的内容是随机分配的;
在执行完清零程序之后,
2000H~20FFh中的内容都变为0.
实验二拆字程序
掌握汇编语言设计和调试方法。
把2000h的内容拆开,高位送2001h低位,低位送2002h低位,2001h、2002h高位清零,一般本程序用于把数据送显示缓冲区时用。
三、程序流程
四、实验步骤
⑵在“P.”状态下键入0660,然后按“STEP”或“EXEC”进入实验项目的调试与运行。
在与PC联机状态下,编译、连接、下载PH51\se02.asm,用连续或单步方式运行程序。
⑴在单步运行时每走一步可观察其运行结果。
⑵在连续运行状态下,应按“暂停图标”或实验箱上的“暂停按钮”,使系统无条件退出用户运行状态返回监控,然后再用相应的命令键观察与检查2000~2002h中内容变化情况。
先保存2000H,在利用SWAP语句将2000H高低位交换;
然后利用ANL语句把交换后的2000H单元的高位给屏蔽,将高低位交换后的2000H单元的地位送给2001H,最后将2000H交换之前的高位屏蔽,低位送入2002H。
实验前后截图如下:
六、实验源程序
ORG0000;
MOVDPTR,#2000H;
MOVXA,@DPTR;
ANLA,#0FH;
MOVR1,A;
SWAPA;
INCDPTR;
MOVX@DPTR,A;
MOVA,R1;
END;
如果将2001h、2002h高位置1,程序该如何修改?
修改方法很多,例如在2001H、2002H单元中加上1100H。
实验三拼字程序
进一步掌握汇编语言设计和调试方法。
把2000h、2001h的低位分别送入2002h高低位,一般本程序用于把显示缓冲区的数据取出拼装成一个字节。
⑴在“P.”状态下按"
0→EV/UN"
装载实验所需的代码程序。
⑵在“P.”状态下键入0680,然后按“STEP”或“EXEC”进入实验项目的调试与运行。
在与PC联机状态下,编译、连接、下载PH51\se03.asm,用连续或单步方式运行程序。
⑵在连续运行状态下,应按“暂停图标”或实验箱上的“暂停按钮”,使系统无条件退出用户运行状态返回监控,然后再用相应的命令键观察与检查2002h内容变化情况。
六、实验源程序ORG0000H;
MOVXA,@DPTR;
ORLA,R1;
七、实验问答
1、运行程序后2002h的最终内容是?
从实验后的截图中可以看出为:
06.
实验四数据区传送子程序
掌握RAM中的数据操作。
把R2、R3源RAM区首址内的R6、R7字节数据传送到R4、R5目的RAM区。
⑵对R2、R3所定义的源地址单元从首址开始依次写入00、11、22、……、0FF。
⑶在“P.”状态下键入07B0,然后按“STEP”或“EXEC”进入实验项目的调试与运行。
在与PC联机状态下,编译、连接、下载PH51\se04.asm,用连续或单步方式运行程序。
⑵在连续运行状态下,应按“暂停图标”或实验箱上的“暂停按钮”,使系统无条件退出用户运行状态返回监控,然后再用相应的命令键检查由R4、R5所定义的目的地址单元。
ORG07B0H
MOVR2,#20H
MOVR3,#00H
MOVR4,#20H
MOVR5,#90H
MOVR6,#00H
MOVR7,#00H
START:
CLRC
MOVDPL,R3
MOVDPH,R2;
建立源程序首址
MOVXA,@DPTR;
取数
MOVDPL,R5
MOVDPH,R4;
目的地首址
MOVX@DPTR,A
INCR3;
源地址加1
MOVA,R2
ACALLADB
MOVR2,A
INCR5;
目的地址加1
MOVA,R4
MOVR4,A
INCR7;
转移数加1
MOVA,R6
MOVR6,A
CJNER6,#00H,START
CJNER7,#2FH,START
ADB:
ADDCA,#00H
CLRC
RET
1、R4、R5所定义的目的地址单元内容是什么?
从截图中可以看出R4、R5中为:
01、09.
实验六查找相同数个数
熟悉汇编语言编程。
在2000~200Fh中查出有几个字节是零,把个数放在2100h中。
⑵在2000~200Fh的若干单元中填入零
⑶在“P.”状态下键入0AA0,然后按“STEP”或“EXEC”进入实验项目的调试与运行。
在与PC联机状态下,编译、连接、下载PH51\se06.asm,用连续或单步方式运行程序。
⑵在连续运行状态下,应按“暂停图标”或实验箱上的“暂停按钮”,使系统无条件退出用户运行状态返回监控,然后再用相应的命令键观察与检查2100h中是几个单元数。
ORG2000H;
MOVR0,#0FH;
MOVR1,#00H;
JNZLOOP;
INCR1;
LOOP:
DJNZR0,START;
MOVA,R1;
MOVDPTR,#2100H;
MOVX@DPTR,A;
END;
实验七无符号双字节快速乘法子程序
掌握MCS-51汇编语言程序设计方法。
二、预备知识
本程序是利用单字节的乘法指令,根据下面的公式进行乘法运算的:
(R2R3×
(R6R7
=((R2×
28+(R3×
((R6×
28+(R7
=(R2×
(R6×
216+(R2×
(R7+(R3×
28+(R3*(R7
三、实验内容
将(R2R3和(R6R7中双字节无符号整数相乘,积送R4R5R6R7中。
四、程序框图
五、实验步骤
⑵对R2、R3所定义的源地址单元从首址开始输入无符号整数。
⑶在“P.”状态下键入0970,然后按“STEP”或“EXEC”进入实验项目的调试与运行。
在与PC联机状态下,编译、连接、下载PH51\se07.asm,用连续或单步方式运行程序。
⑵在连续运行状态下,应按“暂停图标”或实验箱上的“暂停按钮”,使系统无条件退出用户运行状态返回监控,然后再用相应的命令键检查R4R5R6R7中内容。
六、实验源程序ORG0000HMOVA,R3MOVB,R7
MULAB
XCHA,R7
MOVR5,B
MOVB,R2
ADDA,R5
CLRA
ADDCA,B
MOVR5,A
MOVB,R3
ADDA,R4
XCHA,R6
XCHA,B
ADDCA,R5MOVR5,A
MOVF0,C
MOVACC.0,C
MOVC,F0
1、寄存器R
2、R
3、R6、R7分别输入01、10、11、10,运行程序,R
4、R6中的内容是什么?
0110H*1110H=122100H
故R4:
12R6:
00
实验八多分支程序一、实验目的掌握汇编语言的编程。
二、实验内容编写程序,根据送入的数据转移运行。
三、程序框图四、实验步骤1、LED环境⑴在“P.”状态下按“0→EV/UN”,装载实验所需的代码程序。
⑵在20H中分次送入00、01、02、03。
⑶在“P.”状态下键入0A10,然后按“STEP”或“EXEC”进入实验项目的调试与运行。
2、PC环境在与PC联机状态下,编译、连接、下载PH51\se08.asm,用连续或单步方式运行程序。
3、运行结果检查
(1)在单步运行时每走一步可观察其运行结果。
(2)在连续运行状态下,应按“暂停图标”或实验箱上的“暂停按钮”,使系统无条件退出用户运行状态返回监控,然后观察每次运行程序后,数码管上数字循环情况。
六、实验源程序MAIN:
MOV20H,#00HMOVA,20HMOVDPTR,#SZ;
散转首址RLA;
(20*2JMP@A+DPTR;
转到(20*2+DPTRAJMPLOOP0AJMPLOOP1AJMPLOOP2AJMPLOOP3-17-SZ:
LOOP0:
MOV20H,#0C0HLJMPSOX0LOOP1:
MOV20H,#0F9HLJMPSOX0LOOP2:
MOV20H,#0A4HLJMPSOX0LOOP3:
MOV20H,#0B0HLJMPSOX0SOX0:
MOVA,20HMOVR0,#0DCHMOVR1,#0DDHMOVX@R0,AMOVA,#01HMOVX@R1,A;
MOVR2,#20HLCALLDELYRLASJMPSOX1;
0字循环;
1字循环;
2字循环;
3字循环SOX1:
;
显示子程序DELY:
MOVR5,#1AHLP0:
MOVR6,#7DHLP1:
NOPNOPDJNZR6,LP1DJNZR5,LP0RETEND-18-
实验十一二进制转换到BCD一、实验要求将给定的一个二进制数,转换成二进制编码的十进制(BCD)码。
二、实验目的掌握简单的数值转换算法,基本了解数值的各种表达方法。
三、实验说明计算机中的数值有各种表达方式,这是计算机的基础。
掌握各种数制之间的转换是一种基本功。
四、程序框图五、实验步骤1、在实验系统与PC联机状态下,编译、连接、下载、运行PH51\se11.asm,将ACC拆为三个BCD码。
2、运行结果检查⑴在单步运行时每走一步可观察其运行结果。
⑵在连续运行状态下,应按“暂停图标”,使系统无条件退出用户运行状态返回监控,然后再用相应的命令键检查存入20H开始的三个片内RAM单元。
六、实验源程序:
DELAY:
MOVR5,#0AHLP0:
MOVR6,#125LP1:
NOPNOPORG0000MOVRO,#1000HMOVA,R2MOVB,#64H-19-
DIVABMOV@RO,1MOVA,BMOVB,#0AHDIVABINCR0MOV@R0,AINCR0MOV@R0,BEND-20-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 哈尔滨工业大学 单片机 实验 报告 图文