- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
一、数据传送
实验目的:
掌握8051单片机内部数据存贮器、外部数据存贮器的数据传送特点和应用
掌握MOV,MOVX和MOVC类指令的用法及区别
实验内容:
将内部数据存贮器20H为首地址的十六个字节传送到30H为首地址的数据区,即:
20H~2FH送30H~3FH
将外部数据存储器2000H~200FH单元的十六个数据传送到内部数据存储器的30H~
3FH
将外部数据存贮器中首地址为1000H的连续存放的八个数与首地址为1010H的间隔存放的八个数进行交换
1000 1001 1002 1003 1004 1005 1006 1007
1010 1012 1014 1016 1018 101A 101C 101E
建立一个数字0~9的ASCⅡ码表,表格房子程序存储器区首地址为1000H的十个单元内,编程根据R0中的内容来查表,所得结果存放在寄存器B中,注意R0中得内容不在0~9范围时的处理。
二、加减法运算
实验目的:
正确使用单片机的加减运算指令
掌握不同指令对于程序状态字的影响及程序状态字的意义、用处
掌握ADD,ADDC,SUBB和DA A等指令的用法
学习模块化程序设计方法
实验内容:
编写3字节二进制加法子程序,并用主程序调用不同的加数和被加数来检测该子程序的正确性。需考虑有进位和无进位情况。
程序入口为:加数:22H,21H,20H三字节,22H为最高位被加数:32H,31H,30H三字节,32H为最高位
程序出口为:23H,22H,21H,20H四字节,23H为最高位
例如:地址:23
22
21
20
32
31
30
执行前数据:
01
23
45
FF
01
01
执行后数据:01
00
24
46
编写10位十进制加法子程序(十进制数采用压缩BCD码存放)入口:加数:24H-20H,低地址放低字节
被加数:29H-25H,低地址放低字节出口:和:4005H-4000H,低地址放低自己
要求调用多组数据调试,注意观察PSW的变化,理解DA A指令的含义。例如:
执行前地址:24
23
22
21
20
29
28
27
26
25
数据:12
34
56
78
90
88
99
33
12
74
执行后地址:4005
4004
4003
4002
4001
4000
数据:01
01
33
89
91
64
三、乘除法运算
实验目的:
掌握MUL和DIV指令的用法
掌握无符合整数的乘、除法设计思路
实验内容:
(1)无符号二进制双字节乘法
入口:R1(高位)R0(低位)内放被乘数
R3(高位)R2(地位)内放乘数
出口:33H~30H内放乘积,33H为最高位设置多组数据来验证程序的正确性,例如:
执行前地址:R1
R0
R3
R2
数据:FE
00
FE
00
执行后地址:33
32
31
30
数据:FC
04
00
00
四、代码转换
实验目的:
掌握代码转换的方法
进一步熟悉51单片机指令系统
实验内容:
(1)将内部RAM30H~37H单元的16个拼装4位二进制数0~F,转换成ASCⅡ码,并存入内部数据RAM以40H为首地址的区域中。
转换前:地址:30
31
32
33
34
35
36
37
数据:01
23
45
67
89
AB
CD
EF
转换后:
地址: 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E EF
ASCⅡ码:3031 32 33 34 35 36 37 38 39 41 42 43 44 45 46
五、逻辑运算和位操作
实验目的:
掌握位操作指令
掌握字节逻辑运算和位逻辑运算的区别
实验内容:
(1)有布尔表达式为Y=A(B+/C)+D(E+/F)
设A为累加器ACC,B为寄存器B,C为R0,D为R1,E为R2,F为R3,Y为R7。编程实现并调试。
设A为P1.0,B为P1.4,C为TF1,D、E、F分别为20H.0,20H.3,和20H.5,Y为P1.5。编程
实现并调试。
六、数据排序
实验目的:进一步熟悉单片机指令
实验内容:
设计并调试一个通用子程序,其功能为:将以R0的内容作为起始地址的内容RAM的10
个单字节无符号二进制整数按从小到大的次序重新排列,结果依次送至20H-29H单元。
七、查表
实验目的:掌握查表指令的应用
实验内容:
设计并调试一个查表子程序,其功能为应用查表指令:MOVCA,@A+DPTR,求累加器A中数据所对应的温度值,送R2R3(温度值为两个字节的压缩BCD码xx.xx),子程序入口时(A
文档评论(0)