- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验1 BCD码转换成十六进制码
实验1 BCD码转换成十六进制码
实验目的
熟悉编码转换程序
掌握编写和运行子程序的技巧
2实验设备
计算机一台
硬件配置:pentium2及以上配置,内存为128MB,硬盘剩余空间100MB,配置有串口,并口,和USB口
操作系统:Windows98/2000/xp
应用软件:KeilC51
3实验内容
将片内RAM 20H单元中两位BCD码转换成相应的十六进制码,转换结果保存于22H单元
4实验原理提示
常用BCD码转十六进制码的方法为“乘十加数”法。例如,将BCD表示十进制数92)转换成十六进制编码表示形式,算法为:=(09*0A+02) =5CH。其中Y为转换后的十六进制数。再二进制运算中乘法可以用移位(左移)实现,*0A可以写成*08+*02,其中*08是将被乘数左移3为,*02是将被乘数左移1为。则(09*0A+02)=(09+08+09*02+02)=00010010==5CH。
5.BCD码转换成十六进制码的实验程序流程图如图
6.实验参考程序
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN: MOV R0,#12H
MOV R1,#06H
MOV R2,#08H
MOV R3,#11H
MOV A,R0
ADD A,R2
DA A
MOV R2,A
ANL A,#0FH
MOV R0,A
MOV A,R2
ANL A,#0F0H
SWAP A
ADD A,R1
ADD A,R3
DA A
MOV R3,A
ANL A,#0FH
MOV R1,A
MOV A,R3
MOV R3,#0H
ANL A,#0F0H
SWAP A
MOV R2,A
RET
END
7.实验要求
(1)掌握编码转换程序的编写方法
(2)根据实验任务要求,编制源程序
(3)上机调试程序,记录相关调试信息
(4)写出实验报告
实验2 排列程序
实验目的
熟悉MCS-51指令系统,掌握程序设计方法。
掌握排序程序算法
掌握循环程序实现数据排序的基本方法。
实验设备
计算机一台,配置同上
实验内容
编写并调试一个通用排序子程序,其功能为将RAM的40H~4FH单元16个子字节无符号二进制整数按从小到大顺序排列,将排序后数据存储于RAM的50H~5FH单元中。
4. 实验原理提示
从40H单元的第一个数开始依次和相邻单元的另一个数比较,如果顺序对,则不作任何操作;如果顺序不对,则将这两个数交换位置。这样,在完成第1遍n-1次比较后,最大的数到了最后,所以第2遍比较只是比较n-2次,最多作n-1遍比较就可完成排序。在比较中设立一个标志位flag=1说明排序未完成,进入外循环;若flag=0,说明排序已完成,程序结束。
实验程序:
ORG 0
LJMP MAIN
ORG 40H
MAIN: MOV R5,#10H
MOV R0,#40H
MOV A,#0H
MOV R1,#0H
MOV R2,#10H
LOOP0: ACALL LOOP
INC R0
INC R1
DJNZ R5,LOOP0
LOOP1: MOV R0,#40H
MOV B,#0FH
LOOP2: MOV A,@R0
MOV 10H,A
INC R0
MOV 11H,@R0
LOOP3: CJNE A,11H,LOOP4
LOOP4: JC LOOP5
MOV A,@R0
MOV @R0,10H
DEC R0
MOV @R0,A
INC R0
LOOP5: DJNZ B,LOOP2
DJNZ R2,LOOP1
SJMP $
LOOP: MOV DPTR,#TAB
MOV A,R1
MOVC A,@A+DPTR
MOV @R0,A
RET
TAB: DB 3,5,4,1,7,9,3,4,6,1,12,45,23,17,34,12
END
实验3
文档评论(0)