微机原理及应用实验报告.docx
- 文档编号:25471769
- 上传时间:2023-06-09
- 格式:DOCX
- 页数:30
- 大小:300.21KB
微机原理及应用实验报告.docx
《微机原理及应用实验报告.docx》由会员分享,可在线阅读,更多相关《微机原理及应用实验报告.docx(30页珍藏版)》请在冰豆网上搜索。
微机原理及应用实验报告
微机原理及应用实验报告
班级:
机械1301班
姓名:
黄佳清
学号:
07
座位号:
中南大学机电工程学院
1.实验目的
1、熟悉MCS-51单片机仿真开发机和开发调试软件的操作使用和调整;
2、学会编写和输入汇编语言源程序、对输入的源程序进行汇编;
3、掌握程序的调试和运行的各种方法。
2.实验设备
台式微型计算机
MCS-51仿真开发机
THKSCM-2A
.实验内容及步骤(完成分值:
60分)
本实验秩序运行KeiluVersion2程序,设置为keil为纯软件仿真
1.新建工程项目
2.设置工程文件参数
3.编写新程序事例
4.调试程序直至能够运行出结果。
四.实验程序
AJMP
MAIN
INC
R0
ORG
0030H
INC
DPTR
MAIN:
MOV
R0,#20H
DJNZ
R2,A2
MOV
R2,#0FH
MOV
R0,#030H:
MOV
A,#00H
断点,
观察并记录!
A1:
MOV
@R0,A
MOV
DPTR,#7000H
INC
R0
MOV
R2,#0FH
A3:
MOVX
A,@DPTR
INC
A
MOVX
@R0,A
INC
R0
DJNZ
R2,A1
INC
DPTR
MOV
R0,#20H;暂
DJNZ
R2,A3
停,观察并记录!
DO:
LJMP
DO
MOV
DPTR,#7000H
END;内部存储器数据块
MOV
R2,#0FH
赋值,
搬运数据块到外部存储器,
A2:
MOV
A,@R0
再搬运回内部数据存储器。
MOVX
@DPTR,A
五、附加题
1.将光标移到想要暂停的地方,MOVR0,#20H所在行,选择“执行到光标处”功能,程序快速执行到光标所在行。
观察运行情况,并记录下表。
R0
R2
A
20H
21H
22H
;23H
24H
25H
0x2f
0x00
0x0f
00H
01H
02H
r03H
04H
05H
26H
27H
28H
29H
2AH
2BH
2CH
2DH
2EH
06H
07H
08H
09H
0AH
0BH
:
0CH
0DH
0EH
2.在MOVR0,#0A0H行设置断点,全速执行,暂停后观察并记录以下单元内
R0
DPL
7000H
7001H
7002H
7003H
7004H
7005H
7006H
0X2F
0FH
00H
01H
02H
03H
04H:
05H
06H:
7007H
7008H
7009H
700AH
700BH
700CH
700DH
700EH
07H
08H
09H
0AH
0BH
0CH
0DH「
0EH
3.画出程序流程图
开始
赋值R0—20HR2^0FHA—00H
(A)—(R0)
(DPTR尸(A)
R0—R0+1
DPTF—DPTR+1R2—R2-1
赋值
(A)—(DPTR)
(R0)—(A)
DPTF—DPTR+1R0—R0+1
R2—R2-1
R2=0
结束
4.修改程序,实现新功能
实现倒序数据转移程序
AJMP
ORG
0030H
MAIN:
MOV
R0,#40H
MOV
R2,#0FH
MOV
A,#00H
A1:
MOV
@R0,A
DEC
R0
INC
A
DJNZ
R2,A1
MOV
R0,#30H
MOV
DPTR,#7000H
MOV
R2,#0FH
A2:
MOV
A,@R0
MOVX
@DPTR,A
INC
R0
INC
DPTR
DJNZ
R2,A2
MOV
R0,#030H
MOV
DPTR,#7000H
MOV
R2,#0FH
A3:
MOVX
A,@DPTR
MOVX
@R0,A
INC
R0
INC
DPTR
DJNZ
R2,A3
DO:
LJMP
DO
MAIN
END
实验二程序设计
一、实验目的
1、掌握MCS-51单片机指令系统及用汇编语言编程技巧;
2、了解和熟悉用MCS-51单片机仿真开发机调试程序的方法。
二、实验内容及步骤(完成分值:
30分/单个程序)
题目1、编写排序程序并上机调试通过。
已知8031内部RAM60H~69H单元中,依次存放了0FH,09H,07H,0CH,03H,0DH,08H,0BH,04H,01共10个字节无符号数,编程将它们规律排序,最大数放在60H中,最小数放在69H中。
结果应该是0FH,0DH,0CH,0BH,09H,08H,07H,04H,03H,01H
题目2、编写多字节加法程序并上机调试通过。
8031内部RAM22H21H、20H单元中,分别存放了3字节无符号被加数0FFH0FFH0FFH(低字节在低地址),在32H、31H、30H单元中分别存放3字节无符号加数22H、22H、22H(低字节在低地址),求两数之和,并将结果存入内部RAM23H、22H、21H、20H单元中(低字节在低地址)。
结果应该是01H、22H、22H、21H。
四、参考实验程序
题目1
ORG0000H
LJMPmain
MOVA,R2
MOVR4,A
ORG0100H
LOOP1:
MOVA,@R1
main:
...将10个随机数送入内部RAM的
CLRC
50〜59H单元
SUBBA,B
NOP;可在此处设置断点
JCLOOP2;改为JNC即可逆
ACALLSELSOR调用排序子程序
序排列
MOVB,@R1
HERE:
AJMPHERE;可在此处设置断
MOVA,R1
点,观察每次排序结果
MOVR3,A
NOP
LOOP2:
INCR1
DJNZR4,LOOP1
;排序子程序
MOVA,R3
DATEQU60H;排序数据首地
MOVR1,A
址
MOVA,@R1
NEQU10;排序个数
XCHA,@R0
SELSORT:
MOVR0,#DAT
XCHA,@R1
MOVR2,#N-1
INCR0
LOOP:
MOVB,@R0
DJNZR2,LOOP
MOVA,R0
RET
MOVR3,A
END
INCA
MOVR1,A
题目2
LJMPmain
ORG0000H
ORG0100H
main:
MOVR0,#20H
MOV@R0,#0FFH
INCR0
MOV@R0,#0FFH
INCR0
MOV@R0,#0FFH
MOVR0,#30H
MOV@R0,#22H
INCR0
MOV@R0,#22H
INCR0
MOV@R0,#22H
ACALLMULTADD调用多字节加法子程序
HERE:
AJMPHERE;可在此处设置断
点,观察结果
NOP
;N字节无符号数加法子程序
五、附加题
1.画出题目1的程序流程图。
Y
结束
开始
存入数据到60H~69H
2.将题目1的排序算法进行改变,采用另一种排序算法进行排序。
开始
存入数据到20好
~22H,30H~32H
RO—20H
R1—30H
R2—3H
C清零
a—((R0))+((R1))
((R0))JA
RgR0+1
R1—R1+1
R2—R2-1
A—A+C
((R0))—a
结束
4.改为编写多字节减法程序
ORG0000H
LJMPmain
ORG0100H
main:
MOVR0,#20H
MOV@R0,#0FFH
INCR0
MOV@R0,#0FFH
INCR0
MOV@R0,#0FFH
MOVR0,#30H
MOV@R0,#22H
INCR0
MOV@R0,#22H
INCR0
MOV@R0,#22H
ACALLMULTADD调用多字节加法
子程序
HERE:
AJMPHERE;可在此处设置断点,观察结果
NOP
;N字节无符号数加法子程序
([R0]+[R1])=([R0])
;入口:
R0,R1,R2
;占用资源:
ACC,B
;堆栈需求:
2字节
;出口:
R0存放结果高地址
MULTADD:
MOVR0,#20H;地址1
MOVR1,#30H;地址2
MOVR2,#03H;加法字节数
NSUB:
CL
RC
NSUB1:
MOV
A,@R0
ADDC
A,@R1
MOV
@R0,A
INC
R0
INC
R1
DJNZ
R2,NSUB1
CLR
A
ADDC
A,#00H;把进位
位C加到高8位去
MOV
@R0,A
RET
END
实验三定时/计数器实验
一、实验目的
1、掌握MCS-51单片机内部定时/计数器的功能与特点,工作方式选择和编程方法,中断功能的使用和中断服务程序的设计;
2、了解和熟悉MCS-51单片机实验板的功能。
二、实验内容及步骤(完成分值:
60分/单个程序)
本实验需要用到单片机最小应用系统(F1区)和十六位逻辑电平显示模块(14区)。
用P1口做输出口,接十六位逻辑电平显示,程序功能使发光二极管从右到左轮流循环点亮。
三、参考流程图、电路图、参考程序
XTAL1A
18^
XTAL2
P2.2
XTAL1
P2.1
VSS
P2.0
39P0.0
^38—P0T
^57~P02
■36
P0.3
"*35P0.4
^4P0.5
F3
■T.
P0.6
tryr
P0.7
*T>
31
EA
30
ALE
dC59-
PSEN
^8P27
P2.6
F6
P2.5
FP2.4毁4P2.3
^*23
P2.2
-
P2.1
P2.0
程序:
;100us记数次数,5000x100us=,十六进制#1388H
;100us时间常数(12MHz)
;100us记数单元,05H、06H
TMOD,#02h;方式2,定时器
TH0,#T100us;100us时间常数(12MHz)
TL0,#T100us;100us时间常数(12MHz)
IE,#b;EA=1,IT0=1
setbTR0;开始定时
movp1,#OFEH由于电路原因,输出高电平为灭灯。
movC100us,#HIGH(Tick);05H<-#13H初始化100us记数单元
movC100us+1,#LOW(Tick);O6H<-#88H初始化100us记数单元
Loop:
ljmpLoop
ORG0300H
TOInt:
pushPSW
mova,C100us+1;100us高位记数单元06H
jnzGoon
decC100us;100us低位记数单元05H
Goon:
decC100us+1
mova,C100us;100us低位记数单元05H
orla,C100us+1
jnzExit;100us记数单元不为0,返回
movC100us,#HIGH(Tick);05H<-#13H,100us记数单元为0则初始化100us记数单元
movC100us+1,#LOW(Tick);06H<-#88H,100us记数单元为0则初始化100us记数单元
MOV
A,P1
;100us记数单元为0,位移!
RLA
MOVP1,A
Exit:
popreti
PSW
End
、附加题
1.修改程序,实现新功能
奇数偶数交换点亮
Tick
equ5000
T0Int:
T100us
equ156
push
PSW
C100usequ
5h
mov
a,C100us+1
org
0000H
jnz
Goon
ljmp
Start
dec
C100us
org
000BH
Goon:
LJMP
T0Int
dec
C100us+1
J
mov
a,C100us
ORG
0100H
orl
a,C100us+1
Start:
jnz
Exit
mov
TMOD,#02h
mov
TH0,#T100us
mov
C100us,#HIGH(Tick)
mov
TL0,#T100us
mov
C100us+1,#LOW(Tick)
mov
IE,#b
MOV
A,P1
setb
TR0
RLA
mov
p1,#0AAH
MOVP1,A
mov
C100us
Exit:
mov
C100us+1
pop
PSW
Loop:
ljmpLoop
reti
End
ORG0300H
2.用MCS-51单片机的内部定时器定时中断,编写一段电子秒表程
序,在静态数码管上实现显示。
TCNTAEQU30H;KEYCNTEQU33HLJMPSTART
TCNTBEQU31HSP1BITORG0BH
SECEQU32HORG00HLJMPINT_T0
START:
MOVKEYCNT,#00H
LJMPDKN
MOVA,TCNTA
MOVSEC,#00H
KN1:
CJNEA,#02H,KN2
CJNEA,#100,NEXT
MOVA,SEC
CLRTR0
MOVTCNTA,#00H
MOVB,#10
LJMPDKN
INCTCNTB
DIVAB
KN2:
CJNEA,#03H
MOVA,TCNTB
MOVDPTR,#TABLE
MOVSEC,#00H
CJNEA,#4,NEXT
MOVCA,@A+DPTR
MOVA,SEC
MOVTCNTB,#00H
MOVP0,A
MOVB,#10
INCSEC
MOVA,B
DIVAB
MOVA,SEC
MOVDPTR,#TABLE
MOVDPTR,#TABLE
CJNEA,#100,DONE
MOVCA,@A+DPTR
MOVCA,@A+DPTR
MOVSEC,#00H
MOVP2,A
MOVP0,A
DONE:
MOVA,SEC
MOV
MOVA,B
MOVB,#10
TMOD,#02H
MOVDPTR,#TABLE
DIVAB
SETBET0
MOVCA,@A+DPTR
MOVDPTR,#TABLE
SETBEA
MOVP2,A
MOVCA,@A+DPTR
WT:
JBSP1,WT
MOVKEYCNT,#00H
MOVP0,A
LCALLDELY10MS
DKN:
JNBSP1,$
MOVA,B
JBSP1,WT
LJMPWT
MOVDPTR,#TABLE
INCKEYCNT
DELY10MS:
MOVCA,@A+DPTR
MOVA,KEYCNT
MOVR6,#20
MOVP2,A
CJNEA,#01H,KN1
D1:
MOVR7,#248
NEXT:
RETI
SETBTR0
DJNZR7,$
TABLE:
DB
MOVTH0,#06H
DJNZR6,D1
3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7F
MOVTL0,#06H
RET
H,6FH
MOVTCNTA,#00H
INT_T0:
END
MOVTCNTB,#00H
INCTCNTA
实验四动态显示实验
、实验目的
1、掌握七段LED数码管显示器工作原理,以及用动态扫描方法编程实现
位LED数码管显示的方法;
2、进一步了解和熟悉MCS-51单片机实验板的功能。
二、实验内容及步骤(完成分值:
60分/单个程序)
本实验需要用到单片机最小应用系统(F1区)和动态扫描显示模块(12区)'
1.用8P排线将单片机最小应用系统(F1区)的P2口和动态扫描显示的位选JD11相连,用8P排线将单片机最小应用系统(F1区)的P0口和动态扫描显示模块的段码JDOI相连。
2•用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:
缺口朝上。
3•打开KeiluVision2仿真软件,首先建立本实验的项目文件,接着添加源程序,进行编译,直到编译无误。
4.全速运行程序,直至显示效果为稳定的“123456”。
四、参考流程图、电路图、实验程序
F
「P2
P2
P2
P2
P2
.012
3.4
5
电路接线图
程序:
ORG0000H
AJMPMAIN
ORG0080H
MAIN:
MOVP2,#0FFH
MOVP0,#7DH显示6
CLR;选中第一个数码管
LCALLDELAY调用延时;MOVP0,#0FFH关显示
SETB
MOVP0,#6DH;显示5
CLR;选中第二个数码管
LCALLDELAY
;MOVP0,#0FFH
SETB
MOVP0,#4FH显示3
CLR;选中第四个数码管
LCALLDELAY
MOVP0,#0FFH
SETB
MOVP0,#5BH显示2
CLR;选中第五个数码管
LCALLDELAY
MOVP0,#0FFH
SETB
MOVP0,#066H;显示4
CLR;选中第三个数码管
LCALLDELAY
MOVP0,#0FFH
SETB
MOVP0,#06H;显示1
CLR;选中第六个数码管
LCALLDELAY
MOVP0,#0FFH
SETB
CLR;选中第七个数码管
MOVP0,#21H;显示6
;LCALLDELAY
;MOVP0,#0FFH
;SETB
;CLR;选中第八个数码管
;MOVP0,#7AH;显示7
;LCALLDELAY
;SETB
;MOVP0,#0FFH
AJMPMAIN;重新开始
DELAY:
延;时子程序
MOVR7,#20H
D1:
MOVR6,#30H
D2:
DJNZR6,D2
DJNZR7,D1
RET
;DISTAB:
DB3FH,06H,5BH,4FH;DB66H,6DH,7DH,07H
;DB7FH,6FH,77H,7CH
;DB39H,5EH,79H,71H
END
五、附加题(完成分值:
20分/单个附加题,附加题要求当场给指导老师检查结
果,否则无效。
)
1.
修改程序,稳定循环显示“GOOD'、“HELLO'、“CSU'、“D510”程序如何修改
2修改程序,稳定显示当前时间(如AM11:
30),并且能模拟真实时钟走动。
ORG0000H
AJMPMAIN
CLR;选中第二个数码管
ORG0080H
MOVP0,#06DH
LCALLDELAY
MAIN:
MOVR1,#7FH
CLR;选中第
;MOVP0,#0FFH
MOVR2,#7FH
四个数码管
SETB
MOVR3,#7FH
LCALLDELAY
MOVR4,#7FH
;MOVP0,#0FFH
SETB
MOVP0,#04H
LOOP1:
CLR;选中第
MOVP2,#03FH
MOVP0,#06H
三个数码管
CLR;选中第
LCALLDELAY
MOVP0,#3FH
五个数码管
;MOVP0,#0FFH
CLR
LCALLDELAY
SETB
LCALLDELAY
;MOVP0,#0FFH
;MOVP0,#0FFH
SETB
SETB
MOVP0,#06DH
CLR;选中第
MOVP0,#3FH
DJNZR1,LOOP1
四个数码管
CLR;选中第
LCALLDELAY
二个数码管
LOOP2:
MOVP2,#0FFH
;MOVP0,#0FFH
LCALLDELAY
SETB
;MOVP0,#0FFH
MOVP0,#6H
SETB
CLR;选中第
MOVP0,#06H
一个数码管
CLR;选中第
LCALLDELAY;
五个数码管
MOVP0,#04H
调用延时
LCALLDELAY
CLR;选中第
;MOVP0,#0FFH;
;MOVP0,#0FFH
三个数码管
关显示
SETB
LCALLDELAY
SETB
;MOVP0,#0FFH
DJNZR2,LOOP2
SETB
MOVP0,#3FH
MOVP0,#3FH
CLR;选中第二个数码管
LCALLDELAY;MOVP0,#0FFH
SETB
MOVP0,#04H
CLR;选中第三个数码管
LCALLDELAY;MOVP0,#0FFH
SETB
MOVP0,#06DH
CLR;选中第四个数码管
LCALLDELAY;MOVP0,#0FFH
SETB
MOVP0,#06H
CLR;选中第
五个数码管
LCALLDELAY
;MOVP0,#0FFH
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 应用 实验 报告