信息工程学院课程设计
} } } }
void keyscan() //键盘扫描 { if(key1==0) { delay(10); if(key1==0) { while(!key1); //key1键松开后执行下一行程序 time(); //调用time()函数,即时间设置 } } else if(key2==0) { cnt1++; delay(10); if(cnt1==1) { while(!key2) { ahourge1=ahour1; ahourshi1=ahour1/10; write_com(0x80+0x40+7); write_data(table1[ahourge1]); delay(5); write_com(0x80+0x40+6); delay(2); write_data(table1[ahourshi1]); aminge1=amin1; aminshi1=amin1/10; write_com(0x80+0x40+10); write_data(table1[aminge1]); delay(5); write_com(0x80+0x40+9); delay(2); write_data(table1[aminshi1]); write_com(0x80+0x40);
21
信息工程学院课程设计
for(i=0;i<11;++i) write_data(Alarm_1[i]); //显示闹钟设置的时间 } write_com(0x80+0x40); for(i=0;i<11;i++) write_data(riqi[i]); //key2松开后,LCD只有第一行显示时间,闹钟设置时间不显示 } if(cnt1==2) { while(!key2) { ahourge2=ahour2; ahourshi2=ahour2/10; write_com(0x80+0x40+7); write_data(table1[ahourge2]); delay(5); write_com(0x80+0x40+6); delay(2); write_data(table1[ahourshi2]); aminge1=amin1; aminshi1=amin1/10; write_com(0x80+0x40+10); write_data(table1[aminge2]); delay(5); write_com(0x80+0x40+9); delay(2); write_data(table1[aminshi2]); write_com(0x80+0x40); for(i=0;i<11;++i) write_data(Alarm_2[i]); } write_com(0x80+0x40); for(i=0;i<11;i++) write_data(riqi[i]); 时间,闹钟设置时间不显示 } if(cnt1==3) { while(!key2) { ahourge3=ahour3;
//显示闹钟设置的时间 //key2松开后,LCD只有第一行显示22
信息工程学院课程设计
ahourshi3=ahour3/10; write_com(0x80+0x40+7); write_data(table1[ahourge3]); delay(5); write_com(0x80+0x40+6); delay(2); write_data(table1[ahourshi3]); aminge1=amin1; aminshi1=amin1/10; write_com(0x80+0x40+10); write_data(table1[aminge3]); delay(5); write_com(0x80+0x40+9); delay(2); write_data(table1[aminshi3]); write_com(0x80+0x40); for(i=0;i<11;++i) write_data(Alarm_3[i]); } write_com(0x80+0x40); for(i=0;i<11;i++) write_data(riqi[i]); 时间,闹钟设置时间不显示 } if(cnt1==4) { while(!key2) { ahourge4=ahour4; ahourshi4=ahour4/10; write_com(0x80+0x40+7); write_data(table1[ahourge4]); delay(5); write_com(0x80+0x40+6); delay(2); write_data(table1[ahourshi4]); aminge1=amin1; aminshi1=amin1/10; write_com(0x80+0x40+10); write_data(table1[aminge4]); delay(5); write_com(0x80+0x40+9);
//显示闹钟设置的时间 //key2松开后,LCD只有第一行显示23
信息工程学院课程设计
delay(2); write_data(table1[aminshi4]); write_com(0x80+0x40); for(i=0;i<11;++i) write_data(Alarm_4[i]); //显示闹钟设置的时间 } write_com(0x80+0x40); for(i=0;i<11;i++) write_data(riqi[i]); //key2松开后,LCD只有第一行显示时间,闹钟设置时间不显示 }
if(cnt1>4) cnt1=0; }
else if(key3==0) { cnt++; delay(10); if(cnt==1) { while(!key3); //表示闹钟时间设置退出 ahourge1=ahour1; ahourshi1=ahour1/10; write_com(0x80+0x40+7); write_data(table1[ahourge1]); delay(5); write_com(0x80+0x40+6); delay(2); write_data(table1[ahourshi1]); aminge1=amin1; aminshi1=amin1/10; write_com(0x80+0x40+10); write_data(table1[aminge1]); delay(5); write_com(0x80+0x40+9); delay(2); write_data(table1[aminshi1]); write_com(0x80+0x40); for(i=0;i<11;++i) write_data(Alarm_1[i]); display1(); }
24
信息工程学院课程设计
if(cnt==3) { while(!key3); //表示闹钟时间设置退出 ahourge2=ahour2; ahourshi2=ahour2/10; write_com(0x80+0x40+7); write_data(table1[ahourge2]); delay(5); write_com(0x80+0x40+6); delay(2); write_data(table1[ahourshi2]); aminge2=amin2; aminshi2=amin2/10; write_com(0x80+0x40+10); write_data(table1[aminge2]); delay(5); write_com(0x80+0x40+9); delay(2); write_data(table1[aminshi2]); write_com(0x80+0x40); for(i=0;i<11;++i) write_data(Alarm_2[i]); display2(); } if(cnt==5) { while(!key3); //表示闹钟时间设置退出 ahourge3=ahour3; ahourshi3=ahour3/10; write_com(0x80+0x40+7); write_data(table1[ahourge3]); delay(5); write_com(0x80+0x40+6); delay(2); write_data(table1[ahourshi3]); aminge3=amin3; aminshi3=amin3/10; write_com(0x80+0x40+10); write_data(table1[aminge3]); delay(5); write_com(0x80+0x40+9); delay(2); write_data(table1[aminshi3]); write_com(0x80+0x40);
25