<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)控制舵機(jī)的C51程序

          單片機(jī)控制舵機(jī)的C51程序

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

          用stc89c51單片機(jī)來(lái)控制的程序,測(cè)試成功,僅供大家參考.

          #include "reg52.h"unsigned char count;      //0.5ms次數(shù)標(biāo)識(shí)sbit pwm =P3^0 ;          //PWM信號(hào)輸出sbit jia =P3^7;           //角度增加按鍵檢測(cè)IO口sbit jan =P3^6;           //角度減少按鍵檢測(cè)IO口unsigned char jd;         //角度標(biāo)識(shí)void delay(unsigned char i)//延時(shí){unsigned char j,k;for(j=i;j>0;j--)for(k=125;k>0;k--);}void Time0_Init()          //定時(shí)器初始化{TMOD = 0x01;           //定時(shí)器0工作在方式1    IE   = 0x82;TH0  = 0xfe;TL0  = 0x33;     //11.0592MZ晶振,0.5msTR0=1;                 //定時(shí)器開(kāi)始}void Time0_Int() interrupt 1 //中斷程序{TH0  = 0xfe;             //重新賦值TL0  = 0x33;if(count jd)              //判斷0.5ms次數(shù)是否小于角度標(biāo)識(shí)pwm=1;                  //確實(shí)小于,PWM輸出高電平elsepwm=0;                  //大于則輸出低電平count=(count+1);          //0.5ms次數(shù)加1count=count%40;     //次數(shù)始終保持為40 即保持周期為20ms}void keyscan()              //按鍵掃描{ if(jia==0)               //角度增加按鍵是否按下{delay(10);              //按下延時(shí),消抖if(jia==0)              //確實(shí)按下{jd++;                 //角度標(biāo)識(shí)加1count=0;              //按鍵按下 則20ms周期從新開(kāi)始if(jd==6)jd=5;               //已經(jīng)是180度,則保持while(jia==0);        //等待按鍵放開(kāi)}}if(jan==0)                //角度減小按鍵是否按下{delay(10);if(jan==0){jd--;                 //角度標(biāo)識(shí)減1count=0;if(jd==0)jd=1;               //已經(jīng)是0度,則保持while(jan==0);}}}void main(){jd=1;count=0; Time0_Init();              while(1){keyscan();               //按鍵掃描}}


          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();