欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2184|回復: 1
收起左側

42步進電機設置速度,及鍵控正反轉的單片機代碼問題。

[復制鏈接]
ID:575020 發表于 2019-8-3 11:11 | 顯示全部樓層 |閱讀模式
用stc89c52rc連接l298n驅動42步進電機,連線圖如下,in1-4接p1口,按鍵接p2口,out1-4分別接電機1346腳,2和5腳是空的,1-4和3-6為電機2個線圈。
線路圖4.jpg


網上下了些代碼,純正反轉代碼下到單片機里,基本正常,鍵控正反轉,電機就經常卡死、抖動,代碼如下,不知有什么問題沒,還有電機轉速較慢,看代碼里有延時參數,搞不懂y、i、j、k都是什么意思,改小了也容易出問題,還有我看不同人的代碼,電機相同拍數參數都不一樣,4拍和8拍哪個好,有啥區別?
現在要求按1鍵正傳,2鍵反轉,3鍵正傳3圈后再反轉3圈(實際要求11圈),我已經研究好幾天了,希望高手能不吝寶貴時間,稍微指教一下。

#include<reg52.h>  
code unsigned char Frun[8]={ 0x0e,0x0c,0x0d,0x09,0x0b,0x03,0x07,0x06};
code unsigned char Zrun[8]={ 0x03,0x0b,0x09,0x0d,0x0c,0x0e,0x06,0x07};
unsigned char a,b,s,i,j,k;
unsigned char z,y;
sbit KEY1=P2^0;
sbit KEY2=P2^1;
sbit KEY3=P2^2;
void delay(i)//延時函數
{
for(j=0;j<i;j++)
for(k=0;k<80;k++);
}
main()
{
        //按鍵正傳
{
        y=2;            //定義延時時間,時間越長電機轉速越慢反之則快        
        if(KEY1==0)
{
        for(z=0;z<8;z++)
{
        P1=Zrun[z];
        delay(y);
}
}
}
        //按鍵反傳
{
        y=2;            //定義延時時間,時間越長電機轉速越慢反之則快        
        if(KEY2==0)
{
        for(z=0;z<8;z++)
{
        P1=Frun[z];
        delay(y);
}
}
}
        //按鍵正傳3圈然后反轉3圈
{
y=2;            //定義延時時間,時間越長電機轉速越慢反之則快
a=150;    //正傳3圈
b=150;    //反傳3圈
if(KEY3==0)
{
while(a--)
{
for(z=0;z<8;z++)
{
P1=Zrun[z];
delay(y);
}
}
}

{
while(b--)
{
for(z=0;z<8;z++)
{
P1=Frun[z];
delay(y);
}
}
}

}
}


回復

使用道具 舉報

ID:575020 發表于 2019-8-4 12:47 | 顯示全部樓層
試了好多次,轉速始終上不去,而且力矩還很小,轉起來,手都能捏停。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表