新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 用單片機I/0口做按鍵輸入實驗

        用單片機I/0口做按鍵輸入實驗

        作者: 時間:2016-11-17 來源:網(wǎng)絡 收藏

        典型/都是準雙向口,既可以當輸出口也可以當輸入口。具體操作時,我們將數(shù)據(jù)寫出/就是將它當作輸出口使用;如果在程序中直接調(diào)用當前/的狀態(tài),給我們定義的變量賦值或用于邏輯判斷、分支控制等操作,就是將它當作輸入口使用。

          下圖是使用P2.0口讀取按鍵控制的電路。

          從下圖中可見,在該電路中P2.0口是輸入應用。當按鍵沒有按下時+5V通過上拉電阻R1接到P2.0,這時P2.0口的電壓是+5V,即邏輯“1”:如果按鍵被按下,P2.0通過按鍵接到電源地,這時P2.0口的電壓是OV,即邏輯“0”。

          綜上所述,不按鍵時P2.0的狀態(tài)是“1”;按鍵時P2.0的狀態(tài)是“0”。

          如果沒有電阻R1,當按鍵接下時+5V電源會通過按鍵被短路到地,嚴重時會損壞電源,這是絕對不允許的。

          假設同時連接上圖和下圖的電路,用P2.0做輸入口,讀取按鍵:用P3.4控制蜂鳴器。寫一個程序,當按鍵按下時蜂鳴器鳴響,按鍵沒有按下時蜂鳴器停止鳴響,程序如下:

          #include

          sbitBuzzer=P3^4;sbitKey=P2^0;//【注1】

          //主程序voiDMAin(void){for(;;){if(Key==0){//【注2】

          Buzzer=0;//按鍵被按下,蜂鳴器鳴響}

          else{Buzzer=1;//按鍵沒有按下,蜂鳴器停止鳴響}

          }

          【注1】:將位變量Key定義為P2.0口,以后對變量Key的操作就是對P2.0口的操作;

          【注2】:條件語句,直接用Key的狀態(tài)(即P2.0口的狀態(tài)】來控制程序的運行。如果按鍵被按下P2.0的狀態(tài)為0,Key=0為真,程序執(zhí)行Buzzer=0,這時蜂鳴器鳴響;如果按鍵沒有按下,P2.0的狀態(tài)為1,Key=0為假,程序執(zhí)行Buzzer=1,蜂鳴器停止鳴響。



        關鍵詞: 單片機 I 0口

        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 穆棱市| 霸州市| 类乌齐县| 林西县| 本溪市| 安平县| 四会市| 宁河县| 枞阳县| 托克托县| 浏阳市| 余庆县| 宜昌市| 额济纳旗| 金山区| 胶南市| 逊克县| 扶绥县| 威信县| 宣汉县| 曲周县| 潍坊市| 灵石县| 苍溪县| 江安县| 榆树市| 子长县| 屏南县| 中西区| 商城县| 秦安县| 南漳县| 精河县| 萍乡市| 南充市| 昭通市| 仁寿县| 贺兰县| 玉屏| 和静县| 伊通|