音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊(cè) 首頁(yè) | 行業(yè)黑名單 | 幫助
維庫(kù)電子市場(chǎng)網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

[推薦]鍵盤子程序(AVR)

作者:liuli9230 欄目:電路欣賞

鍵盤掃描有中斷方式和查詢方式
#i nclude "jn8515def.h"

/******以下是鍵盤排列圖******
                   |       |       |
PC0  ___1|__2|__3|__
                    |      |        |
PC1  ___4|__5|__6|__
                   |       |        |
PC2  ___7|__8|__9|__
                    |       |       |
PC3  ___C|__0|__S|__  
                    |       |       |
                    |       |       |
               PC4 PC5 PC6
*****************************/  
//下沿為有效鍵值          0    1    2    3    4    5    6    7    8    9  s(10)  c0   c1   c4   c7   cs  c
FLASH uchar cKeyTab[]={0x57,0x6e,0x5e,0x3e,0x6d,0x5d,0x3d,0x6b,0x5b,0x3b,0x37,0x47,0x66,0x65,0x63,0x27,0x67};
FLASH uchar cKeyOut[]={0xef,0xdf,0xbf};           //其中一列為0
FLASH uchar cKeyDir[]={0x10,0x20,0x40};  
uchar cMenu=0;

uchar cKeyVal()
{  static uchar cLastKv,cSameKvNum=0;  
   static   bit bKeyPress=0;
   uchar i,j,cKeytmp=0xff;
   for(i=0;i<3;i++)
   {  DDRC&=0x80;
      DDRC|=cKeyDir[i];
      PORTC=cKeyOut[i];  
      #asm("nop")
      #asm("nop")
      cKeytmp=PINC&0x7f;  
      for(j=0;j<16;j++)
      {  if(cKeyTab[j]==cKeytmp)
         {  cWaitTime=10;          //延時(shí)去抖
            goto Next;  
         }
      }
   }
  // do{                           //等待按鍵釋放
   // }while(!bKeyPress);    
   cSameKvNum=0;  
   bKeyPress=0;
   return 0xff;
Next:
//   delay_ms(2);    
   if(bKeyPress) return 0xff;
   if(cKeytmp==cLastKv)                
   {  if(++cSameKvNum>10)
      {  cSameKvNum=0;
         bKeyPress=1;
         return j;
      }
   }
   else
   {  cSameKvNum=0;  
      cLastKv=cKeytmp;
   }
    
   return 0xff;//返回空鍵值    
}

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
[分享]通過日期算星期的C51源程序
幫忙看看這個(gè)電路有什么問題?
求“步進(jìn)電機(jī)驅(qū)動(dòng)控制系統(tǒng)設(shè)計(jì)”
小弟有個(gè)比較弱的數(shù)碼管動(dòng)態(tài)掃描的問題,那位幫著解決...
小小電子鬧鐘 生活學(xué)習(xí)良伴
免費(fèi)注冊(cè)為維庫(kù)電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào)