单片机实验报告
学生姓名 学号
专 业
指导教师
学 院 信息与电气工程学院
20xx年11月
单片机实验报告
实验一 MCS-51指令系统实验——数据排序
1.实验目的
熟悉MCS-51指令系统,掌握程序设计方法;加深对内部存储器读写的认识;熟悉仿真开发环境,学会源程序的编写、汇编/编译、调试;熟悉单片机硬件实验系统以及良好的实验习惯培养等;学会检查结果的正确性。
2.实验内容
将程序存储器的一个列表中的10个单字节无符号数据传送到内部RAM,然后用冒泡法对其按从小到大的次序重新排列,并送到外部RAM 以8000H开始的地址单元内。
3.实验流程图
4.调试程序
ORG 0000H
LJMP START ;将程序存储器的一个列表中的10个单字节无符号数据传送到内部RAM
ORG 0030H
START: MOV R3,#10 ;设置传送次数
MOV R0,#08H ;设置数据传送的内部RAM的首地址
MOV DPTR,#TAB
LOOP0: CLR A
MOVC A,@A+DPTR
MOV @R0,A
INC DPTR
INC R0 ;将程序存储器中的代码字节传送给A ;A传送到间接寻址R0 ;数据指针加1 ;寄存器R0加1 DJNZ R3,LOOP0 ;R3减1,若为0结束循环,传送结束 ;冒泡法对其按从小到大的次序重新排列
;设置外循环次数 MOV R3,#9
LOOP1: MOV A,R3
MOV R2,A MOV R0,#08H ;设置内循环次数 ;数据首地址送R0
LOOP2: MOV A,@R0
MOV 20H,@R0
INC R0 MOV 21H,@R0 CLR C ;进位标志位清零 ;前一个地址单元的内容和后一个地址单元内容比较 ;若有借位,前者小,不必交换,程序跳转到LOOP3 SUBB A,@R0 JC LOOP3 ;若无借位,前者大,进行交换 MOV @R0,20H DEC R0 MOV @R0,21H INC R0
…… …… 余下全文