📄 key.c
字号:
#include<reg51.h>
/*#include<stdio.h>
#include<stdlib.h>
#include<absacc.h>
#include<intrins.h>
#include<math.h>
#include"key.h"*/
#define uc unsigned char
void delay50xus(uc count)
{
uc i,j;
for(j=0;j<count;j++)
for(i=0;i<6;i++);
}
bit judgekey() /*判键程序*/
{
uc scancode; /*P1高4位列线,低4位行线*/
P1=0xf0;
scancode=P1;
scancode&=0xf0;
if(scancode==0xf0)
return(0);
else
return(1);
}
uc sankey()
{
uc scancode,keycode;
scancode=0xfe;
while(scancode!=0xef)
{
P1=scancode;
keycode=P1;
if((keycode&0xf0)!=0xf0) break;
scancode=scancode<<1|0x01;
}
return keycode;
}
void main()
{
uc keycode,bd;
while(1)
{
delay50xus(100);
if(judgekey());
keycode=scankey();
while(judgekey());
}
switch(keycode)
{
case 0xee: bd=0xc0; break;
case 0xde: bd=0xf9; break;
case 0xbe: bd=0xa4; break;
case 0x7e: bd=0xb0; break;
case 0xed: bd=0x99; break;
case 0xdd: bd=0x92; break;
case 0xbd: bd=0x82; break;
case 0x7d: bd=0xf8; break;
case 0xeb: bd=0x90; break;
case 0xbb: bd=0x88; break;
case 0x7b: bd=0x83; break;
case 0xe7: bd=0xc6; break;
case 0xd7: bd=0xa1; break;
case 0xb7: bd=0x86; break;
case 0x77: bd=0x8e; break;
}
P2=bd;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -