{ char k;
dis[0]=timedata[0];dis[1]=timedata[0]/10;dis[2]=timedata[1];dis[3]=timedata[1]/10;dis[4]=timedata[2];dis[5]=timedata[2]/10;dis[7]=lessionNumber; for (k=0;k<8;k++) {
if(k==2)//第三个片选显示出右下角点 {
P0=dis_7_[dis[2]];P2=scan_con[k];delay1ms(1);P0=0x00;P2=0xff; }
else if(k==4)//第五个片选显示出右下角点 {
P0=dis_7_[dis[4]];P2=scan_con[k];delay1ms(1);P0=0x00;P2=0xff; }
else {P0=dis_7[dis[k]];P2=scan_con[k]; delay1ms(1);P0=0x00; P2 =0xff;} } }
// 主函数程序 main() {
TH0 =0x3c; TL0=0xb0;
TMOD=0x01; ET0=1; TR0=1; EA =1; while (1) {
scan(); bellTime();
13
keyscan(); } }
//定时器T0中断服务函数
void time_intt0(void ) interrupt 1
{ ET0=0 ; TR0=0; TH0=0x3c; TL0 =0xb0;TR0=1; ms50++; if(ms50==20) {
ms50=0x00;timedata[0]++; if(timedata[0]==60) {
timedata[0]=0; timedata[1]++; if(timedata[1]==60) {
timedata[1]=0; timedata[2]++; if(timedata[2]==24) {
timedata[2]=0; } } } } ET0=1; }
//打铃对比级打铃函数
bellTime()//响铃时间设置为11秒 {
switch(timedata[1]){ case 0:
14
if(timedata[2]==8) //第一节课上课时间8:00 //调用响铃程序,响铃,同时显示上课节数 { if(timedata[0]<11){ PinSpeaker=TRUE; lessionNumber=1; delay1ms(1); PinSpeaker=FALSE; delay1ms(1); } }
if(timedata[2]==14) //第三节课上课时间14:00 //调用响铃程序,响铃,同时修改上课节数 { if(timedata[0]<11){ PinSpeaker=TRUE; lessionNumber=3; delay1ms(1); PinSpeaker=FALSE; delay1ms(1); } } break; case 40:
if(timedata[2]==8) //第一节课下课时间8:40 //调用响铃程序,响铃 { if(timedata[0]<11){ PinSpeaker=TRUE; delay1ms(1); PinSpeaker=FALSE; delay1ms(1); }
15
}
if(timedata[2]==14) //第三节课下课时间14:40 //调用响铃程序,响铃 { if(timedata[0]<11){ PinSpeaker=TRUE; delay1ms(1); PinSpeaker=FALSE; delay1ms(1); } } break; case 50:
if(timedata[2]==8)//第二节课上课时间8:50 //调用响铃程序,响铃,同时修改上课节数 { if(timedata[0]<11){ PinSpeaker=TRUE; lessionNumber=2; delay1ms(1); PinSpeaker=FALSE; delay1ms(1); } }
if(timedata[2]==14) //第四节课上课时间14:50 //调用响铃程序,响铃,同时修改上课节数 { if(timedata[0]<11){ PinSpeaker=TRUE; lessionNumber=4; delay1ms(1); PinSpeaker=FALSE; delay1ms(1);
16