當前位置:編程學習大全網 - 編程語言 - Eedo編程

Eedo編程

/*

用proteus做的鐘

它可以顯示年、月、日、小時、分鐘和秒。

可調時間

有圖表嗎

*/

# include & ltreg52.h & gt

# defineuchar?未簽名?茶

#定義?uint?未簽名?(同Internationalorganizations)國際組織

#定義?蒂姆。0xee

#定義?蒂姆爾。0x00

sbit?k1=p1^0;

sbit?k2=p1^1;

sbit?k3=p1^2;

sbit?k4=p1^3;

sbit?k5=p1^4;

sbit?k6=p1^5;

sbit?poit=p0^7;

uint?year=2011,year0 = 0

ucharmon=6,mon0=0,day=26,day0=0,hour=23,hour0=0,min=15,min0=0,sec=0,sec0=10,temp0 = 0

ucharR

烏恰爾?cod1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x 90 };

烏恰爾?temp[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x 00 };

作廢?延遲(uint?z)

{

uint?x,y;

for(x = 0;x & ltz;x++)

for(y = 0;y & lt100;y++);

}

作廢?exter_init()

{

IT0 = 1;

EX0 = 1;

}

作廢?time_init()

{

TMOD = 0x 01;

TH0 = timh

TL0 = timl

ET0 = 1;

EA = 1;

TR0 = 1;

}

作廢?re_time(uchar?答

{

烏恰爾?I,j;

for(j = 0;j & lta;j++)

{ for(I = 0;我& lt14;i++)

{

P0 = cod 1[temp[I]];

if(I = = 3 | | I = = 5 | | I = = 9 | | I = = 11)poit = 0;

P2 =我;

延時(1);

P2 = 0x0f;

}

}

}

作廢?syn()

{

如果(秒!=sec0)

{ sec0 = sec

temp[12]= sec 0/10;

temp[13]= sec 0% 10;}

如果(年!=year0)

{ year0 = year

temp[0]= year 0/1000;

temp[14]= year 0% 1000;

temp[1]= temp[14]/100;

臨時[14]=臨時[14]% 100;

temp[2]= temp[14]/10;

溫度[3]=溫度[14]% 10;}

如果(mon!=mon0)

{ mon0 = mon

temp[4]= mon 0/10;

temp[5]= mon 0% 10;}

如果(天!=第0天)

{ day0 =天;

temp[6]= day 0/10;

temp[7]= day 0% 10;}

如果(小時!=hour0)

{ hour0 =小時;

temp[8]= hour 0/10;

temp[9]= hour 0% 10;}

如果(min!=min0)

{ min0 = min

temp[10]= min 0/10;

temp[11]= min 0% 10;}

}

主()

{

exter _ init();

time _ init();

while(1)

{

re _ time(10);

}

}

作廢?txter()?打斷?0

{

烏恰爾?f;

f = 1;

EA = 0;

而(!K6);

延時(1);

{ re _ time(1);

如果(!K1)

{

min++;

if(min & gt;=60)?min = 0;

而(!k 1);

}

syn();

re _ time(1);

如果(!K2)

{

hour++;

如果(小時& gt=24)?小時= 0;

而(!k2);

}

syn();

re _ time(1);

如果(!K3)

{

day++;

R=(年份% 4 = = 0)amp;& amp(年份%100!=0);

R =(R & amp;& amp(日& gt= 29)& amp;& amp(mon==2))||(!R & amp& amp(日& gt= 30)& amp;& amp(mon==2))||((mon!= 2)& amp;& amp(日& gt=31));

if(R)?日= 1;

而(!k3);

}

syn();

re _ time(1);

如果(!K4)

{

mon++;

if(mon & gt;12)?mon = 1;

而(!K4);

}

syn();

re _ time(1);

如果(!K5)

{

year++;

如果(年份& gt9999)?年份=2000年;

而(!K5);

}

syn();

re _ time(1);

如果(!K6)

{

?F=!f;

?而(!K6);

}

re _ time(1);

syn();

re _ time(1);

} while(F);

sec = 0;

EA = 1;

}

/*****************************************************

* * * * * * * * *定時器0功能

*******************************************************/

作廢?定時器()?打斷?1

{

temp 0++;

if(temp 0 & gt;=200)

{

temp0 = 0

sec++;

if(秒& gt=60)

{

sec = 0;

min++;

if(min & gt;=60)

{

min = 0;

hour++;

如果(小時& gt=24)

{

小時= 0;

day++;

R=(年份% 4 = = 0)amp;& amp(年份%100!=0);

R =(R & amp;& amp(日& gt= 29)& amp;& amp(mon==2))||(!R & amp& amp(日& gt= 30)& amp;& amp(mon==2))||((mon!= 2)& amp;& amp(日& gt=31));

if(R)

{

日= 0;

mon++;

if(mon & gt;=13)

{

mon = 1;

year++;

}

}

}

}

}

}

syn();

TH0 = timh

TL0 = timl

}

  • 上一篇:江西應用科技學院2020年報考政策解讀
  • 下一篇:請教數控系統中的圓弧插補指令用法
  • copyright 2024編程學習大全網