在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)驅(qū)動(dòng)伺服電機(jī)程序

            51單片機(jī)驅(qū)動(dòng)伺服電機(jī)程序

            作者: 時(shí)間:2016-12-01 來源:網(wǎng)絡(luò) 收藏
            51單片機(jī)除了幾款加強(qiáng)版的帶pwm,很多都不帶,所以要用51控制伺服電機(jī)很多時(shí)候就要軟件模擬pwm??戳诵┐a有的是通過延時(shí)來輸出pwm波,有的也用了定時(shí)器但是那些代碼要驅(qū)動(dòng)多路伺服電路就顯得比較麻煩。下面的代碼是通過定時(shí)器0產(chǎn)生每0.5ms一次的提醒,程序在大循環(huán)中通過調(diào)用DJ()函數(shù)可以返還值給伺服電機(jī)信號(hào)引腳,DJ()函數(shù)可以定旋轉(zhuǎn)的角度,但是因?yàn)槎〞r(shí)器設(shè)置是0.5ms的中斷這就決定了旋轉(zhuǎn)呢角度只能是-45,-90,0,45,90。如果要提高精度就要通過設(shè)置定時(shí)器的初值,改變函數(shù)的num值來達(dá)成。
            #include"reg52.h"
            unsigned int num=0;
            //舵機(jī)
            sbit DJ1=P3^6;
            sbit DJ2=P3^7; /*引腳定義*/
            int DJ(int a); //函數(shù)聲明
            timerinit() //定時(shí)器中斷初始化
            {
            TMOD=0x01; //設(shè)置定時(shí)器0為工作方式1
            EA=1; //開總中斷
            ET0=1; //定時(shí)器0中斷允許
            TH0 = (65536-500)/256; //初值使得定時(shí)器0.5毫秒溢出
            TL0 = (65536-500)%256;
            TR0=0;
            }
            main()
            {
            timerinit();
            while(1)
            {
            }
            }
            timer() interrupt 0 //0.5ms發(fā)生一次中斷,20ms后定時(shí)器置0重新計(jì)數(shù)
            {
            num++;
            DJ1=DJ(3);
            DJ2=DJ(3);
            if(num>=40)
            {
            num=0;
            TH0 = (65536-500)/256; //初值使得定時(shí)器0.5毫秒溢出
            TL0 = (65536-500)%256;
            return;
            }
            }
            int DJ(char a) //當(dāng)a=3舵機(jī)所在的位置是0度a=2 a=1分別對(duì)應(yīng)的位置是-45 -90度a=4 a=5對(duì)應(yīng)位置為45 90度
            {
            if(num>=a||num>=5)
            return 0;
            if(num>=1)
            return 1;
            }
            時(shí)間倉促還沒有測(cè)試程序的可行性(通常是沒有問題呢,呵呵),等有時(shí)間的話會(huì)繼續(xù)完善程序加上可以控制舵機(jī)旋轉(zhuǎn)速度的功能。如果要弄機(jī)器人的話還是弄塊專業(yè)的驅(qū)動(dòng)板吧,那樣調(diào)試起來會(huì)很直觀很方便呢減少許多不必要的麻煩呢。


            評(píng)論


            技術(shù)專區(qū)

            關(guān)閉