key.c
来自「12位DA芯片TLC2543驱动程序 12位DA芯片TLC2543驱动程序」· C语言 代码 · 共 75 行
C
75 行
#include<reg51.h>
static unsigned char code seg []=
{
0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0x7F
};
sbit L1=P0^4;
sbit L2=P0^5;
sbit L3=P0^6;
sbit L4=P0^7;
unsigned char keynum;
void key (void)
{
unsigned char keytmp;
unsigned char keynum;
L1=0;L2=1;L3=1;L4=1;
keytmp=(~P0&0x0f);
switch(keytmp)
{
case 1:keynum=0;break;
case 2:keynum=4;break;
case 4:keynum=8;break;
case 8:keynum=12;break;
default: break;
}
L1=1;L2=0;L3=1;L4=1;
keytmp=(~P0&0x0f);
switch(keytmp)
{
case 1:keynum=1;break;
case 2:keynum=5;break;
case 4:keynum=9;break;
case 8:keynum=13;break;
default: break;
}
L1=1;L2=1;L3=0;L4=1;
keytmp=(~P0&0x0f);
switch(keytmp)
{
case 1:keynum=2;break;
case 2:keynum=6;break;
case 4:keynum=10;break;
case 8:keynum=14;break;
default: break;
}
L1=1;L2=1;L3=1;L4=0;
keytmp=(~P0&0x0f);
switch(keytmp)
{
case 1:keynum=3;break;
case 2:keynum=7;break;
case 4:keynum=11;break;
case 8:keynum=15;break;
default: break;
}
}
void main(void)
{
while(1)
{
key();
P2=0x0f;
P0=seg[keynum];
P2=0x0f;
P0=seg[8];
// P0=0;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?