、、02
201112
单片机实验报告书 (软件部分)
姓 名: 学 号: 班 级: 指导老师:
目录
1 熟悉键盘操作及数传指令编程设计…………………………1 2 数传指令程序设计……………………………………………6 3算数运算指令编程设计………………………………………10 4逻辑运算及位操作指令编程设计……………………………17 5代码转换………………………………………………………23 6移位操作………………………………………………………30 7分支……………………………………………………………31 8循环程序设计…………………………………………………32 9查表程序设计…………………………………………………49 10散转程序设计…………………………………………………52 11子程序设计……………………………………………………60
单片机实验(软件部分)
实验一 熟悉键盘操作及数传指令编程设计
一、实验内容
印证数据传送指令的功能、寻址方式以及PC指针、SP指针、DPTR指针、Ri指针分别对代码段、堆栈段、外扩数据存储器段、位寻址区等不同存储器的访问方式。
1.内部RAM数据传
1)寄存器寻址与立即寻址,需要查看的数据有A、PSW和不同寄存器区的Rn等单元的内容
步数 A变化 原值 变值 PSW变化 原值 变值 RN变化 原值 变值 PC 变原化值 值 ORG 0000H MOV PSW,#00H MOV R0,#30H MOV A,R0 MOV R6,A MOV PSW,#14H MOV R0,#30H MOV A,R0 MOV R6,A MOV PSW,#10H MOV R0,#30H MOV A,R0 MOV R6,A MOV PSW,#08H 0X00 0X00 0X00 0X00 0X00 0X00 0X00 0X00 0X00 0X00 0X30 0X00 0X00 0X00 0X00 0x14 0X00(R0) 0X00 0X00(R6) 0X30(R0) 0X30(R6) 0X00(R0) 0X00 0X00(R6) 0X00 0X300000(R0) 00 03 000003 05 0X300000(R6) 05 06 0X00(R0) 0X00 00(R6) 06 0X30(R000) 07 0X00 0X00 0X00 0X00 0X00 0X00 0X00 0x14 0x10 000A 0X3000(R6) 0C 0007 000A 000C 000D 000E 0011 0013 0014 0X00 0X00 0X00 0X00 0X00 0X00 0X00 0X10 0x08 0X00 0X00 0X00 0X30(R0) 0X30 000D 000E 0011 0013 0X00(R0) 00000X00 14 15 第 1 页 共 68 页
单片机实验(软件部分)
(R6) MOV R0,#30H MOV A,R0 MOV R6,A SJMP $ END 0X00 0X00 0X00 0X00 0X00 0X00 0X00(R0) 0X00 0X00(R6)
(R6) 0X30(R0) 0015 0018 0X3000(R6) 1A 001B 0018 001A 001B 001C 2) 直接寻址,需查看30H、31H、32H、40H、ACC、PSW等单元的内容。
步数
ORG 0100H MOV 30H,#45H MOV 31H,#46H MOV 02H,31H
MOV 0E0H,30H MOV 32H,ACC MOV ACC,PSW MOV 40H,ACC SJMP $ END 30H 31H 32H 40H 原变原变原变原变值 值 值 值 值 值 值 值 000
00 0 0 0 000
00 0 0 0 040
0 00
0 5 0 4040
00 5 0 6 0 440
00 5 6 0 440
00 5 6 0 4404
00 5 6 0 5 4440X45 6 5 0 5 4440X45 6 5 5
@RO
原值 变值 00 00 66 66 66 30 30 30
RO 原值
0X00 0X00 0X00 0X00 0X30 0X30
2.外部数据传送
ACC 原变值 值 0X0
0 0X0
0 0X0
0 0X0
0 0X0
0
0X00X40 5 0X4
5 0X45 0X45 PSW
原变值 值 0X0
0 0X0
0 0X0
0 0X0
0 0X0
0
0X00X00 1 0X0
1 0X01 0X01
PC
PC
原变值 值
· 0000
0103 0106 0109 010C 010F 0112 0115
` 0106 0109 010C 010F 0112
3)寄存器间接寻址,需查看@R0、RO等的内容
ORG 0200H MOV 30H,#66H MOV R0,#30H MOV @R0,#30H
SJMP $ END
变值 0X30
原值 0200 0203 0205
变值 0203 0205 0207
第 2 页 共 68 页