下載手機(jī)汽配人

兩相四線42步進(jìn)電機(jī)?程序?只有step?和dir?的c51程序?跪求

提問者:網(wǎng)友 2018-08-01
最佳回答
/*89C51控制步進(jìn)電機(jī)c程序 使用89C51控制四相六線步進(jìn)電機(jī), 步進(jìn)電機(jī)采用四相六線,步距角1.8度,半步工作0.9度八拍運(yùn)行。 接口如下: P15---啟動信號輸入 P14---停止信號輸入 P13---接光電傳感器 P20---輸出控制步進(jìn)電機(jī)的A相 P21---輸出控制步進(jìn)電機(jī)的B相 P22---輸出控制步進(jìn)電機(jī)的C相 P23---輸出控制步進(jìn)電機(jī)的D相 如下是我給步進(jìn)電機(jī)八拍運(yùn)行正向通電順序: P23(D相)、P22(C相)、P21(B相)、P20(A相) 第一步: 0 0 0 1 第二步: 0 0 1 1 第三步: 0 0 1 0 第四步: 0 1 1 0 第五步: 0 1 0 0 第六步: 1 1 0 0 第七步: 1 0 0 0 第八步: 1 0 0 1 使用光電傳感器的輸出作為脈沖信號,光電接收管的后面加一個三極管做信號放大。 光電傳感器前有個齒盤,齒空的間隔距離是相等的,要求齒盤每移動一格, 光電傳感器輸出一個脈沖,步進(jìn)電機(jī)移動一個角度0.9度。齒盤轉(zhuǎn)動的速度不固定, 可能快也可能慢。步進(jìn)電機(jī)沒有轉(zhuǎn)動之前,齒盤一直是轉(zhuǎn)動的, 只有按下啟動按鈕步進(jìn)電機(jī)才開始轉(zhuǎn)動。 #include #define uint unsigned int #define uchar unsigned char sbit START = P1^5; sbit STOP = P1^4; sbit COM = P1^3; //電機(jī)接在低4位,接在其他位可修改數(shù)組。 uchar code lab[8]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09}; void Mdelay(uchar x) {uchar j,k; for(j=x;j>0;j--) { for(k=124;k>0;k--) {;} } } //步進(jìn)程序,調(diào)用一次程序,移動一步, //參數(shù):方向,1為正轉(zhuǎn),0為反轉(zhuǎn)。 void motormove(uchar dir) { static step=0; P2&=0xf0; if(dir) { if(step<=7) { P2|=lab[step++];} else {step=0;P2|=lab[step];} } else { if(step==0) {P2|=lab[step];step=7;} if(step>0) {P2|=lab[step--
回答者:網(wǎng)友
產(chǎn)品精選
搜索問答
還沒有汽配人賬號?立即注冊

我要提問

汽配限時折扣

本頁是網(wǎng)友提供的關(guān)于“兩相四線42步進(jìn)電機(jī)?程序?只有step?和dir?的c51程序?跪求”的解答,僅供您參考,汽配人網(wǎng)不保證該解答的準(zhǔn)確性。