˜Ë(bi¨¡o)î}: ÓÐÈËÄÜŽÍÎÒ¿´¿´ß@¶Î†ÎƬ™C(j¨©)³ÌÐò‘ª(y¨©ng)Ô“ÔõôÕ{(di¨¤o)ÓÆá£¿ [´òÓ¡±¾í“(y¨¨)]

×÷Õß: ·È˾ý    •r(sh¨ª)ég: 2018-8-18 18:18
˜Ë(bi¨¡o)î}: ÓÐÈËÄÜŽÍÎÒ¿´¿´ß@¶Î†ÎƬ™C(j¨©)³ÌÐò‘ª(y¨©ng)Ô“ÔõôÕ{(di¨¤o)ÓÆá£¿
#include<reg52.h> //°üº¬î^Îļþ£¬Ò»°ãÇé›r²»ÐèÒª¸Ä„Ó(d¨°ng)£¬î^Îļþ°üº¬ÌØÊ⹦ÄܼĴæÆ÷µÄ¶¨Áx
#include"keyboard.h"
#include"delay.h"

#define KeyPort P1

/*------------------------------------------------
°´æI’ßÃ躯”µ(sh¨´)£¬·µ»Ø’ßÃèæIÖµ
------------------------------------------------*/
unsigned char KeyScan(void)  //æI±P’ßÃ躯”µ(sh¨´)£¬Ê¹ÓÃÐÐÁз´ÞD(zhu¨£n)’ßÃè·¨
{
unsigned char cord_h,cord_l;//ÐÐÁÐÖµÖÐég׃Á¿
KeyPort=0x0f;            //Ðо€Ý”³öÈ«žé0
cord_h=KeyPort&0x0f;     //×xÈëÁо€Öµ
if(cord_h!=0x0f)    //ÏÈ™zœy(c¨¨)ÓПo(w¨²)°´æI°´ÏÂ
{
  DelayMs(10);        //È¥¶¶
  if((KeyPort&0x0f)!=0x0f)
  {
    cord_h=KeyPort&0x0f;  //×xÈëÁо€Öµ
    KeyPort=cord_h|0xf0;  //Ý”³ö®”(d¨¡ng)ǰÁо€Öµ
    cord_l=KeyPort&0xf0;  //×xÈëÐо€Öµ

    while((KeyPort&0xf0)!=0xf0);//µÈ´ýËÉé_²¢Ý”³ö

    return(cord_h+cord_l);//æI±P×îºó½MºÏ´aÖµ
   }
  }return(0xff);     //·µ»ØÔ“Öµ
}
/*------------------------------------------------
          °´æIֵ̎Àíº¯”µ(sh¨´)£¬·µ»Ø’ßæIÖµ
           ¿ÉÒÔ¸ù“þ(j¨´)ÐèÒª¸Ä׃·µ»ØÖµ

                          | 1 | 2 | 3 | + |  
                          | 4 | 5 | 6 | - |  
                          | 7 | 8 | 9 | * |  
                          | 0 | . | = | / |
------------------------------------------------*/
unsigned char KeyPro(void)
{
switch(KeyScan())
{
  case 0x7e:return 1  ;break;//0 °´ÏÂÏà‘ª(y¨©ng)µÄæIï@ʾÏàŒ¦(du¨¬)‘ª(y¨©ng)µÄ´aÖµ
  case 0x7d:return 2  ;break;//1
  case 0x7b:return 3  ;break;//2
  case 0x77:return '+';break;//3

  case 0xbe:return 4  ;break;//4
  case 0xbd:return 5  ;break;//5
  case 0xbb:return 6  ;break;//6
  case 0xb7:return '-';break;//7

  case 0xde:return 7  ;break;//8
  case 0xdd:return 8  ;break;//9
  case 0xdb:return 9  ;break;//a
  case 0xd7:return 'x';break;//b

  case 0xee:return 0  ;break;//c
  case 0xed:return '.';break;//d
  case 0xeb:return '=';break;//e
  case 0xe7:return '/';break;//f
  default:return 0xff;break;
}
}
Èçî}£¬ß@‚€(g¨¨)³ÌÐò‘ª(y¨©ng)Ô“ÔõôÕ{(di¨¤o)Óã¿È»ºó·ÖÎöÒ»ÏÂÿ¾äʲôÒâ˼
×÷Õß: lxy23333    •r(sh¨ª)ég: 2018-8-18 20:03
Äãß@ÀïÖ±½ÓÕ{(di¨¤o)ÓÃKeyPro£¨£©£»¾ÍÐС£Òò?y¨¤n)éÏÂß…ß@‚€(g¨¨)º¯”µ(sh¨´)Àïî^Òѽ›(j¨©ng)Õ{(di¨¤o)ÓÃKeyScanÁË¡£

×÷Õß: zhaoyinlo    •r(sh¨ª)ég: 2018-9-3 12:29
Ö±½ÓÕ{(di¨¤o)Óà KeyPro(void)  £¨ÔÚß@‚€(g¨¨)º¯”µ(sh¨´)ÖÐÕ{(di¨¤o)ÓÃÁËKeyScan(void) £©  ¸ù“þ(j¨´)keyscan·µ»ØÖµÅДàҪݔ³öµÄ½Y(ji¨¦)¹û
¼ÓÓÍ
×÷Õß: feiyuj    •r(sh¨ª)ég: 2018-9-3 18:57
Ö±½ÓÕ{(di¨¤o)ÓÃKeyPro()¾Í¿ÉÒÔÁË£¬Òò?y¨¤n)éÉÏ‚€(g¨¨)Ò»º¯”µ(sh¨´)Keycan()Òѽ›(j¨©ng)ÔÚß@‚€(g¨¨)º¯”µ(sh¨´)ÀïÃæÕ{(di¨¤o)ÓÃß^(gu¨°)ÁË£¬Ÿo(w¨²)ÐèÔÙÕ{(di¨¤o)Ó㬸ù“þ(j¨´))’ßÃèµÃµ½µÄæIÖµˆÌ(zh¨ª)ÐÐKeyPro()ÀïÃæµÄcaseÕZ(y¨³)¾ä¡£
×÷Õß: rencm    •r(sh¨ª)ég: 2018-9-3 19:34
Èç¹û²»³É¹¦µÄÔ’£¬°ÑKeyScan(void)Œ‘ÔÚkeyboard.hÎļþÀ°ÑKeyPro(void)Œ‘ÔÚmain.cÎļþÀï
×÷Õß: ÁïÁïÇò12    •r(sh¨ª)ég: 2018-9-4 12:05
Ö±½ÓÕ{(di¨¤o)ÓÃkeypro£¨void£©
×÷Õß: HANIA    •r(sh¨ª)ég: 2018-9-4 14:34
³ÌÐòÖ±½ÓÕ{(di¨¤o)Óà KeyPro(void)£¬°ÑËùÓгÌÐò·ÅÒ»Æð




šgÓ­¹âÅR (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1