基于单片机的数字电子时钟 - 图文

loading 分享 2026-9-3 下载文档

#include\#include\#include\#include%unsigned char panduanyue(unsigned char j) { switch(j) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: return(1);

break;

case 4: case 6: case 9: case 11: return(2); break;

case 2:

return(3);

break;

} return 0;

}

unsigned char runnian(unsigned char i) { if((i%4==0&&i0!=0)||(i@0==0)) { return 1; } else { return 0; }

}

void anjian() { unsigned char i=0,j,k=0;

if(gongneng==0)

26

{ delay(10); if(gongneng==0) { i++;

while(!gongneng); if(i==1)//分 { lcdwrite_com(0xc0+4); lcdwrite_com(0x0f);

}

if(i==2)//时 { lcdwrite_com(0xc0+2); }

if(i==3)//日 { lcdwrite_com(0x80+9); }

if(i==4)//月 { lcdwrite_com(0x80+6); }

if(i==5)//年 { lcdwrite_com(0x80+3); } if(i==6) { i=0;

lcdwrite_com(0x0c); }

} }

if(i!=1)

{ if(jia==0) { delay(5); if(jia==0) { while(!jia); if(i==1)//分

{

27

}

j=(int)time_buf1[5]; j++; if(j==60) { }

j=0;

if(i==2)//时 { }

if(i==3)//日 {

j=(int)time_buf1[3]; j++;

if(panduanyue((int)time_buf1[3])==1) { }

else if(panduanyue((int)time_buf1[3])==2) { }

else if(panduanyue((int)time_buf1[3])==3) {

if(runnian(2000+(int)time_buf1[1])==1) { } else {

28

if(j==31) { }

j=30; if(j==32) { }

j=31;

j=(int)time_buf1[4]; j++; if(j==24) { }

j=0;

} }

}

if(i==4)//月 { j=(int)time_buf1[2]; j++; if(j==13) { j=12;

}

}

if(i==5)//年 { j=(int)time_buf1[1]; j++; if(j==100) { j=99; }

} if(i==6) { } } }

}

}

//LCD1602模块程序 #include #include

#include\#include\sbit lcdrs= P1^1; sbit lcdrw=P1^2; sbit lcden = P1^3; bit lcdcheckbusy(void) { P0=0xff; lcdrs=0; lcdrw=1; lcden=0; delay(5);

lcden=1;

29


基于单片机的数字电子时钟 - 图文.doc 将本文的Word文档下载到电脑
搜索更多关于: 基于单片机的数字电子时钟 - 图文 的文档
相关推荐
相关阅读