51单片机时钟应用C语言文档格式.docx
《51单片机时钟应用C语言文档格式.docx》由会员分享,可在线阅读,更多相关《51单片机时钟应用C语言文档格式.docx(22页珍藏版)》请在冰豆网上搜索。
![51单片机时钟应用C语言文档格式.docx](https://file1.bdocx.com/fileroot1/2022-10/29/07716341-66d8-4edc-964b-6601ababeb7b/07716341-66d8-4edc-964b-6601ababeb7b1.gif)
voidmain()
{
uintzhuj=0,syj=0,de4d=1,de3d=1,m1=0,f1=0,h1=0,g1=0,sjt1=0,ts=0,jp,zj1=0,zj2=0,sjd1=0,sjd2=0,ds=0,ds1f=0,ds1h=0,qdk1=0,dzj=0,ds2f=0,ds2h=0,qdk2=0,ds3f=0,ds3h=0,qdk3=0,ds4f=0,ds4h=0,qdk4=0,dsg=0,dsg1f=0,dsg1h=0,qdg1=0,dsg2f=0,dsg2h=0,qdg2=0,dsg3f=0,dsg3h=0,qdg3=0;
P0=0;
TMOD=0x01;
//设置定时器工作方式1
TH0=(65536-50000)/256;
//给定时器装初值
TL0=(65536-50000)%256;
EA=1;
//开总中断
ET0=1;
//开定时器0中断
TR0=1;
//启动定时器0
while
(1)
{
if(qdg1==1&
&
dsg1f==f&
dsg1h==h&
m==0)
{
de3d=1;
}
if(qdg2==1&
dsg2f==f&
dsg2h==h&
if(qdg3==1&
dsg3f==f&
dsg3h==h&
if(qdk1==1&
ds1f==f&
ds1h==h&
m==0)//定时开控制
{
de3d=0;
de4d=0;
}
if(qdk2==1&
ds2f==f&
ds2h==h&
if(qdk3==1&
ds3f==f&
ds3h==h&
if(qdk4==1&
ds4f==f&
ds4h==h&
if(kg==0)
{
while
(1)
if(kg==1)
break;
jp=P1&
0x0f;
//键盘端口取数
if(jp==0x08&
zhuj==0)//主机开关
zhuj=1;
de3d++;
if(de3d>
1)
de3d=0;
if(jp==0x0f&
zhuj==1)
zhuj=0;
//主机开关
if(jp==0x06&
syj==0)//收音机开关
syj=1;
de4d++;
if(de4d>
de4d=0;
syj==1)
syj=0;
//收音机开关
if(jp==0x0e&
sjt1==0&
ds==0&
dsg==0)//是否要调时
sjt1=1;
ts++;
if(ts>
ts=0;
sjt1==1)
sjt1=0;
//是否要调时
if(ts==1)//调时
m=0;
if(jp==0x0d&
(ys==1||ys==3)&
zj1==0)
{
zj1=1;
f++;
if(f>
=60)
f=0;
}
if(ys==2||ys==0)
zj1=0;
if(jp==0x0c&
zj2==0)
zj2=1;
h++;
=24)
h=0;
zj2=0;
}//调时
if(jp==0x0b&
sjd1==0&
ts==0&
dsg==0)//是否要定时
sjd1=1;
ds++;
if(ds>
4)
ds=0;
sjd1==1)
sjd1=0;
//是否要定时
if(ds==1)//定时1
ds1f++;
if(ds1f>
ds1f=0;
ds1h++;
if(ds1h>
ds1h=0;
if(jp==0x0a&
dzj==0)//启动
dzj=1;
qdk1++;
if(qdk1>
qdk1=0;
if(jp==0x0f&
dzj==1)
dzj=0;
//启动
}//定时1
if(ds==2)//定时2
ds2f++;
if(ds2f>
ds2f=0;
ds2h++;
if(ds2h>
ds2h=0;
qdk2++;
if(qdk2>
qdk2=0;
}
//定时2
if(ds==3)//定时3
ds3f++;
if(ds3f>
ds3f=0;
ds3h++;
if(ds3h>
ds3h=0;
qdk3++;
if(qdk3>
qdk3=0;
//定时3
if(ds==4)//定时4
ds4f++;
if(ds4f>
ds4f=0;
ds4h++;
if(ds4h>
ds4h=0;
qdk4++;
if(qdk4>
qdk4=0;
if(jp=