评
阅
微机原理接口技术 实验报告
姓名 匡越 学号 1715211016
时间 点
实验题目
实验目
1 熟悉Keil软件
2 熟悉MCS51指令
3 学简单程序调试方法
二实验说明
通实验解单片机部存储器结构分配读写存储器方法熟悉MCS51指令时学单片机程序编程调试方法
三实验容步骤
1启动PC机开Keil软件软件设置模拟调试状态建项目文件中输入源程序1进行编译错误提示找该行纠错重新编译直通
2编译误开CPU窗口选择单步踪执行方式运行程序观察CPU窗口寄存器变化观察结果记录预报告
3新建项目输入源文件2开CPU窗口选择单步踪执行方式运行程序观察存储块数变化情况记录预报告点击复位钮改变存储块数点击全速执行快捷钮点击暂停钮观察存储块数变化情况记录预报告点击复位钮改变存储块数分LOOPLOOP1设置断点点击全速执行快捷钮断点处观察寄存器存储块数变化情况
WAVE软件方法参考帮助文件
四实验程序流程框图实验程序
1源程序1
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN:
MOV R0#30H (R0) (00H)
MOV A #40H (A)
MOV R6 A (A) (R6)
MOV A @R0 (R0) (A)
MOV 40H A (A) (40H)
MOV 30H40H (30H) (40H)
MOV R1#40H (R1)
MOV @R1#0AAH(R1) (40H)
MOV SP#60H (SP)
PUSH ACC (SP) (61H)
PUSH 30H (SP) (62H)
MOV A#0FFH (SP) (A)
MOV 30H#30H (SP) (30H)
POP ACC (SP) (A)
POP 30H (SP) (30H)
ADD A30H (30H) (A) Cy
SUBB A#10 (A) Cy
MOV R4#00100100B (R4) H
MOV A#39H (A)
ADD AR4 (A) (R4)
DA A (A) Cy
MOV 28H#55H(28H) Cy
MOV C40H (PSW) Cy
MOV 26H#00H(26H) Cy
MOV 30HC (30H) (26H1)
SJMP
j点击project选择拉式菜单中New project
k选择单片机里选择常 Ateml 公司 AT89C51
l新建File输入源程序
m新建文件保存textasm格式
n鼠标屏幕左边 Source Group1 文件夹图标右击弹出菜单里做项目中增加减少文件等操作选Add File to Group Source Group 1’弹出文件窗口选择刚刚保存文件
o程序进行编译运行
程序:
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN
MOV R0#30H (R0) 0x30 (00H) 0x0000
MOV A #40H (A) 0x40
MOV R6 A (A) 0x40 (R6) 0x40
MOV A @R0 (R0) 0x30 (A) 0x16
MOV 40H A (A)0x16 (40H) 0x0040
MOV 30H40H (30H) 0x0030 (40H) 0x0040
MOV R1#40H (R1) 0x40
MOV @R1#0AAH(R1) 0x40 (40H) 0x0040
MOV SP#60H (SP) 0x60
PUSH ACC (SP) 0x61 (61H) 0x0061
PUSH 30H (SP) 0x62 (62H) 0x0062
MOV A#0FFH (SP) 0x62 (A) 0xff
MOV 30H#30H (SP) 0x62 (30H) 0x0030
POP ACC (SP) 0x61 (A) 0x16
POP 30H (SP) 0x60 (30H) 0x0030
ADD A30H (30H) 0x0030 (A) 0x2a Cy 0
SUBB A#10 (A) 0x20 Cy 0
MOV R4#00100100B (R4) 0x24 H
MOV A#39H (A) 0x39
ADD AR4 (A) 0x5d (R4) 0x24
DA A (A) 0x63 Cy 0
MOV 28H#55H(28H) 0x0028 Cy 0
MOV C40H (PSW) 0x80 Cy 1
MOV 26H#00H(26H) 0x0026 Cy 1
MOV 30HC (30H) 0x0030 (26H1) 0
SJMP
2源程序2
设(30H)4 (31H)1 (32H)3 (33H)5 (34H)2 (35H)6
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN MOV R0#30H30H→R0
MOV R2#66→R2
SORT MOV AR030H→A
MOV R1A30H→R1
MOV AR26→A
MOV R5A6→R5
CLR F0 状态标志位清零
DEC R5寄存器R5减
MOV A@R1R1→A
LOOP MOV R3AA→R3
INC R1 寄存器R1增1
CLR C 进位标志位清零
MOV A@R131H→A
SUBB AR3累加器容减寄存器容
JNC LOOP1仅标志位1进行LOOP1
代码完成数交换
SETB F0状态标志位置1
MOV A@R131H→A
XCH AR3AR3数交换
MOV @R1A4赋值寄存器R1(31H)
DEC R1寄存器减
MOV AR31→A
MOV @R1A1赋值寄存器R1(30H)
INC R1寄存器R1增
LOOP1 MOV A@R14→A
DJNZ R5LOOP寄存器R5减零回LOOP
JB F0SORT状态标志位零回SORT
SJMP
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档