📄 keyboard.txt
字号:
#include <intrins.h>
#include <stdio.h>
#include <math.h>
//#include <copy12864.h>
#define uchar unsigned char
unsigned char code num [] ;
void delay(void)
{
uchar i;
for(i=300;i>0;i--){};
}
uchar keyscan(void)
{
uchar scancode , tempcode ;
P2 = 0xf0 ;
if((P2 & 0xf0)!=0xf0)
{
delay();
if((P2&0xf0)!=0xf0)
{
scancode = 0xfe ;
while((scancode & 0x10)!=0)
{
P2=scancode;
if((P2 & 0xf0)!= 0xf0)
{
tempcode = (P2 & 0xf0)|0x0f;
return((~scancode) + (~tempcode));
}
else scancode =(scancode<<1) | 0x01;
}
}
}
return(0);
}
uchar getvalue ()
{
uchar i , j , k , value , number [ 10 ] ;
j = 0 ;
i = keyscan () ;
value = 0 ;
while ( i != 0 )
{
switch( i )
{
case 0x11 : // 1行1列,数字0
number [ j ++ ] = 0 ;
break ;
case 0x21 : // 1行2列,数字1
number [ j ++ ] = 1 ;
break ;
case 0x41 : // 1行3列,数字2
number [ j ++ ] = 2 ;
break ;
case 0x81 : // 1行4列,数字3
number [ j ++ ] = 3 ;
break ;
case 0x12 : // 2行1列,数字4
number [ j ++ ] = 4 ;
break ;
case 0x22 : // 2行2列,数字5
number [ j ++ ] = 5 ;
break ;
case 0x42 : // 2行3列,数字6
number [ j ++ ] = 6 ;
break ;
case 0x82 : // 2行4列,数字7
number [ j ++ ] = 7 ;
break ;
case 0x14 : // 3行1列,数字8
number [ j ++ ] = 8 ;
break ;
case 0x24 : // 3行2列,数字9
number [ j ++ ] = 9 ;
break ;
default : break ;
}
}
for ( k = 0 ; k < j ; k ++ )
{
value = value + num [ j -- ] * ( 10 ^ i ) ;
}
return ( value ) ;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -