用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#属于一种什么汇编语言
下一个:求大神用汇编语言写个闹钟!!只要分针和秒针!!