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

          新聞中心

          通過按鍵控制IO口操作

          作者: 時(shí)間:2016-11-30 來源:網(wǎng)絡(luò) 收藏
          今天對(duì)單片機(jī)按鍵有了一定的認(rèn)識(shí),單片機(jī)分為獨(dú)立式鍵盤和矩陣式鍵盤,獨(dú)立式占用IO口資源比較大,適合按鍵少的控制操作,其優(yōu)點(diǎn)是設(shè)計(jì)編程一目了然,比較簡單,矩陣式占用IO口比較少,適合對(duì)按鍵要求比較高而IO口資源比較寶貴的操作,這兩者各有其優(yōu)點(diǎn)和缺點(diǎn),以后應(yīng)用時(shí)要根據(jù)需要進(jìn)行設(shè)計(jì),特別是矩陣式的要利用行線,和列線的高低電平檢測(cè)和處理數(shù)據(jù)信息的原理要記住。

          下面把今天學(xué)的一個(gè)簡單的通過按鍵控制IO口LED燈工作的程序?qū)懸幌?,呵呵,可以加深我?duì)按鍵操作(ELSE語句)的理解。

          本文引用地址:http://www.ex-cimer.com/article/201611/323750.htm

          #include
          #define uint unsigned int
          #define uchar unsigned char
          sbit DIPswitch1=P3^0;
          sbit DIPswitch2=P3^1;
          sbit redLED1=P1^0;
          sbit blueLED1=P1^1;
          sbit greenLED1=P1^2;
          sbit yellowLED1=P1^3;
          sbit redLED2=P1^4;
          sbit blueLED2=P1^5;
          sbit greenLED2=P1^6;
          sbit yellowLED2=P1^7;
          void delay(void)
          {uint i;
          for(i=0;i<35530;i++);
          }
          void main(void)
          {
          P1=0XFF;
          P3=0XFF;//置位
          while(1)
          {
          if(DIPswitch1==0)
          {
          redLED1=~redLED1;
          yellowLED2=~yellowLED2;//判斷按鈕1是否為低電平,如果是的話,實(shí)現(xiàn)P0口的1腳和7腳按位取反
          delay();}//延時(shí)操作
          else if(DIPswitch2==0)
          {
          P1=~P1;//按鍵2取低時(shí),P0口所有位按位取反閃爍
          }
          else
          {
          P1=0X00;//如果按鍵1VS2都為高,則所有燈亮
          }

          }
          }

          工作原理是當(dāng)按鍵1為低adclass=0&app_id=0&c=news&cf=1001&ch=0&di=128&fv=17&is_app=0&jk=90ec16ab04311395&k=%B5%E7%C6%BD&k0=%B5%E7%C6%BD&kdi0=0&luki=5&n=10&p=baidu&q=98059059_cpr&rb=0&rs=1&seller_id=1&sid=95133104ab16ec90&ssp2=1&stid=0&t=tpclicked3_hc&tu=u1831118&u=http%3A%2F%2Fwww%2E51hei%2Ecom%2Fmcu%2F1994%2Ehtml&urlid=0" id="3_nwl" mpid="3" target="_blank">電平時(shí),P1口的1腳和7腳按位取反,實(shí)現(xiàn)LED燈的閃爍。當(dāng)按鍵2為低電平的時(shí)候,P1口所有的燈實(shí)現(xiàn)按位取反功能,所有燈閃爍。當(dāng)按鍵1和2都為高電平時(shí),P1口為低電平,所有燈亮。

          這個(gè)硬件電路是P3^0和P3^1控制按鍵1和2;P1口控制八個(gè)LED燈。

          呵呵,數(shù)碼管的動(dòng)態(tài)和靜態(tài)還在學(xué)習(xí)當(dāng)中,現(xiàn)在基本的靜態(tài)控制應(yīng)該是會(huì)了,動(dòng)態(tài)的爭取這兩天把它學(xué)完。加油。
          由于時(shí)間關(guān)系,在這就不寫上單片機(jī)的工作系統(tǒng)了。


          有了這個(gè)程序和原理圖,我們也可以根據(jù)需要適當(dāng)?shù)酶膶懗绦?,達(dá)到我們想要的目的。



          關(guān)鍵詞: 按鍵控制IO口操

          評(píng)論


          技術(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); })();