<acronym id="xonnx"></acronym>
      <td id="xonnx"></td>
    1. <pre id="xonnx"></pre>

      1. 專注電子技術學習與研究
        當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

        51單片機流水燈左移 右移控制程序

        作者:huqin   來源:本站原創   點擊數:  更新時間:2014年03月24日   【字體:

        電路很簡單 8位流水燈接在單片機的P1口.如下是源代碼:
         

        //=============================================================
         
           //程序名:LLL22_4.C
           //程序功能:流水燈控制左移 右移
           //==============================================================
             #include<reg51.h>//頭文件
              L_M();                    //流水燈左移控制程序
              R_M();                    //流水燈右移控制程序
           //===============================================================
              main()                    //主函數
              {
              while(1)                  //無限循環
                   {
              L_M();                    //調用左移程序
              R_M();                    //調用右移程序
              }            
                 }
          //========左移控制程序==============================================
             L_M()           //左移主函數

         
        {
             unsigned char i,temp,a,b;  //聲明無符號字符型變量A,TEMP I,B
             unsigned int  s;           //聲明無符號整型變量S
             temp=0xfe;                 //左移初始值
             P1=temp;                   //P1輸出信號點亮發光管
             for( s=0;s<30000;s++);     //延時程序
             for (i=1;i<8;i++)          //發光管移動的位數
             {
              a=temp<<i;                //發光管左移I位
              b=temp>>(8-i) ;           //數據右移(8-I)位
             P1=a|b ;                   //邏輯或運算,并輸出到P1口
             for(s=0;s<30000;s++);      //延時程序
              }
        }
          //================================================================
           R_M()
        {
           unsigned char i,temp,a,b;     //聲明無符號字符型變量A,TEMP I,B
           unsigned int   s;             //聲明無符號整型變量S
           temp=0x7f;                    //左移初始值
           P1=temp;                      //P1輸出信號點亮發光管
           for(s=0;s<30000;s++);          //延時程序
           for(i=1;i<8;i++)              //發光管移動的位數
          {                              //發光管左移I位
           a=temp>>i;                    
           b=temp<<(8-i);                //數據右移(8-I)位
           P1=a|b;                       //邏輯或運算,并輸出到P1口
          for(s=0;s<30000;s++);          //延時程序
          }                     
        }
        //=======================================================================
         

         

        關閉窗口

        相關文章

        欧美性色欧美精品视频,99热这里只有精品mp4,日韩高清亚洲日韩精品一区二区,2020国自产拍精品高潮