单片机课程设计
// {
// num1++;
// while(!KEY_MIN); // } // } //
// if(!KEY_TIMING_SET) // {
// delayms(10);
// if(!KEY_TIMING_SET) // {
// if(num1>0) // num1--;
// while(!KEY_TIMING_SET); // } // } //}
void main() { Sys_init(); while(1) {
// RecFuntion();
// WRITE_LCD1602_COM(0x80+0x40+11); //指定显示字符的地址 // WRITE_LCD1602_DAT(0x30+num1/10); // WRITE_LCD1602_DAT(0x30+num1); if(SET_TIMING_FLAG==0) { RH(); Main_display(); } else { Timing_display(); } keycsan(); PlayVoice(); } }
void Sys_init(void) { m=0; f=0; InitISD();
18
单片机课程设计
stoppd(); INIT_DS1302(); //初始化DS1302 init_1602(); //初始化LCD1602 Timing_hour=READ_DS1302(READ_DS1302_Timing_Hour1); if(Timing_hour>23) Timing_hour=0; Timing_min=READ_DS1302(READ_DS1302_Timing_Min1); if(Timing_min>59) Timing_min=0; Timing_on=READ_DS1302(READ_DS1302_Timing_Hour2); if(Timing_on>1) Timing_on=1; TMOD=0x01; TH0=0; TL0=0; TR0=1; IT0=1; EX0=1; EA=1; }
//外部中断解码程序
void intersvrl(void) interrupt 0 { Tc=TH0*256+TL0; TH0=0; TL0=0; if((Tc>Imin)&&(Tc 19 单片机课程设计 { Im[m/8]=Im[m/8]>>1; m++; } if(m==32) { m=0; f=0; if(Im[2]=~Im[3]) IrOK=1; else IrOK=0; } } } void PlayVoice(void) { if(IrOK==1) //解码成功 { Receive_dat=Im[2]; IrOK=0; } if(!KEY_MIN||Receive_dat==0x1c) { delayms(10); if(!KEY_MIN||Receive_dat==0x1c) { Receive_dat=0; if(SET_TIMING_FLAG==0&&SET_TIM_FLAG==0) { autoplay(VoiceAddTab[2]); while(INT==0); while(INT==1); Main_display(); autoplay(VoiceAddTab[0]); while(INT==0); while(INT==1); Main_display(); autoplay(VoiceAddTab[Tim_red_tab[0]/10]); while(INT==0); while(INT==1); Main_display(); autoplay(VoiceAddTab[Tim_red_tab[0]]); while(INT==0); while(INT==1); 20 单片机课程设计 Main_display(); autoplay(VoiceAddTab[11]); while(INT==0); while(INT==1); Main_display(); if(Tim_red_tab[1]>10) { autoplay(VoiceAddTab[10]); while(INT==0); while(INT==1); Main_display(); autoplay(VoiceAddTab[Tim_red_tab[1]]); while(INT==0); while(INT==1); Main_display(); } else { autoplay(VoiceAddTab[Tim_red_tab[1]]); while(INT==0); while(INT==1); Main_display(); } autoplay(VoiceAddTab[12]); while(INT==0); while(INT==1); Main_display(); if(Tim_red_tab[2]>19) { autoplay(VoiceAddTab[Tim_red_tab[2]/10]); while(INT==0); while(INT==1); Main_display(); autoplay(VoiceAddTab[10]); while(INT==0); while(INT==1); Main_display(); if(Tim_red_tab[2]>0) { autoplay(VoiceAddTab[Tim_red_tab[2]]); while(INT==0); while(INT==1); Main_display(); } 21 单片机课程设计 } else if(Tim_red_tab[2]>10) { autoplay(VoiceAddTab[10]); while(INT==0); while(INT==1); Main_display(); autoplay(VoiceAddTab[Tim_red_tab[2]]); while(INT==0); while(INT==1); Main_display(); } else { autoplay(VoiceAddTab[Tim_red_tab[2]]); while(INT==0); while(INT==1); Main_display(); } autoplay(VoiceAddTab[13]); while(INT==0); while(INT==1); Main_display(); autoplay(VoiceAddTab[17]); while(INT==0); while(INT==1); Main_display(); if(Tim_red_tab[3]==0) { autoplay(VoiceAddTab[13]); while(INT==0); while(INT==1); Main_display(); } else { autoplay(VoiceAddTab[Tim_red_tab[3]]); while(INT==0); while(INT==1); Main_display(); } autoplay(VoiceAddTab[18]); while(INT==0); 22