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

          新聞中心

          51單片機-流水燈

          作者: 時間:2016-12-02 來源:網(wǎng)絡(luò) 收藏

          這個是原理圖,從圖中最右邊有一個排阻,也就是這里八個電阻封裝在一起,這里排阻的特點是八個
          電阻有一個公共端,然后一個電源VCC通過跳線與排阻相連。到達二極管的電流從正極流向負極,如
          果二極管負極是低電平,則電流流過二極管,發(fā)光二極管亮起來。負極接在單片機的P2端口上。也就
          是說P2的引腳位低電平時可驅(qū)動發(fā)光二極管發(fā)光。驅(qū)動各個燈閃爍的方法是把各位循環(huán)左移,使用函數(shù)
          _crol_。
          #include
          #include
          unsigned int a;
          void delay(){
          int i,j;
          for(i = 0; i < 0xff; i++)
          for(j = 0; j < 0xff; j++)
          ;
          }
          void liushui(){
          int i,dd;
          dd = 0xfe; //dd = 1111 1110 此時L9亮
          for(i = 0; i < 8; i++){
          P2 = dd;
          delay();
          dd = _crol_(dd,1); //循環(huán)左移一位 dd = 1111 1101
          }
          }
          void main(){
          while(1){
          liushui();
          }
          }
          流水燈向左流動,當(dāng)按住獨立按鍵時,流水燈向右移動:
          #include
          #include
          unsigned int dd;
          sbit key = P1^0;
          void delay(){
          int i,j;
          for(i = 0; i < 0x2a; i++)
          for(j = 0; j < 0xff; j++)
          ;
          }
          void right(){
          P2 = dd;
          delay();
          dd = _crol_(dd,1);
          }
          void left(){
          P2 = dd;
          delay();
          dd = _cror_(dd,1);
          }
          void main(){
          dd = 0xfe;
          while(1){
          if(key == 1)
          right();
          else {
          delay();
          if(key == 0)
          left();
          }
          }
          }
          PWM調(diào)制使流水燈漸滅,改變占空比。
          1. #include
          2. #include
          3. #define uint unsigned int
          4. uint a;
          5.
          6. void delay(uint t){
          7. int i,j;
          8. for(i = 0; i < t; i++)
          9. for(j = 0; j < 0xff; j++)
          10. ;
          11. }
          12.
          13. void liushui(){
          14. int i,dd;
          15. dd = 0xfe; //dd = 1111 1110 此時L9亮
          16. for(i = 0; i < 8; i++){
          17. P2 = dd;
          18. delay(1000);
          19. dd = _crol_(dd,1); //循環(huán)左移一位 dd = 1111 1101
          20. P2 = 0xff;
          21. delay(300);
          22. }
          23. }
          24. void main(){
          25. while(1){
          26. liushui();
          27. }
          28. }


          關(guān)鍵詞: 51單片機流水

          評論


          技術(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); })();