CT107D可调时钟带闹铃主控STC89C52RCWord下载.docx
- 文档编号:22319787
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:34
- 大小:516.43KB
CT107D可调时钟带闹铃主控STC89C52RCWord下载.docx
《CT107D可调时钟带闹铃主控STC89C52RCWord下载.docx》由会员分享,可在线阅读,更多相关《CT107D可调时钟带闹铃主控STC89C52RCWord下载.docx(34页珍藏版)》请在冰豆网上搜索。
;
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);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CT107D 可调 时钟 闹铃 主控 STC89C52RC