📄 a.c
字号:
# include <at89x51.H>
bit flag;
unsigned char count;
unsigned char s=58,m=59,h=23,j;
unsigned char codes[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
unsigned char scancode[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
delay(unsigned char x)
{ unsigned int i,j;
for(i=0;i>x;i++)
for(j=200;j>0;j--);
}
void time(void) interrupt 1 using 0
{
unsigned char temp;
while(P3_0==0)
{
delay(10);
if (P3_0==0) flag=1;
}
if(flag==1)
{
if(P3!=0xff)
{
temp=P3;
while(P3!=0xff);
switch(temp)
{
case 0xfd:
s++;break;
case 0xfb:
s--;break;
case 0xf7:
m++;break;
case 0xef:
m--;break;
case 0xdf:
h++;break;
case 0xbf:
h--;break;
case 0x7f:
flag=0;break;
}
if(s>=60) s=0;
else if(s<=0) s=59;
if(m>=60) m=0;
else if(m<=0) m=59;
if(h>=24) h=0;
else if(h<=0) h=23;
}
}
else
{
count++;
if (count==200)
{
count=0;
s++;
if(s>=60)
{
s=0;m++;
if(m>=60)
{
m=0;h++;
if(h>=24)
{
h=0;
}
}
}
}
}
switch(j)
{
case 0:
P2=scancode[0];P1=codes[s%10];break;
case 1:
P2=scancode[1];P1=codes[s/10];break;
case 2:
P2=scancode[2];P1=0xbf;break;
case 3:
P2=scancode[3];P1=codes[m%10];break;
case 4:
P2=scancode[4];P1=codes[m/10];break;
case 5:
P2=scancode[5];P1=0xbf;break;
case 6:
P2=scancode[6];P1=codes[h%10];break;
case 7:
P2=scancode[7];P1=codes[h/10];break;
}
j++;
if (j==8)
{
j=0;
}
TH0=(65536-5000)/256;
TL0=(65536-5000)%256;
}
void init(void)
{
TMOD=0x01;
TH0=(65536-5000)/256;
TL0=(65536-5000)%256;
EA=1;
ET0=1;
TR0=1;
}
void main(void)
{
init();
while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -