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

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

QQ登錄

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

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

51單片機(jī)驅(qū)動(dòng)伺服電機(jī)我這個(gè)程序思路可行嗎?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
6黑幣
用51單片機(jī)來(lái)驅(qū)動(dòng)伺服電機(jī),電機(jī)連接絲杠,帶動(dòng)絲杠轉(zhuǎn)動(dòng)。
驅(qū)動(dòng)伺服電機(jī),跟步進(jìn)電機(jī)差不多,都是輸出脈沖。

我想用一個(gè)程序同時(shí)實(shí)現(xiàn)幾個(gè)功能。

功能:點(diǎn)動(dòng)(點(diǎn)一下,動(dòng)一下)、正反轉(zhuǎn)改變、加減速、停止
我是這樣想:
簡(jiǎn)單的話(huà),就多設(shè)幾個(gè)按鍵,通過(guò)按鍵,按哪個(gè)就實(shí)現(xiàn)哪個(gè)功能。

復(fù)雜的話(huà),就設(shè)置3個(gè)模式,模式1,模式2,模式3。這樣就能少用些按鍵。
我想弄復(fù)雜點(diǎn)的。

模式1:準(zhǔn)備模式,led燈閃爍。
模式2:自由模式,按鍵2——點(diǎn)動(dòng),按鍵3——只發(fā)送4000個(gè)脈沖,按鍵4——正反轉(zhuǎn)改變
模式3:往復(fù)循環(huán)模式(用限位開(kāi)關(guān)改變方向),按鍵2——加速,按鍵3——減速,按鍵4——停止/啟動(dòng)

通過(guò)按鍵1來(lái)切換模式

想法是:
1、用外部中斷來(lái)做按鍵1設(shè)置,按一下按鍵1,就進(jìn)行外部中斷,外部中斷程序里,標(biāo)志mode++,回到程序,判斷標(biāo)志mode是否改變,改變了就跳出程序,回到主函數(shù),找到相應(yīng)的模式,進(jìn)入相應(yīng)的程序。
2、模式3,用內(nèi)部中斷,來(lái)不斷發(fā)出脈沖,通過(guò)按鍵2、3改變頻率,實(shí)現(xiàn)加減速。

程序:
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char

//先省略?xún)?nèi)外部中斷程序
void main()
{
   while(1)
  {
     while(1)
        {
               if(key1 == 0)  //這個(gè)就是按鍵1,切換模式。用1根杜邦線(xiàn)把P32和P37相接,每按下按鍵1就會(huì)進(jìn)入一次中斷。
                        {
                                delay(20);//按鍵消抖
                                if(key1 == 0)
                                {
                                        flag = 0;
                                        flag = 0;//產(chǎn)生低電平
                                        flag = 1;//結(jié)束低電平
                                        while(!key1);//松手檢測(cè)
                                }        
                        }

                if(1 == mode)
                        mode_1();  //檢測(cè)到mode等于1,就進(jìn)入mode_1函數(shù)里面
                if(2 == mode)
                        mode_2();  //檢測(cè)到mode等于2,就進(jìn)入mode_2函數(shù)里面
                if3 == mode)
                        mode_3();  //檢測(cè)到mode等于3,就進(jìn)入mode_3函數(shù)里面
                                
        }

  }  
}

mode_1()  模式1
{
    led燈閃爍;
    判斷標(biāo)志mode是否改;(若改變,return跳出mode_1函數(shù),回到主函數(shù),根據(jù)標(biāo)志mode進(jìn)入子函數(shù))
}

mode_2() 模式2
{
    按鍵2,就實(shí)現(xiàn)點(diǎn)動(dòng);
    按鍵3,發(fā)送4000個(gè)脈沖;
    按鍵4,正反轉(zhuǎn)改變;
    判斷標(biāo)志mode是否改;(若改變,return跳出mode_2函數(shù),回到主函數(shù),根據(jù)標(biāo)志mode進(jìn)入子函數(shù))
}

mode_3() 模式3
{
    內(nèi)部中斷函數(shù);
    按鍵2,加速;
    按鍵3,減速;
    按鍵4,停止發(fā)送脈沖/啟動(dòng)發(fā)送脈沖;
    判斷標(biāo)志mode是否改;(若改變,return跳出mode_2函數(shù),回到主函數(shù),根據(jù)標(biāo)志mode進(jìn)入子函數(shù))
}

想問(wèn)問(wèn)各位大佬,這樣寫(xiě),思路有沒(méi)有問(wèn)題,能不能實(shí)現(xiàn),是否有更好的思路來(lái)寫(xiě),求解啊!!!不知道行不行才是可怕

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:584814 發(fā)表于 2020-4-15 15:18 | 只看該作者
是想聽(tīng)夸獎(jiǎng)么 ? 你真是天下第一的棒棒棒耶
自己不寫(xiě)出來(lái)不試,你當(dāng)別人都是你雇來(lái)的伙計(jì)
回復(fù)

使用道具 舉報(bào)

板凳
ID:730069 發(fā)表于 2020-5-10 18:00 | 只看該作者
沒(méi)有問(wèn)題直接仿真運(yùn)行
回復(fù)

使用道具 舉報(bào)

地板
ID:748837 發(fā)表于 2020-5-11 09:40 | 只看該作者
應(yīng)該沒(méi)問(wèn)題的,關(guān)鍵是控制發(fā)脈沖的個(gè)數(shù)。現(xiàn)實(shí)中用到很多的
回復(fù)

使用道具 舉報(bào)

5#
ID:748862 發(fā)表于 2020-5-11 10:06 | 只看該作者
思路應(yīng)該沒(méi)問(wèn)題,寫(xiě)出來(lái)程序仿真一下
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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