单片机课程设计报告
write_com(0x80+0x40+1); write_date(' '); write_date(' '); write_sfm(4,shi); } } } } }
void main()//主函数 { init();//首先初始化各数据 while(1)//进入主程序大循环 { keyscan();//不停的检测按键是否被按下 if(s1num!=0) led=0; else led=miao%2; if((shi>7&&shi<23)&&(fen==0)&&(miao==0)) { di(); } } }
void timer0() interrupt 1//定时器0中断服务程序 { TH0=(65536-50000)/256;//再次装定时器初值 TL0=(65536-50000)%6; count++; //中断次数累加 if(count==20) //20次50毫秒为1秒 { count=0; miao++; if(miao==60)//秒加到60则进位分钟 { miao=0;//同时秒数清零 fen++; if(fen==60)//分钟加到60则进位小时 { fen=0;//同时分钟数清零 shi++; if(shi==24)//小时加到24则小时清零 {
20
单片机课程设计报告
shi=0; week++;
if(week==8) {
week=1; }
write_week(week);//星期若变化则重新写入 day++;
if(year%4==0&&month==2)//判断是否为闰年的2月 {
if(day==30) { writeym(); } write_ymd(9,day);//日若变化则重新写入 }
if(year%4!=0&&month==2)//判断是否为平年的2月 {
if(day==29) { writeym();
} write_ymd(9,day);//日若变化则重新写入 }
if(month!=2&&month!=4&&month!=6&&month!=9&&month!=11) {
if(day==32) { writeym(); } write_ymd(9,day);//日若变化则重新写入 }
if(month==4||month==6||month==9||month==11) {
if(day==31) { writeym(); } write_ymd(9,day);//日若变化则重新写入 }
21
单片机课程设计报告
}
} } if(s4num==1) { zhuanhuan(); _shi(); write_sfm(4,pshi);//12小时制小时若变化则重新写入 } else write_sfm(4,shi);//24小时制小时若变化则重新写入 } write_sfm(7,fen);//分钟若变化则重新写入 }
write_sfm(10,miao);//秒若变化则重新写入
22
相关推荐: