CT107D可调时钟带闹铃主控STC89C52RCWord下载.docx

上传人:b****8 文档编号:22319787 上传时间:2023-02-03 格式:DOCX 页数:34 大小:516.43KB
下载 相关 举报
CT107D可调时钟带闹铃主控STC89C52RCWord下载.docx_第1页
第1页 / 共34页
CT107D可调时钟带闹铃主控STC89C52RCWord下载.docx_第2页
第2页 / 共34页
CT107D可调时钟带闹铃主控STC89C52RCWord下载.docx_第3页
第3页 / 共34页
CT107D可调时钟带闹铃主控STC89C52RCWord下载.docx_第4页
第4页 / 共34页
CT107D可调时钟带闹铃主控STC89C52RCWord下载.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

CT107D可调时钟带闹铃主控STC89C52RCWord下载.docx

《CT107D可调时钟带闹铃主控STC89C52RCWord下载.docx》由会员分享,可在线阅读,更多相关《CT107D可调时钟带闹铃主控STC89C52RCWord下载.docx(34页珍藏版)》请在冰豆网上搜索。

CT107D可调时钟带闹铃主控STC89C52RCWord下载.docx

;

unsignedcharwelcome2[]="

____"

unsignedintdd=0,c,t,flag1=0,flag,adjust,i,sec,min,hour,day,month,week,year,shi,fen,miao,nian,yue,ri,zhou,n,y,r,z,s,f,m;

voiddelay5ms(void)//误差0us

{

unsignedchara,b;

for(b=19;

b>

0;

b--)

for(a=130;

a>

a--);

}

voiddelay1s(unsignedintd)//误差0us

unsignedchara,b,c;

while(d>

0)

{

for(c=167;

c>

c--)

for(b=171;

for(a=16;

d--;

}

voidDs1302_init()

Ds1302_Single_Byte_Write(0x8e,0);

Ds1302_Single_Byte_Write(0x80,55);

Ds1302_Single_Byte_Write(0x82,59);

Ds1302_Single_Byte_Write(0x84,11);

Ds1302_Single_Byte_Write(0x86,21);

Ds1302_Single_Byte_Write(0x88,2);

Ds1302_Single_Byte_Write(0x8a,7);

Ds1302_Single_Byte_Write(0x8C,16);

voiddisplay()

while

(1)

Ds1302_Single_Byte_Write(0x8f,0);

sec=Ds1302_Single_Byte_Read(0x81);

min=Ds1302_Single_Byte_Read(0x83);

hour=Ds1302_Single_Byte_Read(0x85);

day=Ds1302_Single_Byte_Read(0x87);

month=Ds1302_Single_Byte_Read(0x89);

week=Ds1302_Single_Byte_Read(0x8b);

year=Ds1302_Single_Byte_Read(0x8d);

write_command(0x80+2);

write_data(year/10%10+48);

write_data(year%10+48);

write_command(0x80+5);

write_data(month/10%10+48);

write_data(month%10+48);

write_command(0x80+8);

write_data(day/10%10+48);

write_data(day%10+48);

write_command(0x80+14);

write_data(week+48);

write_command(0x80+0x40+8);

write_data(hour/10%10+48);

write_data(hour%10+48);

write_command(0x80+0x40+11);

write_data(min/10%10+48);

write_data(min%10+48);

write_command(0x80+0x40+14);

write_data(sec/10%10+48);

write_data(sec%10+48);

if((n==year)&

&

(y==month)&

(r==day)&

(z==week)&

(s==hour)&

(f==min)&

(m==sec))

{

dd=200;

}

if(dd>

if(sec%2==0)

{

P2=0xa0;

buzz=1;

relay=1;

P2=0x1f;

dd--;

}

if(ok==0)

delay5ms();

if(ok==0)

{

while(!

ok);

delay5ms();

if(ok==1)

{

dd=0;

}

}

if((sec%2)!

=0)

P2=0xa0;

buzz=0;

relay=0;

P2=0x1f;

voidkeyscan()

while((adjust>

0)&

(flag==0))

if(adjust==1)

write_command(0x80+0x40+14);

write_command(0x0f);

if(add==0)

if(add==0)

add);

if(add==1)

miao++;

if(miao==60)

{

miao=0;

}

write_command(0x80+0x40+14);

write_data(miao/10%10+48);

write_data(miao%10+48);

write_command(0x0f);

flag1=1;

if(sub==0)

if(sub==0)

sub);

if(sub==1)

miao--;

if(miao==-1)

miao=59;

}

if(adjust==2)

write_command(0x80+0x40+11);

fen++;

if(fen==60)

fen=0;

write_command(0x80+0x40+11);

write_data(fen/10%10+48);

write_data(fen%10+48);

fen--;

if(fen==-1)

fen=59;

if(adjust==3)

write_command(0x80+0x40+8);

shi++;

if(shi==24)

shi=0;

write_command(0x80+0x40+8);

write_data(shi/10%10+48);

write_data(shi%10+48);

shi--;

if(shi==-1)

shi=23;

if(adjust==4)

write_command(0x80+14);

zhou++;

if(zhou==8)

zhou=1;

write_command(0x80+13);

write_data(zhou/10%10+48);

write_data(zhou%10+48);

write_command(0x80+14);

zhou--;

if(zhou==-1)

zhou=7;

if(adjust==5)

write_command(0x80+8);

ri++;

switch(yue)

case2:

if(((nian%4==0)&

(nian%100!

=0))||((nian%100==0)&

(nian%400==0)))

{

if(ri==29)

{

ri=1;

}

write_command(0x80+8);

write_data(ri/10%10+48);

write_data(ri%10+48);

write_command(0x0f);

flag1=1;

}

else

if(ri==30)

case1:

case3:

case5:

case7:

case8:

case10:

case12:

if(ri==32)

{

ri=1;

}

write_command(0x80+8);

write_data(ri/10%10+48);

write_data(ri%10+48);

write_command(0x0f);

flag1=1;

case4:

case6:

case9:

case11:

{

ri=1;

}

write_command(0x80+8);

write_data(ri/10%10+48);

write_data(ri%10+48);

write_command(0x0f);

flag1=1;

ri--;

if(ri==-1)

ri=28;

ri=29;

if(ri==-1)

ri=31;

ri=30;

if(adjust==6)

write_command(0x80+5);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 研究生入学考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1