单片机实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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、外部数据空间的各种方法。

三、程序框图

双字节十进制减法程序框图

四、实验步骤

相关文档
最新文档