文档介绍:《单片机原理与应用》实验报告
学院(部):
专业:
学生姓名:
指导老师:
班级:
学号
2015年10月
实验一存储器读写
一、实验目的
1. 初步掌握Keil C51软件的使用,包括单片机CPU源程序的编辑、编译、模拟调试;
2. 强化MCU知识点,MCU应用系统设计技巧。
3. 熟悉在Keil C51环境下观察MCU的内部RAM、外部RAM、I/O端口、程序存储器中内容的方法。
二、实验内容
1. 实验前,先看懂下列程序,给每条语句添加注释,并给出程序执行的结果。
2. 在 Keil C51环境下编辑程序、编译程序、调试上面的程序。
二、实验步骤
1. 启动PC机,打开KEIL软件。创建工程:工程名称为“存储器读写”。编辑源程序,其内容为上述汇编语言程序,。在所创建的Project文件中,,编译程序并进行调试。(如何建立工程请看JC-)
2. 打开Memory观察窗口、P1观察窗口、CPU寄存器窗口,选择单步执行方式运行程序,观察并记录寄存器(R0、R1)、累加器A、程序状态字PSW、外部存储器RAM的2000H单元、程序存储器0x0000~0x00003e单元的内容。
三、源程序清单
; 存储器读写实验程序
; 使用资源:R0、R1、A、DPTR、内存单元2000H、P1、Cy
ORG 0000H
SJMP start
ORG 30H
start:
MOV R0, #07H
MOV R1, #0FEH
ADD A, R0
ADDC A, R1 ;将R0值07H与R1值0FEH进位相加,传送到A中
MOV DPTR, #2000H ;将数据指针DPTR指向2000H
MOVX ***@DPTR, A ;将相加结果A储存到2000H中
MOVX A, ***@DPTR ;从2000H中提取数据存放到A中
INC A ;A中的值加1
MOV P1, A ;将A中的值输出到P1口
END
三、仿真结果
寄存器、内存结果如图所示,源程序功能请看源程序清单注释。
四、思考题
试用汇编语言编写一段程序,判断R1、R2、R3三个寄存器中存放的数据大小,并按从大到小的顺序重新存放到R1、R2、R3三个寄存器中。
MOV R1, #01H ;将1存入R1
MOV R2, #02H ;将2存