日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

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

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

          作者: 時間:2012-09-11 來源:網(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)單向閃爍,只有一個燈亮滅
          執(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)單向閃爍,只有兩個燈亮或者滅
          執(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--);
          }

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

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

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

          錯誤地方在于:模塊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)單向閃爍,只有一個燈亮滅
          執(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)單向閃爍,只有兩個燈亮或者滅
          執(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--);
          }

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

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

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


          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

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

          關(guān)閉