程序清单:
ORG 0000H LJMP MAIN ORG 0100H
MAIN: MOV DPH,R2 MOV DPL,R3 MOVX A,@DPTR MOV DPH,R4 MOV DPL,R5 MOVX @DPTR,A CLR C MOV A,R3 ADD A,#1 MOV R3,A MOV A,R2 JC L1 SJMP L2 L1: INC A
L2: MOV R2,A ;源地址加1 CLR C MOV A,R5 ADD A,#1 MOV R5,A MOV A,R4 JC L3 SJMP L4 L3: INC A
L4: MOV R4,A ;目标地址加1 CLR C
11
MOV A,R7 SUBB A,#1 MOV R7,A MOV A,R6 JC L5 SJMP L6 L5: DEC A L6: MOV R6,A CJNE R6,#0,L7
L7: CJNE R7,#0,MAIN ;判断字节数有无为0,若为0则结束,不为0继续
循环
END
运行结果:如R2=70H,R3=00H,R4=70H,R5=05H,R6=00 H,R7=05H,运行后在7005H以后的单元中会连续显示7000的 内容。 实验三:
编写并调试一个排序子程序,其功能为用冒泡法将内部RAM 几个单元字节无符号的正整数,按从小到大的次序重新排列。 程序框图:
12
开始 将数据依次与后面的比较 若大则交换位置,否则继续比较 比较完 N Y 结束
程序清单: ORG 0000H LJMP MAIN ORG 0100H MAIN: LP1: LP2:
MOV R0, #30H ;数据起始地址
MOV R7, #09H ;排序数据个数: 10个数 MOV A,R7 MOV R6,A MOV A,R0 MOV R1,A INC R1
MOV A,@R0 ;取出一个数据 CLR C
SUBB A,@R1 ;与第二个数进行比较
13
JC LP3 ;R0中的数小于R1中的数则跳转
MOV A,@R0 ;R0中的数大于R1中的数, 交换数据
LP3:
END
XCH A,@R1 MOV @R0,A INC R1 DJNZ R6,LP2 INC R0 DJNZ R7,LP1 SJMP $
运行结果:数据从小到大排列 实验四:
LED交通灯控制(使用8255接口芯片)
要求:使用汇编语言编程,功能为:通过开关实现LED灯工作方式即时控制,完成LED交通灯的开关控制显示功能和LED交通灯自动循环显示功能。 程序框图:
14
开始 初始化8255 读开关状态 控制led灯 结束
硬件电路图:
程序清单:
15
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库中南大学微控制器技术实验报告(3)在线全文阅读。
相关推荐: