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

標(biāo)題: 請(qǐng)教一下4*4矩陣鍵盤的問題 [打印本頁]

作者: 楓戀00    時(shí)間: 2012-4-7 10:58
標(biāo)題: 請(qǐng)教一下4*4矩陣鍵盤的問題

#include<reg52.h>
#define uint unsigned int 
#define uchar unsigned char
uchar temp,key_num;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71,0};
uchar code scan[4] = {0xfe, 0xfd, 0xfb, 0xf7};
void delay(uint z)
{
 uint x,y;
 for(x=z;x>0;x--)
  for(y=110;y>0;y--);
}
uchar keyscan();
void mian()
{
 P2=0x0f;
 while(1)
 {
  keyscan();
  delay(10);
  P0=table[key_num];
 
 }
}
uchar keyscan()
{
 uint i;
 for(i=0;i<4;i++)
  {
  P1=scan;//按鍵檢測(cè)
  temp=P1;
  temp=temp&0xf0;
  while(temp!=0xf0)
    {
      delay(10);
      P1=scan;
      temp=P1;
      temp=temp&0xf0;
      while(temp!=0xf0)
       {
         temp=P1;
        switch(temp&0xf0)
         {
          case 0xe0: key_num=i*4;
          break;
          case 0xd0: key_num=i*4+1;
          break;
          case 0xb0: key_num=i*4+2;
          break;
          case 0x70: key_num=i*4+3;
          break;
         }
   while(temp!=0xf0)//松手檢測(cè)
     {
      temp=P1;
      temp=temp&0xf0;
     }
       }
    } 
  }
  return key_num;
    
}

這是我自己寫的一個(gè)鍵盤掃描的程序,p1口接矩陣鍵盤,p0口接數(shù)碼管,p2的第四位控制數(shù)碼管的位選端,把程序?qū)戇M(jìn)去的時(shí)候,數(shù)碼管一直都顯示不出來,不知道哪里出了問題,請(qǐng)求高手解答


作者: shja995    時(shí)間: 2012-4-7 16:45
p2口低四位一直高電平,數(shù)碼管怎么顯示啊。 4位數(shù)碼管是要掃描顯示的,或者只用其中一路。
作者: 楓戀00    時(shí)間: 2012-4-7 18:32
不是,我主要是要鍵盤掃描,數(shù)碼管四個(gè)顯示是一樣的




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1