在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 光電顯示 > 設(shè)計應(yīng)用 > MCU學(xué)習(xí)之按鍵控制LED

            MCU學(xué)習(xí)之按鍵控制LED

            作者: 時間:2016-12-03 來源:網(wǎng)絡(luò) 收藏
            程序 :

            /**

            本文引用地址:http://www.biyoush.com/article/201612/325405.htm

            * 讀IO, 用按鈕控制點燈.

            */

            #include

            #include

            // 10個LED

            sbit P10 = P1^0;

            sbit P11 = P1^1;

            sbit P12 = P1^2;

            sbit P13 = P1^3;

            sbit P14 = P1^4;

            sbit P15 = P1^5;

            sbit P16 = P1^6;

            sbit P17 = P1^7;

            // 定義開關(guān). 低電平有效.

            sbit K1 = P3^2;

            sbit K2 = P3^5;

            void main( void )

            {

            while( 1 )

            {

            if( !K1 )// K1按下, 點亮LED

            {

            P10 = 0;

            }

            if( !K2 )// K2按下, 熄滅LED

            {

            P10 = 1;

            }

            }

            }

            總結(jié) :

            1. 對于MCU來說, 所有的端口永遠(yuǎn)都提供高電平(低電平有效), 如果你想讓某個端口提供低電平, 必須手工設(shè)定(僅僅是猜測).

            2. 上面的K1, K2在開發(fā)板上是以按鈕形式出現(xiàn), 按下就是提供低電平, 彈起就是提供高電平

            對于第2點,可以通過程序來考證 :

            while( 1 )

            {

            // 當(dāng)K1被按下, 此時P3^2提供低電平, 彈起后P3^2依然是低電平.

            if( !K1 )

            {

            P10 = 0;

            P11 = 1;

            }

            else

            {

            P10 = 1;

            P11 = 0;

            }

            }

            仿真的時候, 很明白的看到是P11點亮, P10熄滅. 說明執(zhí)行的是else, 也就是K1一直處于電平狀態(tài).

            當(dāng)按下K1之后, P10點亮 P11熄滅, 說明K1提供了低電平, 按鈕按下起了作用. 然后松手彈起K1, 看看到P10熄滅P11點亮. 說明K1又恢復(fù)了高電平.

            由此可見按鈕是onPress時改變了管腳電平, onRelease的時候又恢復(fù)了.

            作業(yè) :

            把程序改為: 按K1,P10燈亮,P11燈滅。按K2,P10燈滅,P11燈亮。

            /**

            * 讀IO, 用按鈕控制點燈.

            */

            #include

            #include

            // 10個LED

            sbit P10 = P1^0;

            sbit P11 = P1^1;

            sbit P12 = P1^2;

            sbit P13 = P1^3;

            sbit P14 = P1^4;

            sbit P15 = P1^5;

            sbit P16 = P1^6;

            sbit P17 = P1^7;

            // 定義開關(guān)

            sbit K1 = P3^2;

            sbit K2 = P3^5;

            void main( void )

            {

            while( 1 )

            {

            if( !K1 )// K1按下, 點亮LED

            {

            P10 = 0;

            P11 = 1;

            }

            if( !K2 )// K2按下, 熄滅LED

            {

            P10 = 1;

            P11 = 0;

            }

            }

            }



            關(guān)鍵詞: MCULE

            評論


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

            關(guān)閉