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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于51單片機驅動S8330E C語言程序

          基于51單片機驅動S8330E C語言程序

          作者: 時間:2016-11-30 來源:網絡 收藏
          //S8330E是日本精工的一個電源IC,需要軟件調節(jié)電壓輸出值
          #include
          #include
          sbit DIN = P1^0;
          sbit CLK = P1^1;
          sbit STB = P1^2;
          sbit Key = P3^4;
          sbit LED = P1^7;

          void Delay(unsigned int MS)
          {
          unsigned char us,usn;
          while(MS!=0)
          {
          usn = 2; //for 12M
          while(usn!=0)
          {
          us=0xf6;
          while (us!=0){us--;};
          usn--;
          }
          MS--;
          }
          }

          void DelayKey(unsigned int Second , unsigned int MS100)
          { //輸入精確到0.1S,是用,
          unsigned int i;
          for(i=0;i {
          if(Key==0)
          {
          Delay(20);
          while(Key==0) {Delay(20);}
          break;
          }
          else Delay(10);
          }
          }

          void LEDOnOfF(unsigned char n)
          {
          unsigned char i;
          LED = 1;
          for(i=0;i<2*n;i++)
          {
          LED = ~LED;
          Delay(30);
          }
          }

          void SetVout(unsigned char lv)
          {
          unsigned char i;
          STB = 0; //芯片資料有點問題,只需要在STB=0時送數據,然后STB=1即有效
          for(i=0;i<8;i++) //而不需要前后各一個脈沖,芯片說在SEB=0時候Vout輸出Min也不對
          { //只有前面時序圖似乎有點正確,后面的詳細操作過程說明有些問題
          DIN = (lv>>(7-i))&0x01;
          CLK = 0;
          _nop_();
          _nop_();
          _nop_();
          _nop_();
          _nop_();
          _nop_();
          CLK = 1;
          _nop_();
          _nop_();
          _nop_();
          _nop_();
          _nop_();
          _nop_();

          }
          CLK = 0; //送完一組數據后,CLK須為0,見時序圖,否則輸入數據無效
          STB = 1;
          LEDOnOfF(3);
          }

          void main (void)
          {
          unsigned char i;
          Delay(10);
          DelayKey(1,0);
          LEDOnOfF(1);
          DelayKey(1,0);
          for(i=0;i<=255;i=i+5)
          {
          SetVout(i);
          DelayKey(0,2);
          }
          }


          評論


          技術專區(qū)

          關閉
          看屁屁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); })();