51单片机实验报告Word文档下载推荐.docx

上传人:b****6 文档编号:18058441 上传时间:2022-12-13 格式:DOCX 页数:30 大小:342.70KB
下载 相关 举报
51单片机实验报告Word文档下载推荐.docx_第1页
第1页 / 共30页
51单片机实验报告Word文档下载推荐.docx_第2页
第2页 / 共30页
51单片机实验报告Word文档下载推荐.docx_第3页
第3页 / 共30页
51单片机实验报告Word文档下载推荐.docx_第4页
第4页 / 共30页
51单片机实验报告Word文档下载推荐.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

51单片机实验报告Word文档下载推荐.docx

《51单片机实验报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《51单片机实验报告Word文档下载推荐.docx(30页珍藏版)》请在冰豆网上搜索。

51单片机实验报告Word文档下载推荐.docx

POPPSW

RETI

/*INIALL*/

INI_ALL:

MOVIE,#82H

MOVTMOD,#02H

MOVTH0,#25

MOVTL0,#25

RET

/*DISPLAY*/

DISPLAY:

MOVDPTR,#TABLE

MOVA,R7

MOVB,#10

DIVAB

MOVCA,@A+DPTR

MOV33H,A

MOVA,B

MOV32H,A

/**/

MOVA,R6

MOV31H,A

MOV30H,A

MOVA,33H

MOVX@DPTR,A

MOVDPTR,#8100H

MOVA,32H

MOVDPTR,#8200H

MOVA,31H

MOVDPTR,#8300H

MOVA,30H

TABLE:

DB88H,0AFH,0C4H,86H,0A3H,92H,90H,8FH,80H,82H

END

实验结果:

数码管后两位显示ms计数,前两位显示s计数,按K1键启动计数,K2键停止计数,K3键清零。

可实现秒表功能。

实验二:

驱动蜂鸣器实验

使P3.5端口输出周期为1S的方波信号。

并通过三极管驱动一个直流小喇叭,使其发出断续的鸣响。

实验程序:

ORG0H

MOVSP,#70H

START:

CPLP3.5

LCALLDELAY

LJMPSTART

DELAY:

Y:

MOVR7,#200

MOVR6,#100

X:

NOP

DJNZR6,X

DJNZR7,Y

蜂鸣器发出声响。

实验三:

显示管增一显示

编写程序,使数码管从0000自增一加至9999,然后再自动清零循环实验程序:

MOV30H,#0H

MOV31H,#0H

MOV32H,#0H

MOV33H,#0H

MOVR0,#1

LCALLDELAY

LCALLCONVERT

LCALLDISPLAY

INCR0

CJNER0,#255,XX

XX:

JCSTART

JNCMAIN

CONVERT:

MOVA,R0

MOV30H,B

MOV31H,B

MOVR7,#100

MOVR6,#50

NOP

八段数码显示管如题目要求所示自增一显示。

软件实验

数据传送实验

编写程序,将内部RAI中的30H-5FH中的数据设置为55H;

(1)将其中内容传送到90H开始的内部RAI中去。

(2)将其中内容传送到200H开始的外部RA中去。

实验程序流程图:

开始

ORG0000H

MOVR0,#30H

MOVR7,#30H

MOVA,#55H

LOOP1:

MOV@R0,A

DJNZR7,LOOP1

MOVR1,#90H

LOOP2:

MOVA,@R0

MOV@R1,A

INCR1

DJNZR7,LOOP2

WAIT:

SJMPWAIT/*SJMP$*/

内部RAM,30H-5FH单元内都为55H。

Address:

