51单片机实验报告.docx
- 文档编号:5095552
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:30
- 大小:342.70KB
51单片机实验报告.docx
《51单片机实验报告.docx》由会员分享,可在线阅读,更多相关《51单片机实验报告.docx(30页珍藏版)》请在冰豆网上搜索。
51单片机实验报告
单片微型计算机原理
学院
班级
学号
姓名
指导教师
成绩
硬件实验:
实验一:
定时器中断实验
实验内容:
fosc=11.0592MHz,T方式2产生定时中断实现秒表功能:
数码管后两位显示10ms;前两位显示秒数;K1/K2/K3键分别启动/停止/清零,按键操作不分先后
实验程序流程图:
LJMPMAIN
ORG000BH
LJMPINTT0
ORG0100H
MAIN:
MOVSP,#70H
CALLINIALL
LOOP:
CALLDISPLAY
MOVDPTR,#8000H
MOVXA,@DPTR
JBACC.7,NEXT
SETBTR0
NEXT:
JBACC.6,NEXT1
CLRTR0
NEXT1:
JBACC.5,LOOP
MOVR7,#0H
MOVR6,#0H
MOVR5,#0H
LJMPLOOP
/*INTT0*/
INTT0:
PUSHPSW
PUSHACC
INCR5
CJNER5,#40,CMP1
CMP1:
JCGOON
MOVR5,#0H
INCR6
CJNER6,#100,CMP2
CMP2:
JCGOON
MOVR6,#0H
INCR7
CJNER7,#100,CMP3
CMP3:
JCGOON
MOVR7,#0H
GOON:
POPACC
POPPSW
RETI
/*INIALL*/
INI_ALL:
MOVR7,#0H
MOVR6,#0H
MOVR5,#0H
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
MOVCA,@A+DPTR
MOV32H,A
/**/
MOVA,R6
MOVB,#10
DIVAB
MOVCA,@A+DPTR
MOV31H,A
MOVA,B
MOVCA,@A+DPTR
MOV30H,A
/**/
MOVDPTR,#8000H
MOVA,33H
MOVX@DPTR,A
MOVDPTR,#8100H
MOVA,32H
MOVX@DPTR,A
MOVDPTR,#8200H
MOVA,31H
MOVX@DPTR,A
MOVDPTR,#8300H
MOVA,30H
MOVX@DPTR,A
RET
TABLE:
DB88H,0AFH,0C4H,86H,0A3H,92H,90H,8FH,80H,82H
END
实验结果:
数码管后两位显示ms计数,前两位显示s计数,按K1键启动计数,K2键停止计数,K3键清零。
可实现秒表功能。
实验二:
驱动蜂鸣器实验
实验内容:
使P3.5端口输出周期为1S的方波信号。
并通过三极管驱动一个直流小喇叭,使其发出断续的鸣响。
实验程序:
ORG0H
LJMPMAIN
ORG0100H
MAIN:
MOVSP,#70H
START:
CPLP3.5
LCALLDELAY
LJMPSTART
DELAY:
Y:
MOVR7,#200
MOVR6,#100
X:
NOP
DJNZR6,X
DJNZR7,Y
RET
END
实验结果:
蜂鸣器发出声响。
实验三:
显示管增一显示
实验内容:
编写程序,使数码管从0000自增一加至9999,然后再自动清零循环实验程序:
ORG0H
LJMPMAIN
ORG0100H
MAIN:
MOV30H,#0H
MOV31H,#0H
MOV32H,#0H
MOV33H,#0H
MOVR0,#1
START:
LCALLDELAY
LCALLCONVERT
LCALLDISPLAY
INCR0
CJNER0,#255,XX
LJMPSTART
XX:
JCSTART
JNCMAIN
CONVERT:
MOVA,R0
MOVB,#10
DIVAB
MOV30H,B
MOVB,#10
DIVAB
MOV31H,B
MOV32H,A
RET
DISPLAY:
MOVA,30H
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVDPTR,#8300H
MOVX@DPTR,A
MOVA,31H
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVDPTR,#8200H
MOVX@DPTR,A
MOVA,32H
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVDPTR,#8100H
MOVX@DPTR,A
MOVA,33H
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVDPTR,#8000H
MOVX@DPTR,A
RET
DELAY:
MOVR7,#100
Y:
MOVR6,#50
X:
NOP
DJNZR6,X
DJNZR7,Y
RET
TABLE:
DB88H,0AFH,0C4H,86H,0A3H,92H,90H,8FH,80H,82H
END
实验结果:
八段数码显示管如题目要求所示自增一显示。
软件实验
实验一:
数据传送实验
实验内容:
编写程序,将内部RAI中的30H-5FH中的数据设置为55H;
(1)将其中内容传送到90H开始的内部RAI中去。
(2)将其中内容传送到200H开始的外部RA中去。
实验程序流程图:
开始
实验程序:
ORG0000H
LJMPMAIN
ORG0100H
MAIN:
MOVSP,#70H
MOVR0,#30H
MOVR7,#30H
MOVA,#55H
LOOP1:
MOV@R0,A
INCR0
DJNZR7,LOOP1
MOVR0,#30H
MOVR7,#30H
MOVR1,#90H
LOOP2:
MOVA,@R0
MOV@R1,A
INCR0
INCR1
DJNZR7,LOOP2
WAIT:
SJMPWAIT/*SJMP$*/
END
实验结果:
内部RAM,30H-5FH单元内都为55H。
Address:
(L3OH
3
1:
0x30:
0:
555555555555555555555555
I:
0x3C:
C:
SS5S55SSS5SSSSSS555SS5SS
I:
0x4S:
3:
555555555555555555555555
1:
0x54:
4:
5S5555SSSSS5555555SSS5S5
I:
0x60:
0i000000000000000000000000
I:
Crx6C:
C:
0000000000Q0000Q00000000
t■fkv-7nnahnnnnnnnnnnnnmcrnnnn
外部RAM,200H开始的单元内都为55H
X:
0x000200:
55
5S
35
55
55
55
5S
55
55
5S
55
55
X:
0x3匚023C:
55
55
55
55
55
S5
55
53
55
55
55
35
X:
0X00021?
:
55
55
55
55
55
55
55
55
55
55
55
55
X;
0x000224:
55
55
55
55
55
55
55
55
55
55
55
55
X:
0x00023:
-:
00
00
00
□0
00
00
00
00
□0
00
00
00
X:
3X30G23C:
0匚
j0
00
00
30
0匚
00
OO
00
30
00
93
Address:
|電20伽
实验二:
数据分类与校验实验
实验内容:
编写程序,将内部RAM中30H-5FH中的数据设置为1-48;并将其中奇数传送到90H开始的内部RAM中;将30H-5FF中的数据设置按照奇校验设置最高位。
实验程序流程图:
实验程序:
ORG0000H
LJMPMAIN
ORG0100H
MAIN:
MOVSP,#70H
MOVR0,#30H
MOVR7,#30H
MOVA,#1
LOOP1:
MOV@R0,A
INCR0
INCA
DJNZR7,LOOP1
MOVR0,#30H
MOVR7,#30H
MOVR1,#90H
LOOP2:
MOVA,@R0
INCR0
JB0E0H,TRANS
JMPNTRANS
TRANS:
MOV@R1,A
INCR1
NTRANS:
DJNZR7,LOOP2
END
实验结果:
内部RAM中30H-5FH中的数据为1-48;其中奇数传送到90H单元
Address.|IW3OH
0
I:
0x30:
0
01
02
03
04
05
06
07
os
09
0A
03
oc
0D
0E
OF
10
I
■2x43:
0
n
12
13
14
15
IS
17
is
19
1A
15
1C
ID
二
IF
20
I:
Gx50:
0
21
22
23
24
25
26
27
2S
29
2k
2B
2C
2D
2E
2F
30
I
0x6D:
0
□0
00
jj
00
00
□0
DO
0j
00
00
00
DO
00
00
00
ao
I
0x^0:
0
0G
00
30
00
00
00
00
00
00
00
00
00
00
00
00
00
I;
jxS3:
0
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
I:
:
x9j:
0
01
03
05
07
09
0B
OD
OF
11
13
15
17
19
IB
ID
IF
工:
:
0
21
23
25
27
29
22
2D
2F
00
00
00
00
00
00
00
00
工:
3:
Q
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
工:
DxCO:
0
00
00
30
00
00
00
00
00
00
00
00
30
00
00
00
00
I;
OxDO:
0
00
j0
00
03
00
□0
DO
0J
03
00
□0
DO
0J
00
Q0
00
T
ftvT7A*fl*m
Art
cc
nn
nn
nn
nn
cc
nn
Art
Art
Aft
nn
nn
Art
■W
30H-5FH中的数据设置按照奇校验设置最高位送到90H单元内程序段如下:
//奇校验设置最高位
MOVR0,#30H
MOVR7,#30H
MOVR1,#90H
LOOP3:
MOVA,@R0
INCR0
JNBP,TRANS2
JMPNTRANS2
TRANS2:
SETB0E7H
MOV@R1,A
INCR1
NTRANS2:
DJNZR7,LOOP3
—■q
Address.|IW3OH
Ld
r
I
0x30:
0;
01
02
03
04
05
06
07
08
09
皿
03
oc
0D
0E
OF
10
I
jx49:
0:
■q-q
12
13
14
15
16
17
ie
19
1A
_5
1C
ID
LE
IF
20
I
Gx53;0:
21
22
23
24
25
26
27
28
29
2A
2B
2C
2D
2E
2F
30
I
ux6D:
0i
00
00
Dj
00
00
□0
00
Oj
00
00
□0
oa
00
00
00
□0
I
jx^O:
0:
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
I
D.x.80:
0:
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
I
■jx30;0:
83
35
B6
89
Si
ac
SF
&1
92
94
97
S8
汨
9D
9E
Al
I
OxAO:
0:
A2
JU
A7
AS
A3
AD
AE
so
00
00
00
DO
00
00
00
□0
I
•7x30;0;
00
00
00
00
00
00
00
00
QO
00
0Q
00
00
00
00
00
I
OxCO:
0:
00
QO
00
00
00
00
00
co
00
00
00
00
00
00
00
DO
I
■JX.D0:
0:
□0
jQ
00
03
00
□0
DO
0J
00
00
00
DO
0J
00
QO
00
T>■rtvTTA*O*
nn
nn
nn
nn
nc
nn
nn
nn
nn
nn
nn
AH
nn
cc
nn
nn
w
实验三:
简单算术运算
实验内容:
编写程序,计算1-100的累加和。
结果存放于内部RAM的30H、31H中,低字节在前。
实验程序流程图:
开始
设置指针,
累加和清0
1
取出数据,与
累加和相加—调整指针
停止
实验程序:
ORG0000H
LJMPMAIN
ORG0100H
MAIN:
MOVSP,#70H
MOVR0,#30H
MOVR1,#31H
MOV@R0,#0
MOV@R1,#0
MOVB,#1
MOVR7,#100
L1:
MOVA,@R1
ADDA,B
MOV@R1,A
MOVA,@R0
ADDCA,#0
MOV@R0,A
INCB
DJNZR7,L1
END
实验结果:
(30H)=13H,(31H)=0BAH即结果为13BAH=5050D
实验四:
定点数算术运算实验
实验内容:
编写2字节乘2字节子程序。
乘数位于R2R3被乘数位于R4R5结果存放于R4R5R6R内。
实验说明:
R4R5
*R2R3
BAR5*R3
BAR4*R3
BAR5*R2
BA―-R4*R2
R4R5R6R7
实验程序:
ORGOH
LJMPMAIN
ORG0100H
MAIN:
MOVR2,#04H
MOVR3,#03H
MOVR4,#02H
MOVR5,#01H
MOVR6,#0H
MOVR7,#0H
MOVR0,#16D/*JISHU*/
CLRC
LOOP:
MOVA,R5
RLCA
MOVR5,A
MOVA,R4
RLCA
MOVR4,A
MOVA,R7
RLCA
MOVR7,A
MOVA,R6
RLCA
MOVR6,A
MOV26H,R6
MOV27H,R7
MOVA,R2
CJNEA,26H,NEXT1
NEXT1:
JNCNEXT2
MOVA,R3
CJNEA,27H,NEXT3
NEXT3:
JNCNEXT2
CLRC
MOVA,R7
SUBBA,R3
MOVR7,A
MOVA,R6
SUBBA,R2
MOVR2,A
SETBC
NEXT2:
DJNZR0,LOOP
WAIT:
SJMPWAIT
END
实验结果:
当(R4R5)=21H,(R2R3)=43时,运算结果为(R4R5R6R7)=08A3H
21
*43
03R5*R3
06R4*R3
04R5*R2
08R4*R2
08A3
Register
Value
IT。
0x00
rl
0x00
r2
0x04
r3
0x03
r4
0k0D
r5
0x08
r6
0x0k
nr|
0x03
-Sys
a
0x00
b
雪p
□iTO
OxTD
dptr
0x0000
FCX
C:
(hO132
states
1363L58S5
sec
40.394TB059
0x00
实验五:
数制转换实验一
实验内容:
编写程序,将内部RAM中30H中的二进制数据转换为十进制数据并存
放在31H、32H、33H中。
实验程序流程图:
实验程序:
ORG0H
LJMPMAIN
ORG0100H
MAIN:
MOV30H,#0ABH
MOVA,30H
MOVB,#100D
DIVAB
MOV31H,A
MOVA,B
MOVB,#10D
DIVAB
MOV32H,A
MOV33H,B
WAIT:
SJMPWAIT
END
实验结果:
假设(30H)=0ABH则(31H、32H、33H)=(01、07、01)
I
0x30:
0;
A3
01
07
01
00
00
30
I
0x37:
厂:
ao
00
00
00
00
00
00
I
0x3E:
E:
■:
'0
00
00
00
00
oa
00
I
3x45IS:
00
JU
3j
:
<
00
DO
DO
I
0x4C:
C:
00
00
00
00
00
00
00
I
3x53:
3:
00
00
90
00
00
00
30
I
1xSA:
m:
00
00
00
00
00
00
00
I
0x61;l:
00
00
00
00
00
00
00
I
x6?
:
c:
00
j0
00
00
00
00
00
阳dms:
pOH
实验六:
数制转换实验二
实验内容:
编写程序,将内部RAM中30H-3FH中的16进制数据(0-F转换为ASC码
并存放在40H-4FHK
实验程序:
ORG0H
LJMPMAIN
ORG0100H
MAIN:
MOVR0,#30H
MOVA,#0H
MOVR2,#16D
L00P1:
MOV@R0,A
INCA
INCR0
DJNZR2,LOOP1
MOVR0,#30H
MOVR1,#40H
MOVR2,#16D
LOOP:
MOVA,@R0
INCR0
CLRC
SUBBA,#10D
JCSMALL
ADDA,#7
SMALL:
ADDA,#3AH
MOV@R1,A
INCR1
DJNZR2,LOOP
WAIT:
SJMPWAIT
END
实验结果:
Address:
|l:
30H
E3
1:
0x30:
;0
00010203
X05060708090AOBOCDD0EOF
1:
0x40:
0
30
31
32
33
34
35
36
37
35
41
42
43
44
4S
1:
0x50:
0
00
□0
00
0D
00
00
00
DO
00
00
00
□0
00
00
00
00
Z;Ox60;0
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
I:
0x^0:
0
00
QG
00
00
00
00
00
00
00
00
00
00
00
00
00
00
I:
Cx50:
0
00
00
00
00
00
00
00
00
00
00
00
00
30
00
00
00
实验七:
数据统计实验一
实验内容:
编写程序,首先将内部RAM中30H-7FH中的数据设置为50H-9FH然后编写程序统计该区域内大于80H的个数,结果存放在寄存器B内。
实验程序:
ORG0H
LJMPMAIN
ORG0100H
MAIN:
MOVR0,#30H
MOVA,#50H
MOVR2,#80D
LOOP1:
MOV@R0,A
INCA
INCR0
DJNZR2,LOOP1
MOVR0,#30H
MOVR1,#0H
MOVR2,#80D
LOOP:
CJNE@R0,#81H,NEXT
NEXT:
JCNEXT1
INCR1
NEXT1:
INCR0
DJNZR2,LOOP
MOVB,R1
WAIT:
SJMPWAIT
END
实验结果:
首先将30H-7FF中的数据设置为50H-9FH
Mdress.|ii3DH
统计该区域内大于80H勺个数,结果存放在寄存器B内,(B)=20H
Register
VaiTie
FRegs
rO
OxSO
rt
OkOO
r2
0x00
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 51 单片机 实验 报告