⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 4-7.c

📁 这是HOLTEK HT 48系列单片机应用实例
💻 C
字号:
//4*4 keyboard,software scan
unsigned char _pac @ 0x13;
unsigned char _pa  @ 0x12;
unsigned char _pbc @ 0x15;
unsigned char _pb  @ 0x14;
#define KEYPAD _pa
#define KEYPAD_CTRL _pac
#define OUT _pb
#define OUT_CTRL _pbc
const unsigned char Scan_Code[16]={0x77,0x7b,0x7d,0x7e,0xb7,0xbb,0xbd,0xbe,0xd7,0xdb,0xdd,0xde,0xe7,0xeb,0xed,0xee};
const unsigned char Display_Code[16]={63,6,91,79,102,109,125,7,127,111,119,124,57,94,121,113};
char check_key()
{
 KEYPAD=0x7f;
  if(KEYPAD==0x77) return Display_Code[0];
  if(KEYPAD==0x7b) return Display_Code[1];
  if(KEYPAD==0x7d) return Display_Code[2];
  if(KEYPAD==0x7e) return Display_Code[3];
 KEYPAD=0xbf;
  if(KEYPAD==0xb7) return Display_Code[4];
  if(KEYPAD==0xbb) return Display_Code[5];
  if(KEYPAD==0xbd) return Display_Code[6];
  if(KEYPAD==0xbe) return Display_Code[7];
 KEYPAD=0xdf;
  if(KEYPAD==0xd7) return Display_Code[8];
  if(KEYPAD==0xdb) return Display_Code[9];
  if(KEYPAD==0xdd) return Display_Code[10];
  if(KEYPAD==0xde) return Display_Code[11];
 KEYPAD=0xef;
  if(KEYPAD==0xe7) return Display_Code[12];
  if(KEYPAD==0xeb) return Display_Code[13];
  if(KEYPAD==0xed) return Display_Code[14];
  if(KEYPAD==0xee) return Display_Code[15];
 return 0xff;
}
void main()
{ 
 KEYPAD_CTRL = 0x0f;
 OUT_CTRL = 0x00;
 while(1)
 {
  unsigned char i;
  unsigned char j;
  i=check_key();
  if(i==0xff)
   {OUT=j;}
  else
   {
   OUT=i;
   j=i;
   }
 }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -