江苏大学单片机课程设计_江苏大学大学物理练习
江苏大学单片机课程设计由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“江苏大学大学物理练习”。
江苏大学
单片机课程设计
姓名:
学号
班级:电气
一、设计任务、原理、步骤
任务:○1从键盘上输入正、反转命令,转速参数(16级)和转动步数显示在LED显示器上。
显示器上显示:第一位为0表示正转,为1表示反转;第二位0~F为转速等级,第三到第六位设定步数。
2单片机依显示器上显示的正、反转命令,转速级数和转动步数进行相应动作,转○动步数减为零时停止转动。
原理:
如图,当有一相绕组被通电激励时,磁通从正相齿,经过软铁芯的转子,并以最短路径流向负相齿,为使磁通路径最短,在磁场力的作用下,转子被迫移动,使最近的一对齿与被激励的一相对准。
那么,通过对它每相线圈中电流的顺序切换可使电机作步进式旋转。相数:产生不同对极N、S磁场的激磁线圈对数。
拍数:指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即AB-BC-CD-DA-AB或A-B-C-D-A,四相八拍运行方式即 A-AB-B-BC-C-CD-D-DA-A.步距角:对应一个脉冲信号电机转子转过的角位移.步距角=360/(转
子齿数*拍数)系统中使用20BY-0型号步进电机,它使用+5V直流电源,步距角为18度,电机线圈由A、B、C、D四相组成。
步进电机驱动原理是通过对它每相线圈中的电流的顺序切换来使电机作步进式旋转,驱动电路由脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速。
BA、BB、BC、BD即为脉冲信号输入插孔,驱动器输出A、B、C、D接步进电机。
步骤:先设计键盘显示程序,根据书本的键盘扫描程序与数码管显示程序,把二者整合到
一起,成功后,再做驱动电机程序,在键盘显示程序的基础上,进行扩张,实现电
机的正反转与调速控制。
二、硬件原理接线图 键盘显示原理图
连线图
步进电机模块插头接实验系统J3插座,(顺接) 把P1.0~P1.3分别接到BA~BD插孔。
4.7kX474LS04P1.0P1.18032P1.2J***4523535ABVCCBABBBCBD1359CDP1.34
三、流程图
按键流程图
数码管显示流程图
电机控制程序流程图
四、程序清单
ORG 0000H
AJMP MAIN
ORG 0050H MAIN: MOV SP, #40H
MOV 79H, #00H
MOV 7AH, #00H
MOV 7BH, #00H
MOV 7CH, #00H
MOV 7DH, #00H
MOV 7EH, #00H
MOV R1, #7EH MAIN1: ACALL KEY1
MOV @R1, A
CJNE R1, #78H, KS
CJNE A, #16H, AGAIN
LJMP RUN AGAIN: LJMP MAIN
KS: DEC
R1
LJMP MAIN1
RUN: MOV A,7EH
JZ
ZHEN
JNZ
FAN
SJMP $
ZHEN: MOV
P1, #03H
ACALL DELAY
MOV
P1, #06H
ACALL DELAY
MOV
P1, #0CH
ACALL DELAY
MOV
P1, #09H
ACALL DELAY
ANL
79H, #0FH
ANL
7AH, #0FH
ANL
7BH, #0FH
ANL
7CH, #0FH
LCALL DIR
LCALL DIR
MOV
R5, 79H
CJNE R5, #0,Z1
DEC
79H
MOV R5,7AH
CJNE R5, #0,Z2
DEC
7AH
MOV
R5, 7BH
CJNE R5, #0,Z3
DEC
7BH
MOV
R5, 7CH
CJNE R5, #0,Z4
LJMP MAIN Z1:
DEC
79H
LJMP ZHEN Z2:
DEC
7AH
LJMP ZHEN Z3:
DEC
7BH
LJMP ZHEN Z4:
DEC
7CH
LJMP ZHEN FAN: MOV
P1, #09H
ACALL DELAY
MOV
P1, #0CH
ACALL DELAY
MOV
P1, #06H
ACALL DELAY
MOV
P1, #03H
ACALL DELAY
ANL 79H, #0FH
ANL 7AH, #0FH
ANL 7BH, #0FH
ANL 7CH, #0FH
LCALL DIR
LCALL DIR
MOV R5, 79H
CJNE R5, #0,F1
DEC 79H
MOV R5, 7AH
CJNE R5, #0,F2
DEC 7AH
MOV R5, 7BH
CJNE R5, #0,F3
DEC 7BH
MOV R5, 7CH
CJNE R5, #0,F4
LJMP MAIN F1:
DEC 79H
LJMP FAN F2:
DEC 7AH
LJMP FAN F3:
DEC 7BH
LJMP FAN F4:
DEC 7CH
LJMP FAN
DELAY: MOV R1, 7DH DELAY10: ACALL DIR DELAY13:DJNZ R1, DELAY10
RET DIR: MOV R0,#79H
MOV R3,#01H LD0: MOV DPTR,#SEG
MOV A,@R0
MOVC A,@A+DPTR
CPL
A
MOV
DPTR,#0FFDCH
MOVX @DPTR,A
MOV A,R3
MOV DPTR,#0FFDDH
MOVX @DPTR,A
ACALL DL1
INC
R0
MOV
A,R3
JB
ACC.5,LD1
RL
A
MOV
R3,A
AJMP LD0 LD1: RET SEG: DB 3FH, 06H, 5BH, 4FH, 66H, 6DH
DB 7DH, 07H, 7FH, 6FH, 77H, 7CH
DB 39H, 5EH, 79H, 71H, 00H, 73H DL1: MOV
R7,#02H DL: MOV
R6,#0FFH DLA: DJNZ R6,DLA
DJNZ R7,DL
RET KEY1:ACALL KS1
JNZ
LK1
ACALL DIR
AJMP
KEY1 LK1: ACALL DIR
ACALL T12ms
ACALL KS1
JNZ
LK2
AJMP
KEY1 LK2: MOV
R2, #0FEH
MOV
R4, #00H LK4: MOV
DPTR, #0FFDDH
MOV
A, R2
MOVX
@DPTR, A
INC
DPTR
MOVX
A, @DPTR
JB
ACC.0, LONE
MOV
A, #00H
AJMP
LKP LONE:JB
ACC.1, LTOW
MOV
A, #08H
AJMP
LKP LTOW:JB
ACC.2, LTHR
MOV
A, #10H
AJMP
LKP LTHR:JB
ACC.3, NEXT
MOV
A, #18H LKP: ADD
A, R4
MOV
DPTR, #TAB
MOVC
A, @A+DPTR
PUSH
ACC LK3: ACALL DIR
ACALL KS1
JNZ
LK3
POP
ACC
RET NEXT:INC
R4
MOV
A,R2
JNB
ACC.7,KND
RL
A
MOV
R2,A
AJMP
LK4 KND: AJMP
KEY1 KS1: MOV
DPTR,#0FFDDH
MOV
A,#00H
MOVX
@DPTR,A
INC
DPTR
MOVX
A,@DPTR
CPL
A
ANL
A,#0FH
RET T12ms:MOV R7,#18H TM: MOV
R6,#0FFH TM6: DJNZ
R6,TM6
DJNZ
R7,TM
RET TAB: DB 07H,04H,08H,05H,09H,06H,0AH,0BH,01H,00H,02H,0FH,03H,0EH
DB 0CH,0DH,00H,00H,00H,00H,00H,00H,16H
END
五、设计心得体会
为期一周的单片机课程设计,我有很多心得体会,有关于单片机方面的,更多的是人与人之间的。
此次单片机课程设计意义非凡。一开始,我们组出现了很多问题,例如,如何把键盘与显示程序整合到一起,但是在老师的悉心指导和同学的帮助下,各种问题都被解决了。此次课程设计不仅增强了同学们的动手实践能力,而且更加丰富了同学们的理论知识,熟悉了汇编语言的编程方法。除此之外,我还学到了如何与人合作,与人交流。
总而言之,单片机课程设计对于我们有很大的帮助,我们从中受益匪浅