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

📄 main.asm

📁 这是接口课程设计时做的一个控制电机转动的程序
💻 ASM
字号:
DC0809 EQU 1400H
8255 EQU 1440H


STACK SEGMENT STACK
	DB 100 DUP(?)
STACK ENDS

DATA SEGMENT PUBLIC
	frequency DB ? 	;the speed of stepping motor and singing
	sequnce DB 05H,0CH,0AH,03H	;the driver of stepping motor
	index DB 0H		;the index of array 
	direction DB 0H	;rotate direction
DATA ENDS


CODE SEGMENT PUBLIC
	ASSUME CS:CODE
	
	main PROC FAR
		start:
			call initParallel
						
			next:							 
				MOV DX,1402H
				OUT DX,AL
				CALL delay
				
				IN AL,DX
				CALL delay
				
				CALL getFrequency
				MOV CL,frequency
				
				
				MOV AH,0BH
				INT 21H
				CMP AL,0
				JNZ exit
				LOOP next
			exit:
				NOP
	main ENDP
	
	rotate PROC NEAR
		MOV SI,index
		MOV AL,sequnce[SI]
		ADD SI,01H
		
		MOV DX,8255
		ADD DX,02H
		OUT DX,AL
	rotate ENDP	
	
	initParallel PROC NEAR
		PUSH DX
		PUSH AX
	
		MOV DX,DC0809
		ADD DX,03H		
		MOV AL,01H
		OUT DX,AL
		NOP
		
		POP AX
		POP DX
		RET	
	initParallel ENDP
	
	delay PROC NEAR
		MOV CX,30H
		count:
			NOP
			LOOP count
		RET
	delay ENDP
	
	
	getFrequency PROC NEAR
		PUSH DX	
		PUSH AX	
		
		MOV DX,1400H
		OUT DX,AL
		CALL delay
		
		IN AL,DX
		CALL delay		
		MOV frequency,AL
		
		POP AX
		POP DX
		RET			
	getFrequency ENDP
	
	setFrequency PROC NEAR
		
	setFrequency ENDP
CODE ENDS 
	END START

⌨️ 快捷键说明

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