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

          新聞中心

          51單片機(jī)-流水燈

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

          這個(gè)是原理圖,從圖中最右邊有一個(gè)排阻,也就是這里八個(gè)電阻封裝在一起,這里排阻的特點(diǎn)是八個(gè)
          電阻有一個(gè)公共端,然后一個(gè)電源VCC通過(guò)跳線與排阻相連。到達(dá)二極管的電流從正極流向負(fù)極,如
          果二極管負(fù)極是低電平,則電流流過(guò)二極管,發(fā)光二極管亮起來(lái)。負(fù)極接在單片機(jī)的P2端口上。也就
          是說(shuō)P2的引腳位低電平時(shí)可驅(qū)動(dòng)發(fā)光二極管發(fā)光。驅(qū)動(dòng)各個(gè)燈閃爍的方法是把各位循環(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 此時(shí)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),當(dāng)按住獨(dú)立按鍵時(shí),流水燈向右移動(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 此時(shí)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單片機(jī)流水

          評(píng)論


          技術(shù)專(zhuān)區(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); })();