久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

矩陣鍵盤的編程

作者:佚名   來源:本站原創   點擊數:  更新時間:2011年03月15日   【字體:

           C51單片機上的外設鍵盤鍵是使用的矩陣方式擴展的,但是硬件仿真時必須把蜂民器的開關打開觸使行掃描的74HC53的E端接地為輸出型,否則測死了也沒反應,我還以為是我的程序有問題呢,后來才找到的。

               其原理

                  74HC138譯碼器在輸出端Y1與WR(P3^6)都處于低電平通過或非門,轉化成行掃描的74HC53的片選端打開寫入數據,在輸出端的高4位通過移位方式輸出到外設鍵盤中。然后給WR一個高電平來給74HC53一個低電平使得輸入無效進行鎖存操作。然后通過RD(P3^7)與Y2共同輸出低電平通過或非門加上個非門把低電平送到列掃描的74HC53的片選端E上,在讀取數據前必須先將要獲取的高4位進行置1,然后讀取高4位數據,通過RD送出高電平進行鎖住輸出,防止74HC53同時輸入輸出導致芯片燒毀。然后根據獲得的unsigned char進行移位比對操作來獲得是哪一列,然后在通過運算得到第幾個按鍵被按下。

             這是最簡單的矩陣方式擴展鍵盤的代碼流程,上述是我理解的流程,測試已沒問題。

#include<reg52.h>
#include<absacc.h>

void my_delay10nms(unsigned int n)
{
 unsigned i,j;
 while(n --)
 {
  for(i = 128;i > 0;i --)
  for(j = 10;j > 0;j --);
 }
}

sbit LED_BIT = P1^6;
void main(void)
{
unsigned char Key_h;
unsigned char Key_Val;
unsigned char Key_r;
unsigned char Last_key;
unsigned char Key_Temp;
  while(1)
  {
      Key_Val=0;
      for(Key_h=4;Key_h<8;Key_h++)
   {
     P2=0x88;
     P0=(1<<Key_h);
     P3&=~(1<<6);
     P3|=(1<<6);

     P2=0x90;
     P3&=~(1<<7);  //讀 
     P0|=0xf0;
     Key_Temp=P0&0xf0; //      
     P3|=(1<<7);    // 防止芯片燒壞
     if(Key_Temp)
     {
        for(Key_r=4;Key_r<8;Key_r++)
     {
      if(Key_Temp&(1<<Key_r))
      {
        Key_Val=(Key_h-4)*4+(Key_r-4)+1; 
     break;
      }
     }
    if(Key_Val)break;
     }
   }
   if(Last_key!=Key_Val)
   {
       Last_key=Key_Val;
   }else
   {
    if(Last_key)
    {
     P0=Last_key;
     LED_BIT = 1;
     LED_BIT = 0;
    } 
   }
   my_delay10nms(1);
  }

}

關閉窗口

相關文章

主站蜘蛛池模板: 91电影在线播放 | 国产精品久久久久久久久免费樱桃 | 久久久久久久久久久蜜桃 | 成人在线不卡 | 超碰97在线免费 | 日韩精品一区二区三区中文在线 | 成人福利 | 欧美视频二区 | 日韩电影免费在线观看中文字幕 | 国产日韩av一区二区 | 97精品国产97久久久久久免费 | 久草影视在线 | 午夜影院在线观看 | 91精品国产91久久久久久最新 | 久久久久久国产一区二区三区 | 日韩成人在线播放 | 成人黄色电影在线播放 | 久久综合激情 | 国产乱码精品一区二区三区五月婷 | 欧美国产日韩在线 | 亚洲综合热 | 亚洲国产中文在线 | 久久久久久久综合 | 色噜噜亚洲男人的天堂 | 一区二区三区在线观看视频 | 欧美在线视频a | 国产伦精品一区二区三区照片91 | 99一级毛片| 一本在线 | 欧美精品久久 | 国产91 在线播放 | 国产区高清 | 日韩精品一区二区三区在线观看 | 极品久久 | 日韩在线精品强乱中文字幕 | 日韩一二三区视频 | 国产三级在线观看播放 | 国产人成精品一区二区三 | 国产精品久久久久久av公交车 | 在线亚洲电影 | 亚洲区一区二 |