📄 jianpan.c
字号:
#include<reg52.h>
#define uint unsigned int;
#define uchar unsigned char;
unsigned char t;
void delay10ms(void)
{
unsigned char i,j;
for(i=20;i>0;i--)
for(j=248;j>0;j--);
}
unsigned char key()
{
uchar data temp,new,flag;
new = 0xff;
flag=0x00;
P1=0xfe;
temp = P1 & 0xf0;
if(temp == 0xe0)
while(temp==0xe0){P1=0xfe;temp=P1 & 0xf0;new=0x03;flag=0x01;}
if(temp==0xd0)
while(temp==0xd0){P1=0xfe;temp=P1 & 0xf0;new=0x07;flag=0x01;}
if(temp == 0xb0)
while(temp==0xb0){P1=0xfe;temp=P1 & 0xf0;new=0x0b;flag=0x01;}
if(temp==0x70)
while(temp==0x70){P1=0xfe;temp=P1 & 0xf0;new=0x0f;flag=0x01;}
P1=0xfd;
temp=P1 & 0xf0;
if(temp == 0xe0)
while(temp==0xe0){P1=0xfd;temp=P1 & 0xf0;new=0x02;flag=0x01;}
if(temp==0xd0)
while(temp==0xd0){P1=0xfd;temp=P1 & 0xf0;new=0x06;flag=0x01;}
if(temp == 0xb0)
while(temp==0xb0){P1=0xfd;temp=P1 & 0xf0;new=0x0a;flag=0x01;}
if(temp==0x70)
while(temp==0x70){P1=0xfd;temp=P1 & 0xf0;new=0x0e;flag=0x01;}
P1=0xfb;
temp=P1 & 0xf0;
if(temp == 0xe0)
while(temp==0xe0){P1=0xfb;temp=P1 & 0xf0;new=0x01;flag=0x01;}
if(temp==0xd0)
while(temp==0xd0){P1=0xfb;temp=P1 & 0xf0;new=0x05;flag=0x01;}
if(temp == 0xb0)
while(temp==0xb0){P1=0xfb;temp=P1 & 0xf0;new=0x09;flag=0x01;}
if(temp==0x70)
while(temp==0x70){P1=0xfb;temp=P1 & 0xf0;new=0x0d;flag=0x01;}
P1=0xf7;
temp=P1 & 0xf0;
if(temp == 0xe0)
while(temp==0xe0){P1=0xfe;temp=P1 & 0xf0;new=0x00;flag=0x01;}
if(temp==0xd0)
while(temp==0xd0){P1=0xfe;temp=P1 & 0xf0;new=0x04;flag=0x01;}
if(temp == 0xb0)
while(temp==0xb0){P1=0xfe;temp=P1 & 0xf0;new=0x08;flag=0x01;}
if(temp==0x70)
while(temp==0x70){P1=0xfe;temp=P1 & 0xf0;new=0x0c;flag=0x01;}
if(flag==0x00)
new=0xff;
else
new=new;
return new;
}
void seven(unsigned char a)
{
switch (a)
{
case 0x00 :
P2= 0x3f;break;
case 0x01 :
P2= 0X06;break;
case 0x02 :
P2=0x5b;break;
case 0x03 :
P2=0x4f;break;
case 0x04 :
P2=0x66;break;
case 0x05 :
P2=0x6d;break;
case 0x06 :
P2=0x7d;break;
case 0x07 :
P2=0x07;break;
case 0x08 :
P2=0x7f;break;
case 0x09 :
P2=0x6f;break;
case 0x0A :
P2=0x77;break;
case 0x0B :
P2=0x7c;break;
case 0x0C :
P2=0x39;break;
case 0x0D :
P2=0x5e;break;
case 0x0E :
P2=0x79;break;
case 0x0F :
P2=0x71;break;
default :
P2=0x00;break;
}
}
void main()
{
uchar data new,old,j;
while(1)
{
for(j=0x00;j<=0x0f;j++)
{}
new=key();
if(new==old)
seven(new);
else
if(new!=0xff)
{seven(new);
old=new;
}
else
seven(old);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -