文档详情

MCS51单片机实验指导书实验4-6讲义.doc

发布:2017-04-05约1.67万字共13页下载文档
文本预览下载声明
实验四 一般程序设计(三): 循环程序 一、 实验目的 1. 通过循环程序的设计,进一步熟悉指令系统、寻址方式。 2. 掌握循环程序的编写方法,学会合理使用不同的循环条件。 3. 进一步掌握程序调试的手段和基本方法。 二、 实验前的准备工作 1. 认真复习指令系统以及程序设计等章节。 2. 根据要求编写好源程序,并人工汇编成机器码,正确计算相对转移指令的偏移量,并分配好存储单元地址。 3. 复习实验一的内容,熟悉实验系统的操作方法。 三、 实验内容和步骤 分别手工输入实验程序的机器码(实验前已完成人工汇编),再检查程序输入是否有错,在确认无错的情况下执行程序。当执行结果不对时,应该可以比较熟练地利用设置断点和单步执行方法进行查错。 1. 求一组无符号数中的最大值 要求:该组无符号数据块的长度存放在LENGTH单元,数据块从DATA1存储单元开始存放;找出的最大值存放在MAX存储单元中。 参考程序1: 无符号数据块查找最大值程序。 ORG 2400H MAX EQU 2FH 2400 SEAMAX: MOV DPTR,# LENGTH 24 MOVX A,@DPTR 24 MOV R7,A 24 DEC R7 24 INC DPTR 24 NEXT: MOVX A,@DPTR 24 MOV 2AH,A 24 INC DPTR 24 MOVX A,@DPTR 24 CJNE A,2AH,CHK 24 CHK: JNC LOOP 24 MOV A,2AH 24 LOOP: DJNZ R7,NEXT 24 MOV MAX,A 24 WAIT: SJMP WAIT ORG 3000H 3000 LENGTH: DB 0AH 3001 DATA1: DB 67H,79H,15H,0E3H,72H 3006 DB 95H,0D4H,23H,0C6H,09H END ⑴ 读懂程序,画出程序流程框图。 ⑵ 完成人工汇编。 ⑶ 输入目标程序和相应片内RAM单元数据。 ⑷ 执行程序,并记录结果。 ⑸ 如何修改程序,找出其中最小数? *⑹ 编写一个求一组带符号数最大值的程序,并上机验证。(选做) 2. 自编一个无符号数据块排序程序 要求:编写无符号数据块排序程序,该组无符号数据块的长度存放在片内RAM LENGTH单元,紧接着,数据块从 DATA1 存储单元依次存放了 10 个无符号数;用冒泡法对该数据块进行从小到大排序。 自编程序: 无符号数据块升序排序程序 ⑴ 按要求编写好源程序,并完成人工汇编和分配好存储单元地址: ORG 2420H LENGTH EQU 4FH DATA1 EQU 50H 2420 SORT: 24 24 24
显示全部
相似文档