📄 12c.c
字号:
#include<AT89X52.H>
unsigned char count;
unsigned char code table1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf};
unsigned char code table2[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
unsigned char table3[]={0,0,10,0,0,10,0,0};
sbit k1=P1^0;
sbit k2=P1^1;
sbit k3=P1^2;
sbit k4=P1^3;
unsigned char c,j,s,m,h,b;
void delay(int i);
void keyscan();
void main(void)
{
EA=1;
ET0=1;
TMOD=0X01;
TR0=1;
TH0=15600/256;
TL0=15600%256;
while(1)
{
keyscan();
P0=table1[table3[c]];
P2=table2[c];
c++;
delay(100);
if(c==8)
c=0;
}
}
void delay(int i)
{
while(i--);
}
void keyscan()
{
if(k1==0)
{
delay(100);
if(k1==0)
j++;
if(j==4)
j=0;
while(k1==0);
}
switch(j)
{
case 1:
if(k4==0)
{
delay(100);
if(k4==0)
{
s++;
if(s==60)
{
s=0;
}
table3[0]=s%10;
table3[1]=s/10;
while(k4==0);
}
}
break;
case 2:
if(k3==0)
{
delay(100);
if(k3==0)
{
m++;
if(m==60)
{
m=0;
}
table3[3]=m%10;
table3[4]=m/10;
while(k3==0);
}
}
break;
case 3:
if(k2==0)
{
delay(100);
if(k2==0)
{
h++;
if(h==24)
h=0;
table3[6]=h%10;
table3[7]=h/10;
while(k2==0);
}
}
break;
}
}
void zhongduan(void)interrupt 1 using 0//中断子程序
{
TH0=15600/256;
TL0=15600%256;
b++;
if(b==20)
{
b=0;
s++;
if(s==60)
{
s=0;
m++;
if(m==60)
{
m=0;
h++;
if(h==24)
h=0;
}
}
}
table3[0]=s%10;
table3[1]=s/10;
table3[3]=m%10;
table3[4]=m/10;
table3[6]=h%10;
table3[7]=h/10;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -