单片机实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机实验报告
实验一数据传送(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、外部数据空间的各种方法。
三、实验框图
双字节BCD加法程序框图
四、实验步骤
1、连线说明:
2、在F4
3、结果显示在F4区的数码管上
五、程序清单
EXTRN CODE(Display8, GetBCDKey)
Buffer DATA 30H ;8字节显示缓冲区
F1 BIT 0D1H ;PSW.1
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
INC R0
POP ACC
ANL A,#0F0H
SWAP A
MOV @R0,A
INC R0
RET
BlackDisplay: MOV A,@R0 ;将高位0消隐
JNZ Exit
MOV A,#10H
MOV @R0,A
DEC R0
DJNZ R7,BlackDisplay Exit: RET
END
实验三双字节BCD码(十进制数)减法
一、实验目的
熟悉51汇编指令,学会使用星研集成环境软件,掌握汇编语言的设计和调试方法。能看懂程序流程框图,能自己设计程序,熟悉BCD码、补码,了解如何调用系统提供的子程序。
二、实验内容
从键盘上输入4位被减数、减数,实现双字节BCD码(四位数)的减法,结果显示在数码管上;进一步熟悉使用断点、单步进入、单步、运行到光标处、修改PC指针、全速运行等各种调试手段;熟悉查看特殊功能寄存器、内部数据RAM、外部数据空间的各种方法。
三、程序框图
双字节十进制减法程序框图
四、实验步骤