单片机实验
报告
软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载
学院:机电学院
班级:
姓名:
学号:
指导老师:
目录
实验一 2
1、实验目的 2
2、实验内容 2
3、程序 2
实验二 5
1、实验目的 5
2、实验内容 5
3、程序编写 6
实验三 8
1、实验目的 8
2、实验内容 8
3、实验步骤 9
4、程序编写 9
实验四 10
1、实验目的 10
2、实验内容 10
3、实验原理 11
4、实验步骤 11
5、程序编写 12
实验五 13
1、实验目的 13
2、实验内容 13
3、实验原理 14
4、实验步骤 14
5、程序编写 14
实验心得: 17
实验一
1、实验目的
熟悉软件开发平台Keil uVision2的基本操作.
2、实验内容
(1)新建项目文件.
(2)编写内部数据存储器数据读写程序,利用存储器观察窗口观看程序执行结果.
(3)编写外部数据存储器数据读写程序,利用存储器观察窗口观看程序执行结果.
3、程序
ORG 0000H
MOV R2,#02H
MOV R3,#03H
MOV R4,#04H
MOV R5,#05H
MOV R1,#59H
MOV 59H,#70H
MOV 90H,#5FH
MOV P1,#A0H
MOV A,R2
MOV A,R3
MOV A,R4
MOV A,R5
MOV A,@R1
MOV A,59H
MOV A,90H
MOV A,P1
LOOP:SJMP LOOP
END
ORG 0000H
LJMP 0030H
ORG 0030H
MOV DPTR,#1000H
MOV A,#0FFH
MOVX @DPTR,A
INC DPTR
DEC A
MOVX @DPTR,A
INC DPTR
DEC A
MOVX @DPTR,A
INC DPTR
DEC A
MOVX @DPTR,A
MOVX A,@DPTR
DEC DPL
MOVX A,@DPTR
DEC DPL
MOVX A,@DPTR
DEC DPL
MOVX A,@DPTR
LOOP:SJMP LOOP
END
实验二
1、实验目的
学习软件仿真方法
学习程序编译、执行、运行结果查看的方法.
2、实验内容
(1)编写拆字子程序,利用内部数据存储器观察窗口观看程序执行结果.
(2)编写拼字子程序,利用外部数据存储器观察窗口和内部数据存储器观察窗口观看程序执行结果。
(3)练习手工修改内部数据存储器和外部数据存储器的方法.
3、程序编写
(1)试编写一拼字子程序,将外部RAM中3001H单元、3000H单元的低四位组成一个新的字节,存储到内部数据存储器32H单元中,其中3001H单元的低四位为新字节的高四位。
PINZI: MOV R0,#32H
MOV DPTR,#3000H
MOVX A,@DPTR
MOV 32H,A
INC DPTR
MOVX A,@DPTR
SWAP A
XCDH A,@R0
MOV 32H,A
RET
(2)试编写一拆字子程序,将累加器A中的高、低四位分开,分别对应放到31H单元、30H单元的低四位中,并将31H单元、30H单元的高四位全部补0。
CHAIZI: MOV R0,#30H ;设指针
MOV R2,A ;暂存
ANL A,#0FH ;高半字节清0
MOV @R0,A ;保存数据低位
INC R0
MOV A,R2
SWAP A ;
ANL A,#0FH
MOV @R0,A ;保存数据高位
RET
实验三
1、实验目的
1、学习单片机I/O口(以P1为例)的使用方法。
2、学习用查询和定时器两种方法编写延时子程序。
3、进一步掌握Keil软件用法,用伟福实验箱观看结果。
2、实验内容
1、分别使用查询和定时器两种方法编写延时子程序,实现1s的延时。
2、编写程序,用P1口输出,实现发光二极管的循环点亮(间隔时间1s)。
3、用伟福实验箱观看实验结果,验证程序
3、实验步骤
1、编写程序,实现发光二极管的循环点亮。
2、连接线路,P1.0~P1.7口分别连接0~7号发光二极管。(注意连线和拆线时务必确保要断开实验箱电源)
3、调试(设置时注意选择使用伟福实验箱调试),观看实验结果。
4、程序编写
LOOP:
MOV A,#01H
OUTPUT:
MOV P1,A
RL A
CALL DELAY
LJMP LOOP
DELAY:
MOV R5,#25
MOV R6,#200
MOV R7,#200
DELAYLOOP:
DJNZ R6,DELAYLOOP
DJNZ R7,DELAYLOOP
DJNZ R5,DELAYLOOP
RET
END
实验四
1、实验目的
1、学习单片机I/O口的使用方法。
2、了解步进电机控制的基本原理和驱动方法。
3、掌握控制步进电机转动的编程方法。
4.了解单片机控制外部设备的常用电路。
2、实验内容
1、编写延时程序控制步进电机的启动频率。
2、编写程序实现对步进电机正转、反转、调速的控制,以P1口为数据输出口。
3、连接实验箱,观看程序运行结果,分析控制原理。
3、实验原理
步进电机驱动原理是通过对每相线圈中的电流的顺序切换来使电机作步进式旋转,切换是通过单片机输出脉冲信号来实现的,所以调节脉冲信号的频率便可以改变步进电机的转速,改变各相脉冲的先后顺序,可以改变电机的旋转方向,步进电机的转速应由慢到快逐步加速。电机驱动方式可以采用双四拍(AB→BC→CD→DA→AB)方式,也可以采用单四拍(A→B→C→D→A)方式,或单、双八拍(A→AB→B→BC→C→CD→D→DA→A)方式。
软件编程代替环形脉冲分配器输出控制步进电机的脉冲信号,就四相步进电机而言,单-双八拍时序就是一种减小步距角的分配器,也称二细分或双1-2相时序。
单四拍 双四拍 单双八拍
除了单-双八拍时序,还有A-AB-ABC-B-BC-BCD-C-CD-CDA-D-DA-DAB-A十二拍时序,可以实现三细分,即步距角为四拍时序的1/3。
4、实验步骤
1、编写程序,实现对步进电机不同工作方式的控制。
2、连接线路,P1.0~P1.4口分别连接步进电机的A、C、B、D接口。
3、调试,观看实验结果。
5、程序编写
ORG 0000H
LJMP 0030H
ORG 0030H
MOV P1,#1;
LCALL DELAY;
MOV P1,#2;
LCALL DELAY;
MOV P1,#4;
LCALL DELAY;
MOV P1,#8;
LCALL DELAY;
LJMP 0030H
DELAY:
MOV R5,#5;
DELAY2:
MOV R6,#250;
DELAY1:
MOV R7,#250;
DJNZ R7,$;
DJNZ R6,DELAY1;
DJNZ R5,DELAY2;
RET
END
实验五
1、实验目的
1、了解数码管动态显示的原理。
2、掌握用I/O控制数码管显示。
2、实验内容
1、编写程序,分别从I/O口输出八段数码管的位选控制信号和段选控制信号,实现数码管的动态显示。
2、利用Keil软件和实验仪提供的显示电路,动态显示一行数据。
3、连接实验箱,观看程序运行结果,分析控制原理。
3、实验原理
本试验仪显示电路可以工作在内驱和外驱两种方式,内驱是用CPU总线方式驱动,通过总线读写外部设备的地址来控制显示。外部驱动方式是直接用I/O方式驱动八段显示的段码、位码信息,这里的I/O控制可以用CPU的IO口来实现控制,也可通过8255等IO扩展电路来控制。内驱、外驱由板上的拨动开关控制。
外驱方式:将拨动开关拨到“外驱”位置,八段显示作于外驱方式,八段管的段码控制由输出端口(I/O)输出到A~H插孔,控制显示内容。G0~G5是八段管的位码,I/O口输出的信号可以控制点亮哪一位八段管。
4、实验步骤
1、编写程序,将缓冲区数据通过试验箱的六位数码管动态显示出来,其中段选线和位选线分别由I/O口输出。
2、连接线路,P1口分别连接G0~G5口,即实现位选;P2口分别连接段选口,输出显示的内容。
3、调试,观看实验结果。
5、程序编写
ORG 0000H
LJMP 0030H
DXM:MOV DPTR, #TAB ;取段选码表首地址
MOVC A,@A+DPTR ;取段选码,变址寻址
RET
TAB: DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H
DB 7FH, 6FH, 77H, 7CH, 39H, 5EH, 79H, 71H
ORG 0030H
DISP:
MOV R5,#06H ;显示6个数
MOV R0,60H
MOV 60H,#02H ;显示内容
MOV 61H,#04H
MOV 62H,#03H
MOV 63H,#05H
MOV 64H,#07H
MOV 65H,#08H
MOV R1,#01H
MOV R0,#60H ;取待显示字符
LP1:
MOV P1,#00H
MOV P2,#00H ;消除噪音
MOV A,@R0
LCALL DXM ;查段选码
MOV P2,A
MOV P1,R1
LCALL DELAY
MOV A,R1
RL A ;位选通信号移位
MOV R1,A
INC R0 ;指向下一个显示数据
DJNZ R5,LP1
LJMP DISP
RET
DELAY: MOV R7, #00H
DL1: MOV R6, #00H
MOV R4, #00H
DJNZ R4,$
DJNZ R6, $
DJNZ R7, DL1
RET
END
实验心得
通过这次单片机的实验学习,我基本上掌握了编译器的使用方法以及具体的硬件连接方法,对我的帮助非常大,把从课堂上学习的单片机的知识运用到了实际的操作当中,当看到程序按照我的意愿去运行时,感觉真的很不错,但是这短短的五次实验就结束了,学习到了最基本的单片机的知识,对以后再深入学习打下了基础,在此,感谢老师和同学们的帮助,谢谢你们。