1 / 27
文档名称:

单片机实验报告.docx

格式:docx   大小:3,389KB   页数:27页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

单片机实验报告.docx

上传人:w447750 2017/9/21 文件大小:3.31 MB

下载得到文件列表

单片机实验报告.docx

文档介绍

文档介绍:单片机实验报告
实验一 数据传送(RAM–>XRAM)
一、实验目的
熟悉星研集成环境软件或熟悉Keil C51集成环境软件的使用方法。
熟悉MCS51汇编指令,能自己编写简单的程序,掌握数据传输的方法。
二、实验内容
1、熟悉星研集成环境软件或熟悉Keil C51集成环境软件的安装和使用方法。
2、编写程序,实现内外部数据段的传送、校验。
三、程序框图
四、实验步骤
在内部RAM 30H ~3FH中输入数据;使用单步、断点方式调试程序,检测外部数据RAM的1000H ~100FH中的内容。熟悉查看特殊功能寄存器、内部数据RAM、外部数据空间的各种方法。
五、程序清单
;将内部RAM Address1 开始的16个字节送到外部RAM从Address2开始的单元里,再作比较。
Address1
DATA
30H
Address2
XDATA
1000H
ORG
0000H
LJMP
STAR
ORG
0100H
STAR:
MOV
SP,#60H
MOV
R0,#Address1
MOV
DPTR,#Address2
MOV
R7,#10H
STAR1:
MOV
A,***@R0
;传送
MOVX
***@DPTR,A
INC
R0
INC
DPTR
DJNZ
R7,STAR1
MOV
R0,#Address1
MOV
DPTR,#Address2
MOV
R7,#10H
STAR2:
MOV
B,***@R0
;比较
MOVX
A,***@DPTR
CJNE
A,B,STAR3
INC
R0
INC
DPTR
DJNZ
R7,STAR2
SJMP
$
;传送正确
STAR3:
SJMP
$
;传送错误
END
实验二双字节BCD码(十进制数)加法
一、实验目的
熟悉51汇编指令,学会使用星研集成环境软件,能自己编写简单的程序,熟悉BCD码,了解如何调用系统提供的子程序。
二、实验内容
从键盘上输入4位被加数、加数,实现双字节BCD码(四位数)的加法,结果显示在数码管上;熟悉使用断点、单步进入、单步、运行到光标处、修改PC指针、全速运行等各种调试手段;熟悉查看特殊功能寄存器、内部数据RAM、外部数据空间的各种方法。
三、实验框图
四、实验步骤
1、连线说明:
D3区:CLK
——
B2区:2M
D3区:CS
——
A3区:CS5
D3区:A0
——
A3区:A0
2、在F4区的键盘上输入4位被加数、加数
3、结果显示在F4区的数码管上
五、程序清单
EXTRN
CODE(Display8, GetBCDKey)
Buffer
DATA
30H
;8字节显示缓冲区
F1
BIT
0D1H
;
ORG
0000H
LJMP
START
ORG
0100H
START:
MOV
SP,#60H
CLR
F1
;先清除显示,再接收键输入
START1:
MOV
R0,#buffer
MOV
A,#4
;按键次数
LCALL
GetBCDKey
;得到双字节十进制数(被加数)
SETB
F1
;接收到第一个键,才清除显示
MOV
R0,#buffer+4
MOV
A,#4
;按键次数
LCALL
GetBCDKey
;得到双字节十进制数(加数)
MOV
A,buffer+1
ADD
A,buffer+5
DA
A
MOV
buffer+5,A
MOV
A,buffer
ADDC
A,buffer+4
DA
A
MOV
buffer+4,A
CLR
A
RLC
A
Display:
PUSH
ACC
;显示结果
MOV
R0,#buffer
MOV
A,buffer+5
;低位
ACALL
B1toB2
;压缩BCD码转换成非压缩BCD码
MOV
A,buffer+4
;高位
ACALL
B1toB2
POP
ACC
;进位
ACALL
B1toB2
MOV
***@R0,#10H
;最高二位消隐
INC
R0
MOV
***@R0,#10H
MOV
R0,#buffer+5
MOV
R7,#5
ACALL
BlackDisplay
;将高位0消隐
MOV
R0,#buffer
LCALL
Display8
SJMP
START1
;将一个字节压缩BCD码转换成二个字节非压缩BCD码
B1toB2:
PUSH
ACC
ANL
A,#0FH
MOV
***@R0,A