色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 51單片機系列連載8—獨立鍵盤與矩陣鍵盤

          51單片機系列連載8—獨立鍵盤與矩陣鍵盤

          作者: 時間:2016-11-27 來源:網(wǎng)絡(luò) 收藏
          在前面我們講的都是向單片機中向外輸出數(shù)據(jù),今天我們開始介紹一下如何向單片機里面輸入數(shù)據(jù),也就是鍵盤。

          本文引用地址:http://cafeforensic.com/article/201611/322440.htm

          鍵盤有兩種,獨立式鍵盤與行列式矩陣鍵盤。

          獨立式鍵盤是指直接用一根I/O口線構(gòu)成的單個按鍵電路,每個I/O口的按鍵不會影響另外一個,具體電路圖如下:

          接下來看一個程序,這個程序主要是按鍵二極管亮,同時按一下數(shù)碼管顯示一下,往下加,加到9,具體程序如下:

          #include

          #defineuintunsignedint;

          #defineucharunsignedchar;

          sbitd1=P1^2;

          sbitduan=P2^2;

          sbitwei=P2^3;

          sbitkey1=P3^3;

          ucharcodetable[]={

          0x3f,0x06,0x5b,0x4f,

          0x66,0x6d,0x7d,0x07,

          0x7f,0x6f,0x77,0x7c,

          0x39,0x5e,0x79,0x71};

          ucharnum,t1,y,z;

          voiddelay(uintz)

          {

          uintt1,y;

          for(t1=z;t1>0;t1--)

          for(y=110;y>0;y--);

          }

          voidmain()

          {wei=1;

          P0=0xfe;

          wei=0;

          key1=1;

          while(1)

          {

          if(key1==0)

          {

          delay(10);

          if(key1==0)

          {

          d1=0;

          num ;

          if(num==10)

          num=0;

          }

          while(key1==0);//這個語句加的好神奇

          }

          else

          d1=1;

          duan=1;

          P0=table[num];

          duan=0;

          }

          }

          但是在仿真時就出現(xiàn)問題了,C(15):errorC141:syntaxerrornear;對應(yīng)的是這句voiddelay(uintz),但直到現(xiàn)在我都不知道它到底哪里錯了,真悲哀,先記下來,以后有時間回過頭再看。

          矩陣式鍵盤跟獨立式鍵盤相反,彼此之間是有聯(lián)系的,如下圖:


          矩陣式鍵盤的原理也很簡單,跟獨立按鍵的基本原理是一樣的,但是它是一行一行掃描的,由于時間關(guān)系就不做過多分析,具體看一下下面的編程:


          上一頁 1 2 下一頁

          評論


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

          關(guān)閉