keyborad.c

来自「2005年全国大学生电子设计大赛 频谱仪 题 源代码。作品获国家一等奖」· C语言 代码 · 共 46 行

C
46
字号
#include<keyboard.h>
#include<absacc.h>
#include<aduc841.h>

//unsigned char keycode;
//bit newkey;


void initkey()//1-interrupt mode 2-manaul mode
{
  KEY_inst=0xdf;//clear all
  KEY_inst=0x38;//divide the clock by 20
  KEY_inst=0x03;//Decoded scan keyboard,N-key rollover
  KEY_inst=0x40;//read FIFO
 
}

bit readkey(unsigned char data *key)
{
 unsigned char tmp;          
 tmp=KEY_inst&0x07;
   while (tmp--)
    {
     *key=KEY_data;
     /* if(*key==0)
        continue;
      else
        XBYTE[0xf001]=0xdf; */
     return(1);
    }
 return(0);
}


/*
void inkey() interrupt 2 using 2
{unsigned char tmp;
  tmp=XBYTE[0xf001]&0x07;
   while (tmp--)
   {
    keycode=XBYTE[0xf000];
    newkey=1;
   }
}
 */

⌨️ 快捷键说明

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