仿真电路图
代码
#include <REGX51.H>
#define uchar unsigned char
#define uint unsigned int
#define KEY P2
#define DIS P0
sbit KEYH1 = P2^0;
sbit KEYH2 = P2^1;
sbit KEYH3 = P2^2;
sbit KEYH4 = P2^3;
unsigned char keynum=16;
uchar led[]={0xC0,0xF9,0xa4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0xff};
void Delay1ms(unsigned int n);
void key();
void main()
{
while(1)
{
key();
DIS=led[keynum];
}
}
void key()
{
P2=0x0f;
if(P2!=0x0f){
Delay1ms(10);
if(P2!=0x0f)
{
P2=0xef;
if(KEYH1==0) keynum=0;
if(KEYH2==0) keynum=4;
if(KEYH3==0) keynum=8;
if(KEYH4==0) keynum=12;
P2=0xdf;
if(KEYH1==0) keynum=1;
if(KEYH2==0) keynum=5;
if(KEYH3==0) keynum=9;
if(KEYH4==0) keynum&#