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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于51單片機(jī)的各種花樣的流水燈c51程序

          基于51單片機(jī)的各種花樣的流水燈c51程序

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

          **************************************

          /*-----------------------------------------------
          功能:燈(單向單閃爍+單向雙閃爍)

          ------------------------------------------------*/

          #includereg52.h>
          #define uint unsigned int
          void delay(uint);
          main()
          {
          uint fre=0x04;
          uint comp1=0xfe,comp2=0x80;
          while(1)
          {
          /*-------------------------------------------------------------------

          模塊1:循環(huán)單向閃爍,只有一個(gè)燈亮滅
          執(zhí)行3次,轉(zhuǎn)入下一種閃爍

          --------------------------------------------------------------------*/
          P1=0xfe;
          while(1!=fre--)
          {
          delay(30000);
          P1=1;
          P1|=0x01;
          if(P1==0x7f)
          {
          delay(30000);
          P1=0xfe;

          }
          }
          /*-------------------------------------------------------------------

          模塊2:循環(huán)單向閃爍,只有兩個(gè)燈亮或者滅
          執(zhí)行3次,轉(zhuǎn)入下一種閃爍

          --------------------------------------------------------------------*/
          P1=0xfc;
          while(3!=fre++)
          {
          delay(30000);
          P1=2;
          P1|=0x03;
          if(P1==0x3f)
          {
          delay(30000);
          P1=0xfc;
          }
          }
          }
          }
          void delay(uint cnt)
          {
          while(cnt--);
          }

          /*----------------------------------------------------

          兩個(gè)模塊均沒有問題,但是放在一起,并沒有得到想要的結(jié)果,

          第一個(gè)循環(huán)沒有進(jìn)行完全,且兩個(gè)循環(huán)的循環(huán)的次數(shù)與要求的不符。

          錯(cuò)誤地方在于:模塊1和模塊2的循環(huán)控制的只是一次亮滅,更正為:

          #includereg52.h>
          #define uint unsigned int
          void delay(uint);
          main()
          {
          uint fre=0x04;
          uint fre1,fre2;
          uint comp1=0xfe,comp2=0x80;
          while(1)
          {
          /*--------------------------------------------------------------------

          模塊1:循環(huán)單向閃爍,只有一個(gè)燈亮滅
          執(zhí)行3次,轉(zhuǎn)入下一種閃爍

          --------------------------------------------------------------------------*/
          P1=0xfe;
          while(1!=fre--)
          {
          fre1=0x08;
          while(1!=fre1--)
          {
          delay(3000000);
          P1=1;
          P1|=0x01;
          if(P1==0x7f)
          {
          delay(3000000);
          P1=0xfe;
          }
          }
          }
          /*-------------------------------------------------------------------

          模塊2:循環(huán)單向閃爍,只有兩個(gè)燈亮或者滅
          執(zhí)行3次,轉(zhuǎn)入下一種閃爍

          --------------------------------------------------------------------*/
          P1=0xfc;
          while(3!=fre++)
          {
          fre2=0x04;
          while(1!=fre2--)
          {
          delay(3000000);
          P1=2;
          P1|=0x03;
          if(P1==0x3f)
          {
          delay(3000000);
          P1=0xfc;
          }
          }
          }
          }
          }
          void delay(uint cnt)
          {
          while(cnt--);
          }

          注意控制語(yǔ)句中fre++和fre--;并且fre1和fre2的初始化不能出錯(cuò),

          由于if()語(yǔ)句的出現(xiàn),fre1和fre2的取值要比預(yù)想的減一。

          ----------------------------------------------------------*/


          上一頁(yè) 1 2 3 下一頁(yè)

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