当前位置:首页 > 实验六 8259A硬件中断实验
INC SI
LOOP LOOP1 MOV AL,AH RET DISPLAY ENDP
QUIT:MOV DX,D0832 MOV AL,00H OUT DX,AL MOV DX,C8279 MOV AL,0D2H OUT DX,AL HLT
LED DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FH SPD DB 60H,70H,80H,90H,0A0H
DB 0B0H,0C0H,0D0H,0E0H,0FFH DSP DB 00H,5EH,79H,79H,73H,6DH,0DEH SPDNUM DB 0 CODE ENDS END START
实验八步进电机驱动实验 一.实验要求
利用8255的PC口PC0-PC3轮流输出脉冲序列,实验机上键盘控制步进电机的转速和转动方向。
二.实验目的
1.了解控制步进电机的基本原理。 2.掌握控制步进电机转动的编程方法。 三.实验电路及连线
CS8255接200H,CS8279已固定接至238H。PC0-PC3接至SMA-SMD。
四.实验说明
1. 本实验提供的程序是供四相步进电机使用。本实验使用的步进电机用直流+12V电压,电机线圈由A、B、C、D四相组成。
2. 驱动方式为四相单四拍方式,各线圈通电顺序如下表。表中首先向A相线圈输入驱动电流,接着向B,C,D线圈通电,最后又返回到A相线圈驱动,按这种顺序轮流切换,电机轴按顺时针方向旋转。若通电顺序相反,则电机轴按逆时针方向旋转。
3. 在运行过程中,可按动小键盘的“0─9”数码键,控制步进电机的转速,按“B或C”键控制步进电机的方向,按“F”键退出。 五.实验程序框图
开始初始化有键按下Y0~9NY修改速度B或C键NY修改方向
六.实验程序: C8279 EQU 20AH
D8279 EQU 208H C8255 EQU 203H P8255C EQU 202H CODE SEGMENT
ASSUME CS:CODE,DS:CODE START:PUSH CS POP DS
INI:MOV DX,C8255 MOV AL,80H OUT DX,AL MOV DX,C8279 MOV AL,00H OUT DX,AL MOV AL,2AH OUT DX,AL MOV AL,90H OUT DX,AL
MOV AL,0D1H OUT DX,AL JMP SHORT $+2
WAIT1:IN AL,DX MOV AH,AL AND AL,80H JNZ WAIT1 MOV AL,AH AND AL,0FH CMP AL,00H JE WAIT1 LEA BX,STEP RUN:CALL CHKKEY CALL DISPLAY MOV CX,08H LOOP3:MOV DX,P8255C MOV AL,[SI] OUT DX,AL INC SI
CALL DELAY LOOP LOOP3 JMP RUN CHKKEY PROC NEAR RDKEY:MOV DX,C8279 IN AL,DX MOV AH,AL AND AL,80H CMP AL,80H JE RDKEY MOV AL,AH AND AL,0FH CMP AL,00H JE RTN
MOV AL,40H OUT DX,AL MOV DX,D8279 IN AL,DX CHK:CMP AL,15H JE QUIT
CMP AL,0AH JNC DIRE
MOV DELAYTIME,AL JMP RTN DIRE:CMP AL,12H JNE NEXT
MOV DIRDSP,40H LEA BX,STEP
共分享92篇相关文档