微机原理课程设计_步电机
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
汇编及接口技术课程设计
题目:步进电机控制系统
成绩:
目录一.设计目的
二.设计内容
三.设计方案
四.软件设计
五.硬件线路设计
六.源代码
七.总结
步进电机控制系统
一、设计目的
1.了解步进电机控制的基本原理。
2.掌握控制步进电机转动的编程方法。
3.进一步熟练8255的使用。
二、设计内容
编程控制步进电机,使其能够正常运转,要求:
1.开关K8控制电机的启动与停止。当K8向上拨时,电机启动,向下拨时电机停止。
2.开关K7控制电机的正反转。当K7向上拨时,电机正反转;向下拨时,电机反转。
3.开关K1~K6控制电机的转速:K1向上拨时,得到最低转速,…… K6向上拨时,
得到最高转速。
4.在数码管上显示速度编号。
三.设计方案
四.软件设计
运用分支程序来调节开关的选择,再通过改变sx的大小和延时子程序来调节步电机的转动速度。
设计:k0-k5控制转速,k6控制正反,k7控制开始停止
五、硬件线路设计
1. 实验连线
8255模块的RD、WR 连到ISA总线接口模块的IOR#、IOW#,8255选通信号CS 连到ISA总线接口模块的IOY0。
8255模块的数据线D7~D0、连到ISA总线接口模块的XD7~XD0。
地址线A1~A0连到XA1~XA0。
步进电机的A—PB0,B—PB1,C—PB2,D—PB3。
1)8255的PA口(PA0---PA7)和开关K1-K8相连。
2)8255的PB口(PB0---PB3)和步进电机的A、B、C、D相连。
3) 8255的PC口(PC0---PC7)连接到LED的(a---h)。
六.源代码
DATA SEGMENT
P8255A DW 0600H
P8255B DW 0602H
P8255C DW 0604H
P8255M DW 0606H
TABDT DB 01H,03H,02H,06H,04H,0CH,08H,09H ;顺时针旋转
TABDT1 DB 09H,08H,0CH,04H,06H,02H,03H,01H ;逆时针旋转
TIMEP DW 100H ;时间参数
DCODE DB ? ;显示代码
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START: MOV AX, DATA
MOV DS,AX
;-------------------------------------------------------------------------------------------------------- FIRST: MOV DI,100H
MOV DX,P8255M
MOV AL,90H ;;;;;;;;;;;;;;;; ;
OUT DX,AL
A1: MOV DX, P8255A
IN AL,DX
TEST AL,40H ;K6=PA6
JZ A2
MOV BX,OFFSET TABDT1
jmp A3
A2: MOV BX,OFFSET TABDT
A3: MOV CX,0008H ;;;;;;;;;;;;;;;;;
NEW: MOV DX, P8255A
IN AL,DX
TEST AL,80H ;K8=PA7
JNZ THIRD
;-----------------------------------------------------------------------------------------------
SECOND: MOV DX, P8255B
MOV AL,0FFH ;停止步进电机
OUT DX,AL
JMP NEW
;---------------------------------------------------------
------------------------------------
THIRD: MOV DX,P8255B
MOV CX, 0008H
A4: MOV AL,[BX]
MOV DX, P8255B; 写B口
OUT DX, AL
CALL SWITCH
CALL DELAY ; 控制步进电机的转速
;CALL DISPLY
INC BX
LOOP A4
JMP A1
;-----------------------------------------------------------------------------------------------
FORTH: INC BX
LOOP NEW
DONE: JMP A1
EXIT1: MOV AX,4C00H
INT 21H
;---------------------------------------------------------
---------------------------------------- DELAY PROC NEAR ;延时程序PUSH CX
PUSH SI
DELO: MOV SI,DI
DL1: NOP
MOV CX, 0FFH ;;;;;;
DL2: LOOP DL2
DEC SI
JNZ DL1
POP SI
POP CX
RET
DELAY ENDP
DISPLY PROC NEAR ;显示程序NOP
RET
DISPLY ENDP