当前位置:文档之家› 大连理工大学单片机实验一报告

大连理工大学单片机实验一报告

大连理工大学实验报告
实验时间:年月日星期时间:: ~ :
实验室(房间号): 419 实验台号码:班级:姓名:
指导教师签字:成绩:
实验一 MCS-51单片机的存储器读写实验
一、实验目的和要求
在 RAM 的 20H ,21H 单元分别赋值64H、F5H ,试将两个数相加,分别送至22H、23H(23H为高位)
二、实验算法
方法一:将64H 、F5H 分别赋值给20H 、21H 单元,通过累加器 A 将两个单元的数相加,将结果赋值
给 22H 单元;判断有没有产生进位(CY= 0 or CY≠0),产生进位则将23H 单元置为)01H,否则置为00H。

方法二:将64H 、F5H 分别赋值给20H 、21H 单元,通过累加器 A 将两个单元的数相加,将结果赋值
给 22H 单元;给累加器赋值00H,使用 ADDC 语句将 A 与 00H 相加,赋给23H 。

三、实验流程图
四、程序清单
方法一:方法二:
ORG 0000H ORG 0000H
LJMP START LJMP START
ORG 0030H ORG 0030H
START:MOV 20H,#064H START:MOV 20H,#064H
MOV 21H,#0F5H MOV 21H,#0F5H
MOV A,20H MOV A,20H
ADD A,21H ADD A,21H
MOV 22H,A MOV A,#00H
JNC NEXT1ADDC A,#00H
MOV 23H,#01H MOV @R1,A
JMP NEXT2SJMP $
NEXT1:MOV 23H,#00H END
NEXT2:SJMP $
END
五、实验结果与分析
方法一:方法二:
分析:如图所示,方法一、方法二都可以实现题目的要求
遇到的问题:(1)送立即数时总忘记加“#”,导致运行结果出错;
(2)方法一中缺少一句跳转语句,导致本应是不同状况下执行的两种不同的处理连续执行,
使为 23H 赋值时出错。

解决办法:( 1)检查程序,需要送立即数的地方加上“#”;(2)增加跳转语句,使两种处理方法分开执行。

六、实验体会和建议
单片机的汇编语言与微机原理的汇编语言基本相似,但是数据的传递有很大不同,总是会忘记在送立即数
是忘记加“ #”,这一点以后一定会牢记!
七、主要仪器设备
名称型号备注
电脑联想
Keil V2。

相关主题