(L3OH

3

1:

0x30:

0:

555555555555555555555555

I:

0x3C:

C:

SS5S55SSS5SSSSSS555SS5SS

I:

0x4S:

3:

0x54:

4:

5S5555SSSSS5555555SSS5S5

0x60:

0i000000000000000000000000

Crx6C:

0000000000Q0000Q00000000

t■fkv-7nnahnnnnnnnnnnnnmcrnnnn

外部RAM,200H开始的单元内都为55H

0x000200:

55

5S

35

0x3匚023C:

S5

53

X:

0X00021?

:

X;

0x000224:

0x00023:

-:

00

□0

3X30G23C:

0匚

j0

30

OO

93

Address:

|電20伽

数据分类与校验实验

编写程序,将内部RAM中30H-5FH中的数据设置为1-48;

并将其中奇数传送到90H开始的内部RAM中;

将30H-5FF中的数据设置按照奇校验设置最高位。

实验程序流程图:

MOVA,#1

INCA

JB0E0H,TRANS

JMPNTRANS

TRANS:

MOV@R1,A

NTRANS:

内部RAM中30H-5FH中的数据为1-48;

其中奇数传送到90H单元

Address.|IW3OH

01

02

03

04

05

06

07

os

09

0A

oc

0D

0E

OF

10

I

■2x43:

0

n

12

13

14

15

IS

17

is

19

1A

1C

ID

IF

20

Gx50:

21

22

23

24

25

26

27

2S

29

2k

2B

2C

2D

2E

2F

0x6D:

jj

DO

0j

ao

0x^0:

0G

I;

jxS3:

x9j:

0B

OD

11

IB

工:

3:

Q

DxCO:

I;

OxDO:

□0

0J

Q0

T

ftvT7A*fl*m

Art

cc

nn

Aft

■W

30H-5FH中的数据设置按照奇校验设置最高位送到90H单元内程序段如下:

//奇校验设置最高位

LOOP3:

JNBP,TRANS2

JMPNTRANS2

TRANS2:

SETB0E7H

NTRANS2:

DJNZR7,LOOP3

—■q

Ld

r

0;

08

jx49:

0:

■q-q

16

ie

_5

LE

Gx53;

26

28

2A

ux6D:

0i

Dj

Oj

oa

jx^O:

D.x.80:

■jx30;

0:

83

B6

89

Si

ac

SF

&

1

92

94

97

S8

9D

9E

Al

OxAO:

A2

JU

A7

AS

A3

AD

AE

so

•7x30;

0;

QO

0Q

OxCO:

co

■JX.D0:

jQ

T>

■rtvTTA*O*

nc

AH

w

简单算术运算

编写程序,计算1-100的累加和。

结果存放于内部RAM的30H、31H中,低字节在前。

设置指针,

累加和清0

取出数据,与

累加和相加—调整指针

停止

MOVR1,#31H

MOV@R0,#0

MOV@R1,#0

MOVB,#1

MOVR7,#100

L1:

MOVA,@R1

ADDA,B

MOVA,@R0

ADDCA,#0

MOV@R0,A

INCB

DJNZR7,L1

(30H)=13H,(31H)=0BAH即结果为13BAH=5050D

实验四:

定点数算术运算实验

编写2字节乘2字节子程序。

乘数位于R2R3被乘数位于R4R5结果存放于R4R5R6R内。

实验说明:

R4R5

*R2R3

BAR5*R3

BAR4*R3

BAR5*R2

BA―-R4*R2

R4R5R6R7

ORGOH

MOVR2,#04H

MOVR3,#03H

MOVR4,#02H

MOVR5,#01H

MOVR0,#16D/*JISHU*/

CLRC

MOVA,R5

RLCA

MOVR5,A

MOVA,R4

MOVR4,A

MOVR7,A

MOVR6,A

MOV26H,R6

MOV27H,R7

MOVA,R2

CJNEA,26H,NEXT1

JNCNEXT2

MOVA,R3

CJNEA,27H,NEXT3

NEXT3:

SUBBA,R3

SUBBA,R2

MOVR2,A

SETBC

NEXT2:

DJNZR0,LOOP

SJMPWAIT

当(R4R5)=21H,(R2R3)=43时,运算结果为(R4R5R6R7)=08A3H

21

*43

03R5*R3

06R4*R3

04R5*R2

08R4*R2

08A3

Register

Value

IT。

0x00

rl

r2

0x04

r3

0x03

r4

0k0D

r5

0x08

r6

0x0k

nr|

-Sys

a

b

雪p

□iTO

OxTD

dptr

0x0000

FCX

(hO132

states

1363L58S5

sec

40.394TB059

实验五:

数制转换实验一

编写程序,将内部RAM中30H中的二进制数据转换为十进制数据并存

放在31H、32H、33H中。

MOV30H,#0ABH

MOVB,#100D

MOVB,#10D

MOV33H,B

假设(30H)=0ABH则(31H、32H、33H)=(01、07、01)

0x37:

厂:

0x3E:

E:

■:

'

3x45IS:

3j

<

0x4C:

3x53:

3:

90

1xSA:

m:

0x61;

l:

x6?

:

c:

阳dms:

pOH

实验六:

数制转换实验二

编写程序,将内部RAM中30H-3FH中的16进制数据(0-F转换为ASC码

并存放在40H-4FHK

MOVR0,#30H

MOVA,#0H

MOVR2,#16D

L00P1:

DJNZR2,LOOP1

MOVR1,#40H

SUBBA,#10D

JCSMALL

ADDA,#7

SMALL:

ADDA,#3AH

DJNZR2,LOOP

实验结果:

|l:

30H

E3

0x30:

00010203

X05060708090AOBOCDD0EOF

0x40:

31

32

33

34

36

37

41

42

43

44

4S

0x50:

Z;

Ox60;

0x^0:

QG

Cx50:

实验七:

数据统计实验一

编写程序,首先将内部RAM中30H-7FH中的数据设置为50H-9FH然后编写程序统计该区域内大于80H的个数,结果存放在寄存器B内。

MOVA,#50H

MOVR2,#80D

MOVR1,#0H

CJNE@R0,#81H,NEXT

JCNEXT1

INCR0

MOVB,R1

首先将30H-7FF中的数据设置为50H-9FH

Mdress.|ii3DH

统计该区域内大于80H勺个数,结果存放在寄存器B内,(B)=20H

Register

VaiTie

FRegs

rO

OxSO

rt

OkOO

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1