微处理器原理与应用实验日志
微处理器原理与应用实验日志一
指导教师 实验时间:
学院 专业
班级 学号 姓名 实验室
实验题目:
熟悉并使用传送类指令
实验目的:
1、 熟悉并掌握Keil C51 的基本用法;
2、 掌握MCS-51 传送类指令功能及使用;
实验要求:
1、 阅读、运行并调试已给的程序;
2、 模仿已给程序编写多字节数据传送程序;
实验主要步骤:
1、 启动计算机,进入Keil C51的集成开发环境;
2、 根据已给程序编辑源程序;
3、 编辑完成以后对程序进行编译,生成目标代码;
4、 运行、调试目标代码和进行结果检查;
5、 根据要求编写多字节的数据传送程序;
6、 编译,生成目标代码,分别采用单步和宏单步运行程序,观察有关单元中的内容的变化;
7、 修改内存单元中的内容在观察;
实验结果:
汇编程序:
ORG 0000H
AJMP START
ORG 0100H
START: MOV A,#10H
MOV R2,#0AH
MOV R1,#30H
LOOP: MOV @R1,A
INC A
INC R1
DJNZ R2,LOOP
MOV A,#10H
MOV R2,#0AH
MOV R1,#30H
MOV DPTR,#0100H
LOOP1: MOVX @DPTR,A
INC A
END INC DPTR DJNZ R2,LOOP1 NOP SJMP $
心得体会:
通过这次的实验课,我了解了Keil C51这个单片机应用开发集成环境。学会了运行调试程序。掌握了传送类指令的基本内容,加深了对汇编语言的理性认识。
微处理器原理与应用实验日志二
实验题目:
熟悉并使用算术逻辑操作类指令
实验目的:
1、熟悉算术运算类指令
2、熟悉逻辑运算类指令
3、掌握算术运算类指令对标志位的影响
实验要求:
1、 通过仿真软件单步运行,观察寄存器内容变化,验证算术运算和逻辑运算指令的正确性;
2、 根据要求编写程序;
实验主要步骤:
1、 启动计算机,进入Keil C51的集成开发环境;
2、 键入算术和逻辑指令,验证算术运算和逻辑运算指令的正确性
3、 根据要求编辑程序;
4、 编辑完成以后对程序进行编译,生成目标代码;
5、 编译,生成目标代码,分别采用单步和宏单步运行程序,观察有关单元中的内容的变化; 实验结果:
汇编程序:
ORG 0000H
AJMP START
ORG 0100H
START: MOV 30H,#56H
MOV 31H,#34H
MOV 32H,#12H
MOV 40H,#90H
MOV 41H,#78H
MOV 42H,#56H
MOV R0,30H
MOV R1,40H
MOV A,R0
ADD A,R1
DA A
MOV 50H,A
MOV R0,31H
MOV R1,41H
MOV A,R0
ADDC A,R1
DA A
MOV R0,32H MOV R1,42H MOV A,R0 ADDC A,R1 DA A MOV 52H,A SJMP $ END
心得体会:
通过这次的实验课,我进一步熟悉了Keil C51这个单片机应用开发集成环境。熟练了运行调试程序。更加重要的是我掌握了汇编语言中算术指令和逻辑指令,学会了运用算术指令和逻辑指令进行一些运算。加深了我对微机内部运行的理解,有助于我对理论课的学习,使我对理论知识有了更加感性的认识。。
微处理器原理与应用实验日志三
实验题目:
顺序程序设计:拆字和拼字
实验目的:
1、掌握顺序程序编写方法
2、掌握拆字和拼字方法
3、学会编写和调试程序的过程和方法
4、掌握C51编程方法。
实验要求:
3、 阅读、运行并调试已给的程序;
4、 模仿已给程序分别汇编程序和C 程序完成拼字程序;
实验主要步骤:
6、 启动计算机,进入Keil C51的集成开发环境;
7、 根据已给程序分别编辑汇编程序和C 程序;
8、 编辑完成以后对程序进行编译,生成目标代码;
9、 运行、调试目标代码和进行结果检查;
10、 根据要求分别编写汇编程序和C 程序;
11、 编译,生成目标代码,分别采用单步和宏单步运行程序,观察有关单元中的内容的变化;
12、 修改内存单元中的内容在观察存储单元内容的变化;
实验结果:
汇编程序:
ORG 0000H
AJMP START
ORG 0100H
START: MOV A,30H
ANL A,#0FH
SW AP A
MOV 32H,A
MOV A,31H
ANL A,#0FH
ORL 32H,A
SJMP $
END
#include"reg51.h"
#include"absacc.h"
void main()
{
DBYTE[0x30]=0x12;
DBYTE[0x31]=0x34;
DBYTE[0x30]
DBYTE[0x31]&=0x0f; //04
DBYTE[0x32]=DBYTE[0x30]|DBYTE[0x31];
}
心得体会:
通过这次的实验课,我 进一步熟悉了Keil C51这个单片机应用开发集成环境。熟练了运行调试程序,掌握顺序程序编写方法。更加重要的是我掌握了拆字和拼字的编程方法。不仅更加熟悉汇编语言的指令,而且也了解了一些C51的用法。
微处理器原理与应用实验日志四
实验题目:
分支和循环程序设计
实验目的:
1、掌握分支程序编写方法
2、掌握循环程序设计的方法和技巧
3、学习程序调试的基本过程和方法
实验要求:
5、 阅读、运行并调试已给的分支和循环程序;
6、 模仿已给程序分别汇编程序和C51程序实现两个16位无符号数的比较的程序; 实验主要步骤:
13、 启动计算机,进入Keil C51的集成开发环境;
14、 根据已给程序分别编辑汇编程序和C51程序;
15、 编辑完成以后对程序进行编译,生成目标代码;
16、 运行、调试目标代码和进行结果检查;
17、 根据要求分别编写汇编程序和C51程序实现两个16位无符号数的比较;
18、 编译,生成目标代码,分别采用单步和宏单步运行程序,观察有关单元中的内容的变化;
19、 修改内存单元中的内容在观察存储单元内容的变化;
实验结果:
汇编程序:
ORG 0000H
AJMP START
ORG 0100H
START:
MOV A ,40H
CJNE A, 50H, LOOP1
MOV A,41H
CJNE A,51H, LOOP1
AJMP LOOP2
LOOP1:
JC LOOP3
LOOP2:
MOV 42H, #0FFH
AJMP LOOP
LOOP3 :
MOV 42H,#88H
LOOP:
AJMP LOOP
END
#include
#include
void main()
{
unsigned char na,nb,m,n,f=8;
na=DBYTE[0x0040];
nb=0x0011;
n=0x80;
for(;f>0;)
{
m=na&n;
if(m!=0)
DBYTE[nb]=31;
else DBYTE[nb]=30;
n=n/2;
nb++;
f--;
}
}
心得体会:
通过这次的实验课,我 进一步熟悉了Keil C51这个单片机应用开发集成环境。熟练了运行调试程序,掌握分支循环程序编写方法。不仅更加熟悉汇编语言的指令,而且也了解了一些C51的用法。对理论知识有了更加深刻的认识。