- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理及应用实验报告(中南大学2014年).
微机原理及应用实验报告
班级:
姓名:
学号:
中南大学
机电工程学院 精密测控实验室
实验二 软件程序设计
1.实验目的:
1、掌握MCS-51单片机指令系统及用汇编语言编程技巧;
2、了解和熟悉用MCS-51单片机仿真开发机调试程序的方法。
2.实验内容:
1、编写排序程序并上机调试通过。
已知8031内部RAM60H~69H单元中,依次存放了FFH,99H,77H,CCH,33H,DDH,88H,BBH,44H,EEH,它们均为无符号数,编程将它们按递减次序排序,即最大数放在60H中,最小数放在69H中。
2.、编写多字节加法程序并上机调试通过。
8031内部RAM20H~22H单元中,存放了3字节被加数(低字节在前),在2AH~2CH单元中存放3字节加数(低字节在前),求两数之和,并将结果存入以20H为起始地址的区域中(低字节在前)。
3.实验设备名称、型号:
台式微型计算机 MCS-51仿真开发机 THKSCM-2A
4.画出软件程序流程图,写出上机调试通过的汇编语言程序清单:
程序1、 编写排序程序并上机调试通过。
已知8031内部RAM60H~69H单元中,依次存放了
FFH,99H,77H,CCH,33H,DDH,88H,BBH,44H,EEH,它们均为无符号数,编程将它们按递减次序排序,即最大数放在60H中,最小数放在69H中。
解:本设计采用冒泡排序法,使用双重循环,并在内循环中进行比较如果合乎从大到小的顺序则不动,否则两两交换,这样比较下去,比较9次后,最小的那个数就会沉底,在下一次比较时将减少一次比较次数。如果一次比较完毕,没有发生交换,说明已经按照从大到小的顺序排列了。则可以退出循环,结束程序。
程序结构框图和程序代码如下:
ORG 1000H
TEM DATA 50H
MOV R7 , #9
MOV 60H , #0FFH
MOV 61H , #99H
MOV 62H , #77H
MOV 63H , #0CCH
MOV 64H , #33H
MOV 65H , #0DDH
MOV 66H , #88H
MOV 67H , #0BBH
MOV 68H , #44H
MOV 69H , #0EEH
LOOP0: CLR F0
MOV A , R7
MOV R6, A
MOV R0 , #60H
MOV R1, #60H
INC R1
LOOP1: MOV A , @R0
MOV TEM , A
MOV A , @R1
CJNE A ,TEM , NEXT
SJMP NOCHA
NEXT: JC NOCHA
SETB F0
MOV @R0 , A
XCH A , TEM
MOV @R1 , A
NOCHA:INC R0
INC R1
DJNZ R6, LOOP1
JNB F0, HAL
DJNZ R7, LOOP0
HAL: SJMP $
END
程序2:编写多字节加法程序并上机调试通过。
8031内部RAM20H~22H单元中,存放了3字节被加数(低字节在前),在2AH~2CH单元中存放3字节加数(低字节在前),求两数之和,并将结果存入以20H为起始地址的区域中(低字节在前)。
解:改程序由三个字节数相加,其结果不会超过4个字节,可以采用循环求和的办法,吧加数和被加数依次从低位带进位相加,当然加最低位时必须先对进位位清零。可以采用线性结构,也可以采用循环结构。我在设计该程序采用单重循环,结构简单,特别是当相加的数较长时,优势更加明显。
程序结构框图和源代码如下:
ORG 1000H
MOV 20H,#××H
MOV 21H,#××H
MOV 22H,#××H
MOV 2AH,#××H
MOV 2BH,#××H
MOV 2CH,#××H
MOV R0 #20H
MOV R1 #2AH
MOV R7 #03H
CLR C
LOOP0: MOV A ,@R0
MOV B ,@R1
ADDC A ,B
MOV @R0 ,A
INC R0
INC R1
DJNZ R7 ,LOOP0
NEXT : JNC HAL
INC R0
MOV @R0 ,#01H
HAL: SJMP $
END
5.思考题
1、如果题目1改为递增排序,如何修改程序,为什么?
答:将NEXT中的指令中的JC 指令换为JNC指令即可
2、如果题目1改为从30H单元开始的16个单元中无符号数排序,改哪几条指令?
答:改变R7的值为15,将值赋予30H到3FH上就可以了
3、如果题目2改为从50H开始的4字节数与60H开始的四
您可能关注的文档
- 微机原理与接口技术考试编程题..doc
- 微机原理与接口技术课程设计_动画程序设计(..doc
- 微机原理与接口技术课程设计..docx
- 微机原理与接口技术课程设计竞赛抢答器..doc
- 微机原理与接口技术选择填空题..doc
- 微机原理与接口技术题目综合..doc
- 微机原理与接口答案..docx
- 微机原理与接口试验教材..doc
- 微机原理与接口课程设计学生任务安排..doc
- 微机原理与汇编语言..doc
- 2024年中国钽材市场调查研究报告.docx
- 2024年中国不锈钢清洗车市场调查研究报告.docx
- 2024年中国分类垃圾箱市场调查研究报告.docx
- 2024年中国水气电磁阀市场调查研究报告.docx
- 2024年中国绿藻片市场调查研究报告.docx
- 2010-2023历年初中毕业升学考试(青海西宁卷)数学(带解析).docx
- 2010-2023历年福建厦门高一下学期质量检测地理卷.docx
- 2010-2023历年初中数学单元提优测试卷公式法(带解析).docx
- 2010-2023历年初中毕业升学考试(山东德州卷)化学(带解析).docx
- 2010-2023历年初中毕业升学考试(四川省泸州卷)化学(带解析).docx
文档评论(0)