📄 key.c
字号:
#include <REG51.h> /* Device specific head file*/
#include <intrins.h>
#include <absacc.h> /* Absolute memory access */
#include <math.h>
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
void keyscan(void);
//void Delay(void);
void display(unsigned char i);
void Initialize(void);
/**************************看门狗*************************/
void Dog()
{
uchar xdata *plcd;
plcd = 0xA000;
*plcd = 0x00;
}
void keyscan()
{
unsigned char n;
unsigned char m;
XBYTE[0x8012]=0xef;
m=XBYTE[0x8013];
m&=0x0f;
if(m!=0x0f)
{
Delay(630);
XBYTE[0x8012]=0xef;
m=XBYTE[0x8013];
m&=0x0f;
if(m!=0x0f)
{
m=XBYTE[0x8013];
m&=0x0f;
switch(m)
{
case(0x0e):/*display(0)sendbuf(0)*/n=3;break;
case(0x0d):/*display(1)sendbuf(1)*/n=2;break;
case(0x0b):/*display(2)sendbuf(2)*/n=1;break;
case(0x07):/*display(3)sendbuf(3)*/n=0;break;
}
}
}
/*P1=0xfd;
n=P1;
n&=0xf0;
if(n!=0xf0)
{
Delay(430);
P1=0xfd;
n=P1;
n&=0xf0;
if(n!=0xf0)
{
switch(n)
{
case(0xe0):display(4);break;
case(0xd0):display(5);break;
case(0xb0):display(6);break;
case(0x70):display(7);break;
}
}
}
P1=0xfb;
n=P1;
n&=0xf0;
if(n!=0xf0)
{
Delay(430);
P1=0xfb;
n=P1;
n&=0xf0;
if(n!=0xf0)
{
switch(n)
{
case(0xe0):display(8);break;
case(0xd0):display(9);break;
case(0xb0):display(10);break;
case(0x70):display(11);break;
}
}
}
P1=0xf7;
n=P1;
n&=0xf0;
if(n!=0xf0)
{
Delay(430);
P1=0xf7;
n=P1;
n&=0xf0;
if(n!=0xf0)
{
switch(n)
{
case(0xe0):display(12);break;
case(0xd0):display(13);break;
case(0xb0):display(14);break;
case(0x70):display(15);break;
}
}
}*/
}
void display(unsigned char i)
{
unsigned char table[]=
{
0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E
};
P2=0xfe;
P0=table[i];
}
void main()
{
while(1)
{
keyscan();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -