实验八 8255A控制步进电机+8253定时
一、实验目的
了解步进电机的的基本控制原理,掌握控制步进电机的转速、转向的程序设计方法。
二、实验内容
用8255A的PA0~3分别控制步进电机的A、B、C、D四相,“1”则该相绕组通电,“0”则不通电。步进电机的驱动原理是使各相绕组依次通电来使其作步进式旋转,通过通电顺序和切换频率来调节其转速和转向。步进电机可以四相四拍或四相八拍方式工作,即通电顺序为:A→B→C→D→A;A→AB→B→BC→C→CD→D→DA→A。按相反的顺序即可改变电机的旋转方向。本实验系统采用的是:AB→BC→CD→DA→AB。
注:电机在起动和停止时,都不应该突然起、停。而是应该采用逐渐
加速、减速的方式。至于起、停所需时间则根据产品型号而定。
三、实验线路
8255A的PA0~3与步进电机的BA~BD相连;8253定时单元的连线与8253定时、计数实验相同;8259中断单元的连线与中断实验相同;译码单元的连线也与以前的实验相同;最后,将8253的OUT0与IR7相连。
四、实验程序
CODE SEGMENT
ASSUME CS:CODE,DS:CODE,ES:CODE ORG 3400H H8: JMP P8259 Port0 EQU 0FFE0H Port1 EQU 0FFE1H
;-------------------初始化------------------- P8259: CLI
MOV AX,OFFSET INT8259 MOV BX,003CH MOV [BX],AX MOV BX,003EH MOV AX,0000H
MOV [BX],AX CALL FOR8259 mov si,0000h
;
I8255: MOV DX,0FFDBH MOV AL,88H OUT DX,AL MOV BL,03 ;
P8253: MOV DX,0FFEBH MOV AL,34H OUT DX,AL
MOV DX,0FFE8H MOV AL,00H OUT DX,AL MOV AL,096H OUT DX,AL STI again: jmp again
;------------------------------------
INT8259:cli
MOV DX,0FFD8H XX59: MOV AL,BL OUT DX,AL SHL BL,1 CMP BL,18H JZ A1
CMP BL,12H JNZ C1
MOV BL,03H JMP C1
A1: MOV BL,09H C1: MOV AL,20H MOV DX,Port0 OUT DX,AL STI IRET
;============================== FOR8259:MOV AL,13H MOV DX,Port0 OUT DX,AL MOV AL,08H MOV DX,Port1 OUT DX,AL MOV AL,09H
OUT DX,AL
MOV AL,7FH ;IRQ7 OUT DX,AL RET CODE ENDS END H8
五、习题与思考
1.计算出步进电机走一步旋转的角度,能否精确的回到原点。2.如何控制步进电机的起、停? 3.如何控制步进电机的转速和转向?
实验九 8253通道的级联
一、实验目的
进一步掌握8253的灵活应用,如得到较大的分频倍数,确定波形的占空比。
二、实验内容
1. 将8253计数器0设置为方式3,计数器2设置为方式1,并且串
联使用。 OUT2输出10s后变为高电平(用逻辑笔或LED测试)。
2. 将8253计数器0设置为方式3,计数器2设置为方式2,并且串
联使用。 OUT2输出占空比为1:10的波形(用模拟示波器观察)。
三、实验线路
译码电路同以前的实验,8253单元的CS与Y0相连,
GATE0、2接+5V,CLK0接393分频单元的T2~6(其频率值参考8253定时器/计数器实验),将OUT0与CLK2相连。 四、实验程序
1.
CODE SEGMENT
ASSUME CS:CODE,DS:CODE,ES:CODE ORG 3490H
H9: MOV DX,0FFE3H MOV AL,37H OUT DX,AL
MOV DX,0FFE0H MOV AL,00H OUT DX,AL MOV AL,10H OUT DX,AL
MOV DX,0FFE3H MOV AL,10110111B OUT DX,AL
MOV DX,0FFE2H MOV AL,00H OUT DX,AL MOV AL,10H OUT DX,AL JMP $ CODE ENDS END H9
相关推荐: