📄 miaobiao.c
字号:
#include<reg52.h>
#define YS 10
#define L ((0xffff-50000)&0xff)
#define H ((0xffff-50000)>>8)
#define ML ((0XFFFF-10000)&0XFF)
#define MH ((0xffff-10000)>>8)
unsigned int mh1,mh0,mm1,mm0,ms1,ms0;
unsigned char a[]={0x5f,0x03,0x3d,0x2f,0x63,0x6e,0x7e,0x07,0x7f,0x6f};
unsigned int h1,h0,m1,m0,s1,s0;
unsigned int nh1,nh0,nm1,nm0,ns1,ns0;
unsigned int counter;
char j=1;
sbit k1=P1^1;
sbit k0=P1^2;
sbit k2=P3^2;
sbit k4=P1^3;
sbit k5=P3^1;
sbit k6=P3^6;
sbit k7=P1^0;
void delay(int t)
{
int i,j;
for(i=1;i<=t;i++)
for(j=1;j<=t;j++);
}
void xianshi(unsigned int q, unsigned int w, unsigned int e, unsigned int r)
{
P2=0xff;P0=a[q];P2=0x7f;delay(YS);
P2=0xff;P0=a[w];P2= 0xbf;delay(YS);
P2=0xff;P0=a[e];P2=0xdf;delay(YS);
P2=0xff;P0=a[r];P2=0xef;delay(YS);
}
void main(void)
{
EA=0;
k6=1;
k0=1;
k1=1;
k2=1;
k4=1;
k5=0;
k7=1;
h1=1;
h0=2;
nh0=6;
PX0=1;
PT1=0;
PX1=0;
TMOD=0X11;
IT0=0;
TL0=ML;
TH0=MH;
TL1=L;
TH1=H;
TR1=1;
IE=0X8F;
while(1)
{
while(1)
{
xianshi(m0,m1,h0,h1);
if(h1==nh1 && h0==nh0 && m1==nm1 && nm0==m0 && k7==1 )
k6=0;
if(nm0!=m0)
k6=1;
if(k1==0)
goto naozhong;
if(k0==0)
goto miaobiao;
}
naozhong:if(k1==0)
{
while(k1==0);
EX0=0;
while(1)
{ j=0;k5=1;
xianshi(nm0,nm1,nh0,nh1);
if(k0==0)
{
nm0++;
if(nm0==10)
{
nm1++;nm0=0;
if(nm1==6)
nm1=0;
}
while(k0==0);
}
if(k4==0)
{
k7=~k7;
while(k4==0);
}
if(k2==0)
{
nh0++;
if(nh0==10)
{
nh1++;nh0=0;
}
if(nh1==2&&nh0==4)
{
nh1=0;nh0=0;
}
while(k2==0);
}
if(k1==0)
{
EX0=1;j=1;goto tiaochu2 ;
}
}
tiaochu2:while(k1==0);
}
miaobiao:if(k0==0)
{
EX0=0;
while(k0==0);
while(1)
{
j=0;k5=1;
xianshi(ms0,ms1,mm0,mm1);
if(TR0==0 && k2==0)
{TR0=1;while(k2==0);}
if(TR0==1 && k2==0)
{TR0=0;while(k2==0);}
if(TR0==0 && k1==0)
{ms0=0;ms1=0;mm0=0;mm1=0;mh0=0;mh1=0;}
if(k0==0)
{
EX0=1;j=1;goto tiaochu3;
}
}
tiaochu3:while(k0==0);
}
}
}
void time1(void)interrupt 3
{
TL1=L;
TH1=H;
if((counter ==10 || counter==0)&& j==1) k5=~k5;
counter++;
if(counter==20)
{
counter=0;
s0++;
if(s0==10)
{
s0=0;
s1++;
if(s1==6)
{
s1=0;
m0++;
if(m0==10)
{
m0=0;
m1++;
if(m1==6)
{
m1=0;
h0++;
if(h0==10)
{
h0=0;
h1++;
}
if(h1==2&&h0==4)
{
h1=0;h0=0;
}
}
}
}
}
}
}
void tiaoshi()interrupt 0
{
EX1=0;
EX0=0;
s0=0;s1=0;
while(k2==0);
while(1)
{ j=0;k5=1;
xianshi(m0,m1,h0,h1);
if(k0==0)
{
m0++;
if(m0==10)
{
m1++;m0=0;
if(m1==6)
m1=0;
}
while(k0==0);
}
if(k1==0)
{
h0++;
if(h0==10)
{
h1++;h0=0;
}
if(h1==2&&h0==4)
{
h1=0;h0=0;
}
while(k1==0);
}
if(k2==0)
{
EX0=1;EX1=1;j=1;goto tiaochu1;
}
}
tiaochu1:while(k2==0);
}
void miaobiaotimer0(void)interrupt 1
{
TL0=ML;
TH0=MH;
ms0++;
if(ms0==10)
{
ms0=0;
ms1++;
if(ms1==10)
{
ms1=0;
mm0++;
if(mm0==10)
{
mm0=0;
mm1++;
if(mm1==6)
{
mm1=0;
mh0++;
if(mh0==10)
{
mh0=0;
mh1++;
}
if(mh0==0 && mh1==10)
{mh0=0;mh1=0;}
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -