功能描述

1、51+Proteus8.10;

2、学习2003驱动芯片,正反转程序;

仿真设计

5048-按键控制电机正反转-单片机仿真设计_嵌入式硬件

程序设计

ORG		00H
START:	MOV		DPTR,#TAB1
		MOV		R0,#03
		MOV		R4,#0
		MOV		P1,#3

WAIT:	MOV		P1,R0			;初始角度,0度 
		MOV		P0,#0FFH
		JNB		P3.6,POS	 	;判断键盘状态
		JNB		P3.7,NEG
		SJMP	WAIT

JUST:	JB		P3.7,NEG		;首次按键处理
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

					
KEY:	MOV		P0,#03H			;读键盘情况
		MOV		A,P1				
		JB		P3.6,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		P3.7,KEY
	 	CJNE	R4,#255,LOOPF	;是结束标志
		MOV		R4,#7
LOOPF:	DEC		R4
		MOV		A,R4
		MOVC	A,@A+DPTR
		MOV		P1,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