📄 w7.c
字号:
#include<reg51.h>
unsigned char keyv;
unsigned char code table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0xff}; //字形码)
void delay1ms(unsigned int t)
{ unsigned int i,j;
for(i=0;i<t;i++)
for(j=0;j<120;j++);
}
void keyscan() //按键扫描子程序
{ unsigned char temp,scode;
scode=0xfe;
P1=scode;
temp=P1;
temp&=0xf0;
if(temp!=0xf0)
{delay1ms(10);
temp=P1;
temp&=0xf0;
if(temp!=0xf0)
{temp=P1;
temp&=0xF0;
switch(temp)
{case 0xe0: keyv=0;break;
case 0xd0: keyv=1;break;
case 0xb0: keyv=2;break;
case 0x70: keyv=3;break;
}
}
}
scode=0xfd;
P1=scode;
temp=P1;
temp&=0xf0;
if(temp!=0xf0)
{delay1ms(10);
temp=P1;
temp&=0xf0;
if(temp!=0xf0)
{temp=P1;
temp&=0xF0;
switch(temp)
{case 0xe0: keyv=4;break;
case 0xd0: keyv=5;break;
case 0xb0: keyv=6;break;
case 0x70: keyv=7;break;
}
}
}
scode=0xfb;
P1=scode;
temp=P1;
temp&=0xf0;
if(temp!=0xf0)
{delay1ms(10);
temp=P1;
temp&=0xf0;
if(temp!=0xf0)
{temp=P1;
temp&=0xF0;
switch(temp)
{case 0xe0: keyv=8;break;
case 0xd0: keyv=9;break;
case 0xb0: keyv=10;break;
case 0x70: keyv=11;break;
}
}
}
scode=0xf7;
P1=scode;
temp=P1;
temp&=0xf0;
if(temp!=0xf0)
{delay1ms(10);
temp=P1;
temp&=0xf0;
if(temp!=0xf0)
{temp=P1;
temp&=0xF0;
switch(temp)
{case 0xe0: keyv=12;break;
case 0xd0: keyv=13;break;
case 0xb0: keyv=14;break;
case 0x70: keyv=15;break;
}
}
}
}
void display()
{ P0=table[keyv];
P2=0;
}
void main()
{keyv=16;
while(1)
{ keyscan();
display();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -