<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 步進(jìn)電機正反轉和加速減速c源程序

步進(jìn)電機正反轉和加速減速c源程序

作者: 時(shí)間:2012-12-05 來(lái)源:網(wǎng)絡(luò ) 收藏

這是一個(gè)群里朋友發(fā)給我的實(shí)現正轉反轉和的單片機c語(yǔ)言源程序,這里給大家共享下,有需要的朋友直接復制到keil里編譯就可以了,程序已測試成功。

/*****************************************
單4拍正轉 zheng[]={0x01,0x08,0x04,0x02}
單4拍反轉 fang[]={0x01,0x02,0x04,0x08}

雙4拍正轉 zheng[]={0x09,0x0c,0x06,0x03}
雙4拍反轉 fang[]={0x03,0x06,0x0c,0x09}

單雙8拍正轉 zheng[]={0x01,0x09,0x08,0x0c,0x04,0x06,0x02,0x03}
單雙8拍反轉 fang[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09}
*****************************************/

#include"reg51.h"
#include"intrins.h"
#define uchar unsigned char
#define uint unsigned int
bit front_move,back_move;

uchar jzaj(void); //單4拍正轉 zheng[]={0x01,0x08,0x04,0x02}; 單4拍反轉 fang[]={0x01,0x02,0x04,0x08};
void ajcl(uchar jz);
void delay(uchar del);

uchar code zheng[]={0x01,0x09,0x08,0x0c,0x04,0x06,0x02,0x03};
uchar code fang[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};

void timer0() interrupt 1
{
static uchar jz;
TH0=0xfc;
TL0=0x18;
jz=jzaj();
if(jz)
ajcl(jz);
}

//程序
//實(shí)用于51系列單片機 http://www.51hei.com首發(fā),程序運行有問(wèn)題請聯(lián)系本站。
void main()
{
uchar count=0;
TMOD=0x01;
TH0=0xFC;
TL0=0x18;
TR0=1;
ET0=1;
EA=1;
while(1)
{
if(front_move)
{
P2=zheng[count];
delay(100);
count++;
if(count==8) count=0;
}
if(back_move)
{
P2=fang[count];
delay(100);
count++;
if(count==8) count=0;
}
}
}

uchar jzaj(void)
{
uchar hz,lz;
P1=0xf0; //置所有行為低電平,行掃描,列線(xiàn)輸入(此時(shí))
if((P10xf0)!=0xf0) //判斷是否有有鍵按下(讀取列的真實(shí)狀態(tài),若第4列有鍵按下則P1的值會(huì )變成0111 0000),有往下執行
{
delay(10); //延時(shí)去抖動(dòng)(10ms)
if((P10xf0)!=0xf0) //再次判斷列中是否是干擾信號,不是則向下執行
{
hz=0xfe; //逐行掃描初值(即先掃描第1行)
while((hz0x10)!=0) //行掃描完成時(shí)(即4行已經(jīng)全部掃描完成)sccode為1110 1111 停止while程序
{
P1=hz; //輸出行掃描碼
if ((P1hz)!=hz) //***(P20xf0)!=0xf0***也可這樣 本行有鍵按下(即P1(真實(shí)的狀態(tài))的高四位不全為1)
{
lz=(P10xf0)|0x0f; //列
while((P10xf0)!=0xf0);
return((~hz)|(~lz)); //返回行和列
break; //有按鍵返回 提前退出循環(huán)

}
else //所掃描的行沒(méi)有鍵按下,則掃描下一行,直到4行都掃描,此時(shí)sccode值為1110 1111 退出while程序
hz=_crol_(hz,1);//行掃描碼左移一位

}
}
}
else
return 0; //無(wú)鍵按下,返回0
}
void ajcl(uchar jz)
{
if(jz==0x11)
{
back_move=0;
front_move=1;
}
if(jz==0x21)
{
front_move=0;
back_move=1;
}
if(jz==0x41)
{
P2=0x00;
front_move=0;
back_move=0;
}

}
void delay(uchar del)
{
uchar i;
for(;del>0;del--)
for(i=0;i125;i++)
{;}
}

c語(yǔ)言相關(guān)文章:c語(yǔ)言教程




評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>