单片机实验报告1

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机实验报告

实验一数据传送(RAM–〉XRAM)

一、实验目得

熟悉星研集成环境软件或熟悉KeilC51集成环境软件得使用方法。

熟悉MCS51汇编指令,能自己编写简单得程序,掌握数据传输得方法。

二、实验内容

1、熟悉星研集成环境软件或熟悉Keil C51集成环境软件得安装与使用方法。

2、编写程序,实现内外部数据段得传送、校验。

三、程序框图

数据传送程序框图

四、实验步骤

ﻩ在内部RAM 30H ~3FH中输入数据;使用单步、断点方式调试程序,检测外部数据RAM 得1000H ~100FH中得内容。熟悉查瞧特殊功能寄存器、内部数据RAM、外部数据空间得各种方法.

五、程序清单

;将内部RAM Address1 开始得16个字节送到外部RAM从Address2开始得单元里,再作比较。

Address1 DATA30H

Address2 XDATA1000H

ORG0000H

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

MOVR0,#Address1

MOVDPTR,#Addres

s2

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加法程序框图

四、实验步骤

2、在

3、结果显示在F4区得数码管上

五、程序清单

EXTRN CODE(Display8,GetBCDKey)

BufferDATA 30H ;8字节显示缓冲区

F1BIT 0D1H ;PSW、1

ORG 0000H

LJMPSTART

ORG 0100H

START: MOVSP,#60H

CLR F1 ;先清除显示,再接收键输入

START1: MOVR0,#buffer

MOV A,#4 ;按键次数

LCALL GetBCDKey;得到双字节十进制数(被加数)

SETBF1 ;接收到第一个键,才清除显示

MOV R0,#buffer+4

MOV A,#4;按键次数

LCALL GetBCDKey;得到双字节十进制数(加数)

MOV A,buffer+1

ADDA,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 ;显示结果

MOVR0,#buffer

MOVA,buffer+5 ;低位

ACALL B1toB2 ;压缩BCD码转换成非压缩BCD码

MOVA,buffer+4 ;高位

ACALL B1toB2

POP ACC ;进位

ACALL B1toB2

MOV R0,#10H ;最高二位消隐

INC R0

MOV R0,#10H

MOV R0,#buffer+5

MOVR7,#5

ACALLBlackDisplay ;将高位0消隐

MOV R0,#buffer

LCALL Display8

SJMP START1

;将一个字节压缩BCD码转换成二个字节非压缩BCD码

B1toB2: PUSH ACC

ANLA,#0FH

MOVR0,A

INC R0

POP ACC

ANL A,#0F0H

SWAP A

MOV R0,A

INC R0

RET

MOV A,R0 ;将高位0消隐

Blac

kDisplay:

JNZ Exit

MOVA,#10H

MOVR0,A

DEC R0

DJNZR7,BlackDispl

ay

Exit: RET

END

实验三 双字节BCD 码(十进制数)减法

一、实验目得

熟悉51汇编指令,学会使用星研集成环境软件,掌握汇编语言得设计与调试方法.能瞧懂程序流程框图,能自己设计程序,熟悉BCD 码、补码,了解如何调用系统提供得子程序。 二、实验内容

从键盘上输入4位被减数、减数,实现双字节BCD 码(四位数)得减法,结果显示在数码管上;进一步熟悉使用断点、单步进入、单步、运行到光标处、修改P C指针、全速运行等各种调试手段;熟悉查瞧特殊功能寄存器、内部数据R AM 、外部数据空间得各种方法。 三、程序框图

设定"先清LED,再接收键输入"标志

堆栈初始化开始通过键盘获得双字节十进制被减数(压缩BCD码)置位"接收到第一个键后才清除LED"标志通过键盘获得双字节十进制减数(压缩BCD码)

减数进行十进制取补双字节十进制加法操作

C=1?C=0,有进位(结果为负),再执行一次求补运算,调整为正数

高位0消隐,若结果为负,前面加上"-"

显示结果

Y

N

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

四、实验步骤 ﻩD3区 :C LK

—— B2区:2M

相关文档
最新文档