<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 用單片機(jī)I/0口做按鍵輸入實(shí)驗(yàn)

          用單片機(jī)I/0口做按鍵輸入實(shí)驗(yàn)

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

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

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

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

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

            如果沒有電阻R1,當(dāng)按鍵接下時(shí)+5V電源會(huì)通過按鍵被短路到地,嚴(yán)重時(shí)會(huì)損壞電源,這是絕對(duì)不允許的。

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

            #include

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

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

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

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

            }

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

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



          關(guān)鍵詞: 單片機(jī) I 0口

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();