好文档 - 专业文书写作范文服务资料分享网站

51单片机的1602液晶闹钟

天下 分享 时间: 加入收藏 我要投稿 点赞

xianshi(5,yue); //显示月份

write_com(0x86); //写完数据指针指向月份原来位置

}

if(keynum==3)//调日 { ri++;

if(yue==1||yue==3||yue==5||yue==7||yue==8||yue==10||yue==12)//1,3,5,7,8,10,12月有31天 if(ri==32) e==9||yue==11)//4,6,9,11月有30天

0&&nian0!=0)||nian@0==0))//闰年2月有29天

ri=1;//加满还原

if(yue==4||yue==6||yu if(ri==31) ri=1;

if(yue==2&&((nian%4== if(ri==30) ri=1;

if(yue==2&&(nian%4!=0)||(nian0==0&&nian@0!=0))//非闰年2月有28天

if(ri==29) ri=1; xianshi(8,ri);

write_com(0x89); //写完数据指针指向日原来位置 }

if(keynum==4)//调星期 下一次星期加1

{

week++; //2每按 if(week==7) //加满还原

week=1;

xingqi(); //显示星期

write_com(0x8b); //写完数据指针指向星期原来位置 }

if(keynum==5)//调时 {

shi++;//2每按下一次时加1

//显示时

分 分加1 //显示分

一次秒加1

示秒

写完数据指针指向时原来位置

写完数据指针指向分原来位置

if(shi==24)

shi=0; //加满还 xianshi(0x43,shi); write_com(0x80+0x44);调

fen++;//2每按下一次 if(fen==60)

fen=0;//加满还原 xianshi(0x46,fen); write_com(0x80+0x47); 调秒

miao++; //2每按下 if(miao==60)

miao=0;//加满还原

xianshi(0x49,miao);//显 // }

if(keynum==6)// { // } if(keynum==7)// { write_com(0x80+0x4a); //写完数据指针指向秒原来位置

} while(!key2); //松手检测

} }

if(key3==0)

{

delay(5);//消抖

if(key3==0)//3按下时减1 {

if(keynum==1)//月减一 { nian--;

if(nian==-1) nian=2000;

year(nian);

write_com(0x83);

} if(keynum==2)//月减一 { yue--;

if(yue==-1) yue=12;

xianshi(5,yue);

write_com(0x86); }

if(keynum==3)//日减一 {

ri--;

if(ri==0)

{if(yue==1||yue==3||yue==5||yue==7||yue==8||yue==10||yue==12)//1,3,5,7,8,10,12

1)//4,6,9,11

=0)||nian@0==0))//闰年 ri=31;

if(yue==4||yue==6||yue==9||yue==1 ri=30;

if(yue==2&&((nian%4==0&&nian0! ri=29;

==0&&nian@0!=0))//非闰年

if(yue==2&&(nian%4!=0)||(nian0 ri=28;

}

xianshi(8,ri); write_com(0x89);

星期减一 week--;

if(week==-1) week=6;

xingqi(); write_com(0x8b); 时减一 shi--;

if(shi==-1) shi=23;

xianshi(0x43,shi); write_com(0xc4); 分减一

fen--;

if(fen==-1) fen=59;

} if(keynum==4)// { }

if(keynum==5)// { }

if(keynum==6)// {

xianshi(0x46,fen); write_com(0xc7); }

if(keynum==7)//秒减一 { miao--;

if(miao==-1) miao=59;

xianshi(0x49,miao); write_com(0xca);

}

while(!key3); //3松手检测 } } }

if(key4==0)//4被按下进入调闹钟模式 { delay(5);//消抖 if(key4==0)

{

keynum1++; while(!key4);//松手 }

if(keynum1==1) { write_com(0x01);//清屏,指针清0

write_com(0x80+0x45);//在时分之间显示\ write_date(':');

write_com(0x80+0x48);//在分秒之间显示\:\

write_date(':');

write_com(0x0f);//开启光标 write_com(0xc4);//光标指向时 }

if(keynum1==2)

{

write_com(0xc7);//光标指向分 }

51单片机的1602液晶闹钟

xianshi(5,yue);//显示月份write_com(0x86);//写完数据指针指向月份原来位置}
推荐度:
点击下载文档文档为doc格式
1vr7j99d7638ccg96mxg8n6j4879as00bv0
领取福利

微信扫码领取福利

微信扫码分享