找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 1700|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

求看下這段程序怎么改才能自如控制兩個(gè)電機(jī)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:267968 發(fā)表于 2017-12-28 15:52 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
ORG 1000H

MAINZ: MOV R2,#04H     ;設(shè)置步進(jìn)電動(dòng)機(jī)運(yùn)行方式四拍
LOOPZ: JB P0.5,LOOPZ   ;Z啟停按鈕是否按下      
JB P0.4,POSZ     ;是否為正轉(zhuǎn)      
AJMP NEGZ        ;否則為反轉(zhuǎn)

POSZ:MOV DPTR,#TABLE1        ;正轉(zhuǎn)
LOOP1Z:CLR A
MOVC A,@A+DPTR      
MOV P2,A
INC DPTR      
JNB P0.3,LOOP2Z    ;是否提速      
MOV R5,#2      
ACALL DELAY
LOOP2Z:MOV R5,#1      
ACALL DELAY      
DJNZ R2,LOOP1Z      
AJMP MAINZ

NEGZ:  MOV DPTR,#TABLE2;反轉(zhuǎn)
LOOP3Z:CLR A      
MOVC A,@A+DPTR      
MOV P2,A   
INC DPTR      
JNB P0.3,LOOP4Z   ;是否提速      
MOV R5,#10      
ACALL DELAY
LOOP4Z:MOV R5,#1      
ACALL DELAY      
DJNZ R2,LOOP3Z      
AJMP MAINZ


MAINX: MOV R4,#04H     ;設(shè)置步進(jìn)電動(dòng)機(jī)運(yùn)行方式四拍
LOOP: JB P0.2,LOOP   ;啟停按鈕是否按下      
JB P0.1,POS     ;是否為正轉(zhuǎn)      
AJMP NEG        ;否則為反轉(zhuǎn)

POS:MOV DPTR,#TABLE1        ;正轉(zhuǎn)
LOOP1:CLR A
MOVC A,@A+DPTR      
MOV P1,A      
INC DPTR      
JNB P0.0,LOOP2    ;是否提速      
MOV R5,#2      
ACALL DELAY
LOOP2:MOV R5,#1      
ACALL DELAY      
DJNZ R4,LOOP1      
AJMP MAINX

NEG:  MOV DPTR,#TABLE2;反轉(zhuǎn)
LOOP3:CLR A      
MOVC A,@A+DPTR      
MOV P1,A      
INC DPTR      
JNB P0.0,LOOP4   ;是否提速      
MOV R5,#10      
ACALL DELAY
LOOP4:MOV R5,#1      
ACALL DELAY      
DJNZ R4,LOOP3      
AJMP MAINX

TABLE1:DB  03H,06H,0CH,09H
TABLE2:DB  03H,09H,0CH,06H





DELAY:MOV R7,#200      
NOP
DEL1: MOV R6,#123
DEL2: DJNZ R6,DEL2      
DJNZ R7,DEL1                  
DJNZ R5,DELAY ;延時(shí)[1+(1+1+2*123+2*200+2]*R5  um
即0.5s實(shí)現(xiàn)30r/min或0.05s實(shí)現(xiàn)300r/min        
RET      
END
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表