欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3710|回復: 0
收起左側

51單片機 4x4矩陣鍵盤實驗(計算法)

[復制鏈接]
ID:318620 發表于 2018-6-3 20:05 | 顯示全部樓層 |閱讀模式
#include <AT89X52.H>

#include<stdio.h>

unsigned char code table[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};//共陽數碼管顯示0~F
void delay()                   //延時子程序
{
unsigned char n, m;
for (n = 100; n > 0; n--)
  for (m = 300; m > 0; m--);   
}
void display(unsigned char S)      //顯示子程序
{
P0 = table[S];        //數碼管是P0口驅動的
delay();                    
P2 = 0x7f; //數碼管選通開關(P2.7選通 也就是數碼管的第八位 (從左到右順序))
}
unsigned char Keycan(void) //按鍵掃描程序 P1.0--P1.3為行線 P1.4--P1.7為列線
{
  unsigned char rcode, ccode;
  P1 = 0xF0;      // 發全0行掃描碼,列線輸入
  if((P1&0xF0) != 0xF0) // 若有鍵按下
  {
    delay();// 延時去抖動
    if((P1&0xF0) != 0xF0)
    {  rcode = 0xFE;         // 逐行掃描初值
    while((rcode&0x10) != 0)
    {
       P1 = rcode;         // 輸出行掃描碼
    if((P1&0xF0) != 0xF0) // 本行有鍵按下
    {
       ccode = (P1&0xF0)|0x0F;
       do{;}while((P1&0xF0) != 0xF0); //等待鍵釋放
       return ((~rcode) + (~ccode)); // 返回鍵編碼
    }
    else
    rcode = (rcode<<1)|0x01; // 行掃描碼左移一位
    }
}
  }  
  return 0; // 無鍵按下,返回值為0
}
void KeyDispaly(unsigned char key)
{
   switch(key)
   {
   case 0x11: display(0); break;
   case 0x21: display(1); break;
   case 0x41: display(2); break;
   case 0x81: display(3); break;
   case 0x12: display(4); break;
   case 0x22: display(5); break;
   case 0x42: display(6); break;
   case 0x82: display(7); break;
   case 0x14: display(8); break;
   case 0x24: display(9); break;
   case 0x44: display(10); break;
   case 0x84: display(11); break;
   case 0x18: display(12); break;
   case 0x28: display(13); break;
   case 0x48: display(14); break;
   case 0x88: display(15); break;
   default: break;
   }
}
int main(void)
{
   unsigned char Key;
   while(1)
   {
     Key = Keycan();   
     KeyDispaly(Key);
   }
return 0;
}


4x4矩陣鍵盤實驗(計算法).rar

12.35 KB, 下載次數: 9, 下載積分: 黑幣 -5

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表