微机原理及应用实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微机原理及应用实验报告
班级:机械1301班
姓名:黄佳清
学号:0801130117
座位号:
中南大学机电工程学院
实验一单片机仿真开发机操作和MCS-51指令系统应用
一.实验目的
1、熟悉MCS-51单片机仿真开发机和开发调试软件的操作使用和调整;
2、学会编写和输入汇编语言源程序、对输入的源程序进行汇编;
3、掌握程序的调试和运行的各种方法。
三.实验内容及步骤(完成分值:60分)
本实验秩序运行Keil uVersion2程序,设置为keil为纯软件仿真
1.新建工程项目
2.设置工程文件参数
3.编写新程序事例
4.调试程序直至能够运行出结果。
四.实验程序
AJMP MAIN
ORG 0030H
MAIN: MOV R0,#20H
MOV R2,#0FH
MOV A,#00H
A1: MOV @R0,A
INC R0
INC A
DJNZ R2,A1
MOV R0,#20H ;暂停,观察并记录!
MOV DPTR,#7000H
MOV R2,#0FH
A2: MOV A,@R0
MOVX @DPTR,A
INC R0
INC DPTR
DJNZ R2,A2
MOV R0,#030H ;断点,观察并记录!
MOV DPTR,#7000H
MOV R2,#0FH
A3: MOVX A,@DPTR
MOVX @R0,A
INC R0
INC DPTR
DJNZ R2,A3
DO: LJMP DO
END ;内部存储器数据块赋值,搬运数据块到外部存储器,再搬运回内部数据存储器。
五、附加题
1.将光标移到想要暂停的地方,MOV R0,#20H所在行,选择“执行到光
2.在MOV R0,#0A0H行设置断点,全速执行,暂停后观察并记录以下单元内容
3.
4.修改程序,实现新功能
实现倒序数据转移程序
AJMP
MAIN
ORG 0030H
MAIN: MOV R0,#40H
MOV R2,#0FH
MOV A,#00H
A1: MOV @R0,A
DEC R0
INC A
DJNZ R2,A1
MOV R0,#30H
MOV DPTR,#7000H
MOV R2,#0FH
A2: MOV A,@R0
MOVX @DPTR,A
INC R0
INC DPTR
DJNZ R2,A2
MOV R0,#030H
MOV DPTR,#7000H
MOV R2,#0FH
A3: MOVX A,@DPTR
MOVX @R0,A
INC R0
INC DPTR
DJNZ R2,A3
DO: LJMP DO
END
实验二程序设计
一、实验目的
1、掌握MCS-51单片机指令系统及用汇编语言编程技巧;
2、了解和熟悉用MCS-51单片机仿真开发机调试程序的方法。
二、实验内容及步骤(完成分值:30分/单个程序)
题目1、编写排序程序并上机调试通过。
已知8031内部RAM60H~69H单元中,依次存放了0FH,09H,07H,0CH,03H,0DH,08H,0BH,04H,01H共10个字节无符号数,编程将它们规律排序,最大数放在60H中,最小数放在69H中。结果应该是0FH,0DH,0CH,0BH,09H,08H,07H,04H,03H,01H。
题目2、编写多字节加法程序并上机调试通过。
8031内部RAM22H、21H、20H单元中,分别存放了3字节无符号被加数0FFH、0FFH、0FFH(低字节在低地址),在32H、31H、30H单元中分别存放3字节无符号加数22H、22H、22H(低字节在低地址),求两数之和,并将结果存入内部RAM23H 、22H 、21H 、20H单元中(低字节在低地址)。结果应该是01H、22H、22H、21H。
四、参考实验程序
题目1
ORG 0000H
LJMP main
ORG 0100H
main:...将10个随机数送入内部RAM的50~59H单元
NOP;可在此处设置断点
ACALL SELSORT;调用排序子程序
HERE:AJMP HERE ;可在此处设置断点,观察每次排序结果
NOP
;排序子程序
DAT EQU 60H ;排序数据首地址
N EQU 10 ;排序个数SELSORT: MOV R0,#DAT
MOV R2,#N-1
LOOP: MOV B,@R0
MOV A,R0
MOV R3,A
INC A
MOV R1,A MOV A,R2
MOV R4,A
LOOP1: MOV A,@R1
CLR C
SUBB A,B
JC LOOP2 ;改为JNC即可逆序排列
MOV B,@R1
MOV A,R1
MOV R3,A
LOOP2: INC R1
DJNZ R4,LOOP1
MOV A,R3
MOV R1,A
MOV A,@R1
XCH A,@R0
XCH A,@R1
INC R0
DJNZ R2,LOOP
RET
END
题目2
ORG 0000H LJMP main