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

📄 auto motor.asm

📁 51单片机对进步电机的简单控制方式
💻 ASM
字号:
       ORG	0000H

START:	MOV	DPTR,#TAB1
	MOV	R0,#03
	MOV	R3,#0
	MOV     R4,#0
	MOV	P1,#3
;=============================================================第一次键盘检测
WAIT:	MOV	P1,R0			;初始角度,0度
	MOV	P0,#0FFH
        JNB	P0.0,POS	 	;判断键盘状态
	JNB	P0.1,NEG
        JNB	P0.2,POS1	 	;判断键盘状态
	JNB	P0.3,NEG1
        SJMP	WAIT
;==============================================================首次跳入
POS:	MOV	A,R4			;正转9度
	MOVC	A,@A+DPTR
	MOV	P1,A
	ACALL	DELAY
	INC	R4
	AJMP	KEY
NEG:	MOV	R4,#6			;反转9度
	MOV	A,R4
	MOVC	A,@A+DPTR
	MOV	P1,A
	ACALL	DELAY
	AJMP	KEY

POS1:	MOV	A,R3			;正转9度
	MOVC	A,@A+DPTR
	MOV	P2,A
	ACALL	DELAY
	INC	R3
	AJMP	KEY
NEG1:	MOV	R3,#6			;反转9度
	MOV	A,R3
	MOVC	A,@A+DPTR
	MOV	P2,A
	ACALL	DELAY
	AJMP	KEY
;==========================================================开始检测
KEY:	
	JB	P0.0,FZ1
	CJNE	R4,#8,LOOPZ		;是结束标志
	MOV	R4,#0
LOOPZ:	MOV	A,R4
	MOVC	A,@A+DPTR
	MOV	P1,A			;输出控制脉冲
	ACALL	DELAY			;程序延时
	INC	R4				;地址加1
	AJMP	KEY
FZ1:	JB	P0.1,FZ2
	CJNE	R4,#255,LOOPF	;是结束标志
	MOV	R4,#7
LOOPF:	DEC	R4
	MOV	A,R4
	MOVC	A,@A+DPTR
	MOV	P1,A			;输出控制脉冲
	ACALL	DELAY			;程序延时
	AJMP	KEY
FZ2:    JB      P0.2,FZ3
	CJNE	R3,#8,LOOPZ1		;是结束标志
	MOV	R3,#0
LOOPZ1:	MOV	A,R3
	MOVC	A,@A+DPTR
	MOV	P2,A			;输出控制脉冲
	ACALL	DELAY			;程序延时
	INC	R3				;地址加1
	AJMP	KEY
FZ3:    JB     P0.3,KEY
	CJNE	R3,#255,LOOPF1	;是结束标志
	MOV	R3,#7
LOOPF1:	DEC	R3
	MOV	A,R3
	MOVC	A,@A+DPTR
	MOV	P2,A			;输出控制脉冲
	ACALL	DELAY			;程序延时
	AJMP	KEY
;======================================================主要延时
DELAY:	MOV	R6,#5
DD1:	MOV	R5,#080H
DD2:	MOV	R7,#0
DD3:	DJNZ	R7,DD3
	DJNZ	R5,DD2
	DJNZ	R6,DD1
	RET
TAB1:	DB	02H,06H,04H,0CH
	DB	08H,09H,01H,03H	;正转模型资料
        
	END

⌨️ 快捷键说明

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