⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bjdj.asm

📁 汇编程序
💻 ASM
字号:
;FILENAME: BJDJ.ASM
;内容: 步进电机控制
P55A    EQU    88H          		;8255A口输出
P55C  	 EQU   	28AH     		;8255C口输入
P55CTL  EQU  	28BH     		;8255控制口
DATA 	SEGMENT
BUF    	DB      0
MES    	DB     	'K0-K6 ARE SPEED CONTROL', 0AH, 0DH
      	DB   	'K6 IS THE LOWEST SPEED', 0AH, 0DH
      	DB     	'K0 IS THE HIGHEST SPEED', 0AH, 0DH
       	DB     	'K7 IS THE DIRECTION CONTROL', 0AH, 0DH, '$'
DATA  	ENDS
CODE  	SEGMENT
     	ASSUME   CS:CODE, DS:DATA
START:	MOV     AX, CS
       	MOV     DS, AX
      	MOV     AX, DATA
       	MOV     DS, AX
       	MOV     DX, OFFSET MES
       	MOV     AH, 09
       	INT     21H
       	MOV     DX, P55CTL
       	MOV     AL, 8BH
       	OUT     DX, AL         		;8255C输入,  A输出
       	MOV     BUF, 33H
OUT1: 	MOV     AL, BUF
       	MOV     DX, P55A
       	OUT     DX, AL
       	PUSH    DX
       	MOV     AH, 06H
       	MOV     DL, 0FFH
      	INT     21H            		;有无键按下
       	POP     DX
       	JE       IN1
       	MOV       AH, 4CH
      	INT      21H
 IN1: 	MOV     DX, P55C         
	IN        AL,DX      	  	;读开关状态
       	TEST      AL, 01H
       	JNZ       K0
       	TEST      AL, 02H
       	JNZ       K1
       	TEST      AL, 04H
      	JNZ       K2
       	TEST      AL, 08H
       	JNZ       K3
       	TEST      AL, 10H
       	JNZ       K4
       	TEST      AL, 20H
       	JNZ       K5
       	TEST      AL, 40H
      	JNZ       K6
STOP: 	MOV       DX, P55A
       	MOV       AL, 0FFH
     	JMP       OUT1
K0:   	MOV      BL, 10H
SAM:  	TEST      AL, 80H     		;K7是否为1
       	JZ       ZX0
      	JMP      NX0
K1:   	MOV      BL, 18H
      	JMP      SAM
K2:   	MOV      BL, 20H
      	JMP      SAM
K3:   	MOV      BL, 40H
      	JMP      SAM
K4:   	MOV      BL, 80H
       	JMP      SAM
K5:   	MOV      BL, 0C0H
       	JMP      SAM
K6:   	MOV      BL, 0FFH
       	JMP      SAM
ZX0:  	CALL     DELAY
       	MOV      AL, BUF
    	ROR      AL, 1         		循环右移
     	MOV      BUF, AL
     	JMP      OUT1
NX0:  	CALL     DELAY
      	MOV      AL, BUF
       	ROL      AL, 1        		;循环左移
       	MOV      BUF, AL
       	JMP      OUT1
DELAY 	PROC     NEAR
DELAY1:    
	MOV      CX, 05A4H
DELAY2:     
LOOP   	  DELAY2
     	DEC      BL
      	JNZ      DELAY1
       	RET
DELAY 	ENDP
CODE  	ENDS
       	END      START

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -