单片机实验报告文档格式.docx
- 文档编号:16552774
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:17
- 大小:28.71KB
单片机实验报告文档格式.docx
《单片机实验报告文档格式.docx》由会员分享,可在线阅读,更多相关《单片机实验报告文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
INCR1
INCR2
DJNZR2,A3
SJMP$
END
实验结果与分析:
1、按照实验内容补全程序。
2、对源程序进行编译并查看相应程序存储器的内容,将源程序对应的机器码记录入下表,掌握ORG伪指令及汇编的过程。
ORG的作用及相关注意事项:
ORG表示之后的语句从哪里开始,有的单片机里面的固定区域是用来做堆栈或者是子程序跳转地址的入口。
程序存储区
地址
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
0000
01
3F
0010
0020
0030
78
0040
40
7A
10
74
A0
F6
08
04
0A
FB
79
50
0050
E7
09
DA
FA
80
FE
PC表示:
下一条要执行的指令
PSW表示:
程序状态字,其各位的含义为:
cy进位标志位AC辅助进位标志位
Ov溢出标志位p校验位
SP表示:
堆栈指针
R0~R7的物理位置:
0000H-0007H
3、运行机器码,查看片内数据区、CPU内寄存器的变化情况,按要求将结果记录入下表。
单片机上电复位之后,PC=0000,PSW=00H,SP=07H,则单片机用第一组工作寄存器组,R0~R7的物理位置为:
0000-0007H
用单步方式运行程序,观察实验过程中PC、A、R0、R2中内容的变化情况,程序执行结束后,将相应的RAM中各单元的内容补充完整。
CPU内部存储区
81
56
59
30
82
00
29
06
FD
A1
A2
A3
A4
A5
A6
A7
A8
A9
AA
AB
AC
AD
AE
AF
实验二多字节十进制加法实验
1、掌握数据块的传送操作和算术运算指令的应用。
2、掌握BCD码加法的使用。
多字节十进制加法。
加数首地址由R0指出,被加数和结果的存储单元首地址由R1指出,字节数由R2指出。
ORG0000H
RESET:
AJMPMAIN
ORG0100H
MAIN:
MOVSP,#60H
MOVR0,#31H
MOV@R0,#22H
DECR0
MOV@R0,#33H
MOVR1,#21H
MOV@R1,#44H
DECR1
MOV@R1,#55H
MOVR2,#02H
ACALLDACN
HERE:
AJMPHERE
DACN:
CLRC
DAL:
MOVA,@R0
ADDCA,@R1
DAA
MOV@R1,A
INCR1
DJNZR2,DAL
CLRA
MOVACC.0,C
RET
实验结果与分析
1、按照实验内容补全程序。
2、加数单元、被加数单元和结果单元的地址和内容为?
(按十进制加法格式,高位在左,低位在右,将实验数据填入下图相应的单元中)
内容
被加数
(20H)
55H
(21H)
44H
加数
(30H)
33H
(31H)
22H
和
88H
66H
此时(PSW)=0000
3、如何检查双字节相加的最高位溢出?
看PSW的CY位是否为1
4、改变加数和被加数,测试程序的执行结果。
(1)操作数改为:
5678+2345
56H
78H
23H
45H
80H
此时(PSW)=0000
(2)操作数改为:
5201H+8301H
52H
01H
83H
35H
02H
此时(PSW)=80H
(3)操作数改为:
7733+5888
58
33
77
22
35
此时(PSW)=81
实验三数据排序实验
1、进一步熟悉MCS-51指令系统,了解汇编语言程序设计的基本结构。
2、掌握循环结构程序设计的方法,弄清单重及多重循环控制过程。
将内部RAM50H—59H中的数据按从小到大的次序排列。
将程序经模拟调试通过后,运行程序,检查相应的存储单元的数据是否为排序状态。
MOV@R0,#6FH
MOV@R0,#6EH
MOV@R0,#6AH
MOV@R0,#6CH
MOV@R0,#6DH
MOV@R0,#5BH
MOV@R0,#67H
MOV@R0,#69H
MOV@R0,#68H
MOV@R0,#64H
ACALLQUE
QUE:
CLR00H
MOVR7,#09H
MOVA,@R0
L2:
INCR0
MOVR2,A
SUBBA,@R0
MOVA,R2
JCL1
SETB00H
XCHA,@R0
L1:
MOVA,@R0
DJNZR7,L2
JB00H,QUE
2、说明该排序算法的基本原理和过程。
先将10个数放到50~59H中,然后调用QUE进行排序。
两个数比较,前者大的则交换。
3、检查程序执行结果。
排序前
5B
64
67
68
69
6A
6C
6D
6E
6F
排序后
3、若对实验数据按从大到小次序排序,则需要对源程序做哪些修改?
JCL1变为JNCL1
6A
实验四统计数的个数
2、掌握分支结构程序设计的方法。
3、学会用条件转移指令、CJNE、及其配合使用来编写二分支、三分支程序。
片内RAM从20H单元开始存有10个带符号数,求统计出其中大于0,小于0和等于0的个数,并存放于片内RAM30H,31H,32H三个单元中。
源程序清单(补充完整):
ORG0100H
MOV30H,#00H
MOV31H,#00H
MOV32H,#00H
MOVR0,#10
MOVR1,#20H
MOV20H,#1
MOV21H,#2
MOV22H,#3
MOV23H,#-1
MOV24H,#-2
MOV25H,#0
MOV26H,#0
MOV27H,#-1
MOV28H,#-2
MOV29H,#2
LOP:
MOVA,@R1
JZL1
JBACC.7,L2
INC31H
SJMPSTOP
L2:
INC30H
L1:
INC32H
STOP:
INCR1
DJNZR0,LOP
SJMP$
实验数据
20H
02
03
FF
00
30H
二、硬件在线仿真实验:
实验五电子钟实验
实验目的:
1、学会用MOVC指令编写查表程序。
2、掌握MCS-51单片机中定时器的工作原理及综合应用。
3、熟悉集成软件调试环境,并掌握调试程序的方法和硬件在线仿真技术。
熟悉单片机在线仿真调试方法。
将仿真头插入实验板的CPU插座中,再打开电源,输入程序进行调试。
程序运行时,按下S0键,蜂鸣器发出响声,两个数码管开始从零显示时间,定时器定时时间为一分钟,定时时间到,蜂鸣器再次发出响声,重新按下S0键,重复上述过程。
START:
ORG000BH
AJMPPIT0
ORG0100H
MOVSP,#60H
MOV50H,#00H
MOV51H,#00H
ACALLDISPLAY
MOVTMOD,#01H
MOVTL0,#0B0H
MOVTH0,#3CH
ACALLKEY
CLRP2.7
ACALLLONGDELAY
SETBP2.7
SETB00H
SETBTR0
SETBEA
SETBET0
MOV30H,#20
ML0:
MOVC,00H
JCML0
CLRTR0
AJMPMAIN
PIT0:
PUSHPSW
PUSHACC
SETBPSW.3
MOVA,30H
DECA
MOV30H,A
JNZRET0
MOVR0,#51H
ACALLDAAD1
MOVA,R2
XRLA,#60H
ACALLCLR0
RET0:
POPACC
POPPSW
RETI
DAAD1:
MOVA,@R0
DECR0
SWAPA
ORLA,@R0
ADDA,#01H
DAA
MOVR2,A
ANLA,#0FH
MOV@R0,A
INCR0
ANLA,#0F0H
RET
CLR0:
CLRA
DISPLAY:
MOVA,50H
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVP2,A
MOVA,51H
MOVP0,A
CLRP0.7
LCALLDELAY
KEY:
MOVC,P3.0
JCKEY
ACALLDELAY
KEY1:
JNCKEY1
RET
DELAY:
MOVR1,#250
LOOP:
DJNZR1,LOOP
RET
LONGDELAY:
MOVA,R0
PUSHACC
MOVA,R1
LOOP1:
MOVR0,#250
LOOP2:
NOP
DJNZR0,LOOP2
DJNZR1,LOOP1
POPACC
MOVR1,A
MOVR0,A
TABLE:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END
1、程序中哪部分为显示程序?
DISPLAY为显示程序
2、程序中如何秒钟的实现一定时?
每次定50毫米,20次就是1秒
3、写出各段子程序的作用。
KEY:
检测按键
DELAY:
延时
LONGDELAY:
长延时
DISPLAY:
显示
DAAD1:
PIT0:
定时器0的中断处理函数
4、根据实验要求画出简要的电路连接
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 实验 报告