闹钟实验报告 下载本文

}

/*********************************************************************

定时器0中断产生秒

**********************************************************************/

void time0() interrupt 1 /*定时中断0*/ {

TL0=0xb0; //定时50ms TH0=0x3c;

sec20++; //计数到一秒 protime(); }

/*********************************************************************

闹铃函数

**********************************************************************/

void naoling1() {

amin1=min;

ahour1=hour; }

void naoling2() {

amin2=min; ahour2=hour; }

void naoling3() {

amin3=min; ahour3=hour; }

/*********************************************************************

时间处理函数

**********************************************************************/

void protime() {

if(sec20>19) //一秒到 {

sec20=0; sec++; }

if(sec>59) { sec=0; min++; }

if(min>59) { min=0; hour++; }

if(hour>23) { hour=0; day++; }

if(day>31) { day=0; month++; }

if(month>12) { month=0; year2++;}

timebuf[0]=sec+48; // timebuf[1]=sec/10+48; timebuf[3]=min+48; timebuf[4]=min/10+48; timebuf[6]=hour+48; timebuf[7]=hour/10+48;

timebuf[8]=year1/10+48; // timebuf[9]=year1+48;

timebuf[10]=year2/10+48; // timebuf[11]=year2+48; timebuf[13]=month/10+48; timebuf[14]=month+48; timebuf[16]=day/10+48; timebuf[17]=day+48;

时间数据更新 时间数据更新 时间数据更新