新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 51單片機流水燈左移 右移控制程序

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

        作者: 時間:2016-12-02 來源:網絡 收藏
        電路很簡單 8位流水燈接在單片機的P1口.如下是源代碼:

        本文引用地址:http://www.104case.com/article/201612/324644.htm
        //=============================================================
        //程序名:LLL22_4.C
        //程序功能:流水燈控制左移 右移
        //==============================================================
        #include//頭文件
        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<
        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++); //延時程序
        }
        }
        //=======================================================================


        評論


        技術專區

        關閉
        主站蜘蛛池模板: 兰西县| 隆德县| 丹东市| 桂东县| 四会市| 琼中| 平利县| 江阴市| 京山县| 临夏县| 兰西县| 江西省| 信宜市| 安化县| 察隅县| 扎鲁特旗| 瑞昌市| 泰宁县| 集贤县| 吉水县| 家居| 兰溪市| 鸡西市| 财经| 吴桥县| 府谷县| 确山县| 陈巴尔虎旗| 甘洛县| 运城市| 石阡县| 常熟市| 常德市| 宁夏| 新干县| 安仁县| 民丰县| 河曲县| 江阴市| 海兴县| 三门峡市|