当前位置:编程学习 > 汇编语言 >>

用8255A 和汇编语言设计下面的步进电机!!!无比感谢!!

题目二十七:步进电动机控制系统 送电时,步进马达停止,彩灯全部点亮; 拨动按钮开关,步进马达正转,彩灯产生正向循环运转; 拨动按钮开关,步进马达逆转,彩灯产生反向循环运转; 拨动按钮开关,步进马达停止运转,彩灯全部点亮; 用数码管显示步进电机的圈数。
答案:我刚好做过,但是不是彩灯,用开关控制正反转,并通过灯来现在状态,
还可以调速, 希望对你有帮助.
REP:MOV R0,#0
;;;;;;按键判断;;;;;;;;
LOOP:CALL ZHFA	  ;正反DPTR
	CALL SPEED	  ;速度R1
	JBC F0,OFFL	 ;无效/有效操作
	MOV P0,P2	 ;开提示灯
	JMP NEXT
OFFL:MOV P0,#0FFH  ;关闭指示灯
	JMP LOOP
;;;;;;电机输出;;;;;;;;
NEXT:CALL DELAY
	MOV A,R0
	MOVC A,@A+DPTR
	MOV P1,A
	INC R0
	CJNE R0,#4,LOOP
	JMP REP
;;;;;;正反转;;;;;;;;;;;
ZHFA:MOV A,P2
	ORL A,#3FH
ZHE:CJNE A,#0BFH,FAN
	MOV DPTR,#TAB1
	JMP ZFOK
FAN:CJNE A,#7FH,STOP1
	MOV DPTR,#TAB2
	JMP ZFOK
STOP1:SETB F0
ZFOK:RET
;;;;;;;速度设置;;;;;;;;
SPEED:MOV A,P2
	ORL A,#0C0H
SD1:CJNE A,#0FEH,SD2
	MOV R1,#5
	JMP SDOK
SD2:CJNE A,#0FDH,SD3
	MOV R1,#45
	JMP SDOK
SD3:CJNE A,#0FBH,SD4
	MOV R1,#90
	JMP SDOK
SD4:CJNE A,#0F7H,SD5
	MOV R1,#135
	JMP SDOK
SD5:CJNE A,#0EFH,SD6
	MOV R1,#180
	JMP SDOK
SD6:CJNE A,#0DFH,STOP2
	MOV R1,#225
	JMP SDOK
STOP2:SETB F0
SDOK:RET
;;;;;;延时子程序;;;;;;;
DELAY:MOV R4,#249
DL: NOP
	NOP
	DJNZ R4,DL
	DJNZ R1,DELAY
	RET
;;;;;;转序表;;;;;;;;;;;;
TAB1:DB 03H,06H,0CH,09H
TAB2:DB 09H,0CH,06H,03H
END

上一个:C#属于一种什么汇编语言
下一个:求大神用汇编语言写个闹钟!!只要分针和秒针!!

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,