单片机原理实验指导书及其程序Word文件下载.docx
《单片机原理实验指导书及其程序Word文件下载.docx》由会员分享,可在线阅读,更多相关《单片机原理实验指导书及其程序Word文件下载.docx(25页珍藏版)》请在冰豆网上搜索。
CPLP1.1
MOVR0,#02H
SJMPFP10
DELAY:
MOVR1,#100
DEL1:
MOVR2,#50
DJNZR2,$
NOP
DJNZR1,DEL1
RET
END
;
思考:
在此例中,P1.0、P1.1输出方波的频率究竟是多少?
实验二程序设计实验
一、实验目的:
⑴熟练掌握80C51汇编语言程序设计方法。
⑵熟练掌握80C51汇编语言程序的调试方法。
2学时。
三、实验内容:
完成从内部数据存储区20H开始的8个单字节数累加、计算平均程序的设计与调试。
累加结果存放在29H(高字节)、2AH(低字节),平均数存放在2BH。
四、实验设备:
PC机
五、思考:
如何使用软件Wave6000调试所编写的计算程序?
六、实验报告要求
1.整理好执行正确的程序和数据;
2.写实验报告,内容包括实验项目、内容,汇编程序及其相应的注释说明,实验完成情况,心得体会。
实验三、流水灯
1.掌握伟福软件、编程器、实验箱的使用。
2.体验I/O口的使用。
3.掌握软件延时的设计。
三、实验内容及要求
实验内容:
(一)使用灌电流方式,P1口外接8个发光二极管。
编程序,控制发光二极管按一定的频率(2~5赫兹)循环点亮。
(二)发光二极管按一定的频率(2~5赫兹)向左循环点亮50次后,向右左循环点亮50次后,往复进行。
实验要求:
1.补充完整电路原理图。
2.编写相应完整的汇编程序,并完成软件模拟调试。
3.使用编程器、实验箱调试程序。
PC机、编程器、THDPJ—1单片机开发综合实验箱
五、部分电路原理图
请自行补充最小系统,及P1口未画完的部分
1.整理好执行正确的程序;
2.写实验报告,内容包括实验项目、内容,电路原理图,汇编程序,计算说明,实验要求完成情况,心得体会。
实验四、数据段搬移程序设计
一、实验目的
1.掌握伟福仿真软件使用。
2.掌握数据搬移程序的设计。
编程序,将内部数据存储区从地址30H开始的连续16个字节搬到片内数据存储区地址40H开始的连续16个字节,并将地址30H开始的连续16个字节清零。
1.编写程序;
2.先将30H开始的连续16个字节填上数据,再逐步、断点等方法调试程序;
2.编写实验报告。
PC机、伟福仿真软件。
实验五、累加程序设计/修改:
算术运算程序设计
2.掌握多字节累加程序设计。
编程序,将内部数据存储区从地址30H开始的连续4个双字节数(30H高字节31H低字节、32H高字节33H低字节、34H高字节35H低字节、36H高字节37H低字节)累加,结果存放在38H、39H、3AH(低字节),并计算平均数,存放在3BH、3CH(低字节)。
2.先将30H开始的连续4个双字节数数据,再调试程序,多次填上不同数值观察计算是否正确;
实验六、定时器的使用(查询方式)
1.掌握编程器使用。
2.掌握定时/计数器初始化程序的设计。
3.掌握使用定时/计数器的方式1、方式2的编程方法。
实验内容
1、选择定时器T1为工作方式1,产生100mS定时,使P1口的八个发光二极管循环闪亮。
2、选择定时器T1为工作方式2,产生100mS定时,使P1口的八个发光二极管循环闪亮。
1.补充完整电路原理图;
2.查询方式使用中断;
2.编写相应完整的汇编程序,并完成软件模拟调试;
请自行补充最小系统,及P1口未画完的部分。
2.写实验报告,内容包括实验项目、内容,电路原理图,汇编程序,定时器的初使化说明,初值计算说明,实验要求完成情况,心得体会。
实验七、定时器的使用(中断方式)
1.掌握伟福仿真软件、编程器使用。
2.用中断方式使用定时器;
实验八同步串口应用于LED静态显示
1.掌握同步串口应用于接口扩展。
2.掌握七段数码显示设计的基本方法。
使用MCS-51单片机的同步串口功能,利用三片8位并行输出串行移位寄存器74LS164,实现000到999的循环显示,每隔100ms将显示数字加一。
1.画出完整电路原理图,并进行实验箱电路连接。
2.写实验报告,内容包括实验项目、内容,电路原理图,汇编程序以及相应当说明注释,实验要求的完成情况,心得体会。
实验九按键控制LED静态显示
3.掌握独立按键查询方式的使用
1学时。
使用MCS-51单片机的同步串口功能,利用三片8位并行输出串行移位寄存器74LS164,实现000到999的循环显示,每按一次按键将显示数字加一。
实验十跑表设计
3.掌握独立按键中断方式的使用
使用MCS-51单片机的同步串口功能,利用五片8位并行输出串行移位寄存器74LS164,实现X分到XX秒XX的显示,按键按下从0分00秒00开始计时,再按按键,时间停止,再按按键,显示数值清零。
实验二
ORG0000H
SUM:
MOVR0,#20H
MOVR1,#8
MOVR2,#3
MOV29H,#00H
MOV2AH,#00H
MOV2BH,#00H
LOOP1:
MOVA,2AH
ADDA,@R0
MOV2AH,A
CLRA
ADDCA,29H
MOV29H,A
INCR0
DJNZR1,LOOP1
MOV2CH,29H
MOV2DH,2AH
LOOP2:
CLRC
MOVA,2CH
RRCA
MOV2CH,A
MOVA,2DH
MOV2DH,A
DJNZR2,LOOP2
MOV2BH,A
RET
实验三
(一)
SJMPSTART
ORG30H
START:
MOVA,#0FEH
NEXT:
MOVP1,A
ACALLDELAY
RLA
SJMPNEXT
MOVR3,#10
MOVR4,#100
DEL2:
MOVR5,#200
DEL3:
DJNZR5,DEL3
DJNZR4,DEL2
DJNZR3,DEL1
END
(二)
MOVR0,#50
MOVR1,#50
DJNZR0,LOOP1
RRA
DJNZR1,LOOP2
实验四
MOVE:
MOVR0,#30H
MOVR1,#40H
MOVR2,#16
LOOP:
MOVA,@R0
MOV@R1,A
MOV@R0,#00H
INCR1
DJNZR2,LOOP
实验五
ORG0000H
MOVR0,#30H
MOVR1,#31H
MOVR2,#4
MOVR3,#4
MOVR4,#2
MOV3AH,#00H
MOV39H,#00H
MOV38H,#00H
MOV3CH,#00H
MOV3BH,#00H
MOVA,39H
MOV39H,A
ADDCA,38H
MOV38H,A
DJNZR2,LOOP1
CLRC
MOVA,3AH
ADDA,@R1
MOV3AH,A
ADDCA,39H
DJNZR3,LOOP2
MOV3DH,38H
MOV3EH,39H
MOV3FH,3AH
LOOP3:
MOVA,3DH
MOV3DH,A
CLRA
MOVA,3EH
MOV3EH,A
MOVA,3FH
MOV3FH,A
DJNZR4,LOOP3
MOV3BH,3EH
MOV3CH,3FH
实验六(晶振频率为6MHz)
MOVTMOD,#10H
SETBTR1
MOVTL1,#0B0H
MOVTH1,#3CH
JNBTF1,$
CLRTF1
SJMPLOOP
MOVTMOD,#20H
MOVTH1,#06H
MOVTL1,#06H
MOVR0,#200
DJNZR0,LOOP2
SJMPLOOP1
实验七(晶振频率为6MHz)
ORG001BH
SJMPSERV
ORG0030H
MOVSP,#60H
MOVTH1,#3CH
SETBEA
SETBET1
SJMP$
SERV:
MOVTH1,3CH
MOVTL1,0B0H
RETI
实验八
MOVSCON,#00H
MOV4AH,#00H
MOV4BH,#00H
MOV4CH,#00H
MOVDPTR,#TAB
MOVR0,#10
MOVR1,#10
MOVR2,#10
ACALLOT
MOVA,4AH
INCA
MOV4AH,A
DJNZR0,LOOP
MOV4AH,#00H
MOVA,4BH
MOV4BH,A
DJNZR1,LOOP
MOV4BH,#00H
MOVA,4CH
MOV4CH,A
DJNZR2,LOOP
MOV4CH,#00H
SJMPLOOP
OT:
MOVA,4CH
MOVCA,@A+DPTR
MOVSBUF,A
JNBTI,$
CLRTI
MOVA,#00H
RET
MOVR3,#10
MOVR4,#2
MOVR5,#25
DJNZR5,DEL3
DJNZR4,DEL2
DJNZR3,DEL1
TAB:
DB0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H
DB0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,0DEH
实验九
SETBP3.3
MOVDPTR,#TAB
JBP3.3,$
JNBP3.3,$
实验十
MOV4DH,#00H
MOV4EH,#00H
MOVR0,#10
MOVR1,#10
MOVR2,#10
MOVR3,#6
MOVR4,#10
ACALLOT
ACALLOT
MOVA,4AH
INCA
MOV4AH,A
DJNZR0,TJ
MOVA,4BH
MOV4BH,A
DJNZR1,TJ
MOV4CH,A
DJNZR2,TJ
MOVA,4DH
MOV4DH,A
DJNZR3,TJ
MOVA,4EH
MOV4EH,A
DJNZR4,TJ
TJ:
JBP3.3,LOOP
SJMPMAIN
MOVCA,@A+DPTR
MOVSBUF,A
JNBTI,$
CLRTI
MOVR5,#10
MOVR6,#5
MOVR7,#25
DJNZR7,DEL3
DJNZR6,DEL2
DJNZR5,DEL1
DB0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,0DEH
START:
MOVP1,#00H
ACALLDELAY
MOVP1,#0FFH
MOVR3,#0FFH
MOVR4,#0FFH
NOP
DJNZR4,DEL1
DJNZR3,DEL2
RET
END
ORG0000H
SJMPSTART
ORG30H
MOVA,#0FEH;
送显示模式字
MOVP1,A;
点亮二极管
ACALLDELAY
RLA;
左移一位,改变显示模式字
SJMPNEXT;
下面一个二极管
MOVR3,#0FFH;
延时子程序开始