write_com(0x80+0x40+4); write_sfm(7,fen);
write_com(0x80+0x40+7); write_sfm(10,miao);
write_com(0x80+0x40+10); }
void SetNowTime() //设置当前时间 {
if(K1==0) {
delay(5); if(K1==0) {
while(!K1); di(); shi++;
if(shi==24) shi=0;
write_sfm(4,shi);
write_com(0x80+0x40+4); } }
if(K2==0) {
delay(5); if(K2==0) {
while(!K2); di(); fen++;
if(fen==60) fen=0;
write_sfm(7,fen);
write_com(0x80+0x40+7); } }
if(K3==0) {
delay(5); if(K3==0) {
while(!K3); di();
第25页
共34页
miao++;
if(miao==60) miao=0;
write_sfm(10,miao);
write_com(0x80+0x40+10); } }
if(K4==0) {
delay(5); if(K4==0) {
while(!K4); di(); k1num=0; TR0=1;
TimeInit(); } } }
void SetAlarmTime() //设置闹钟时间{
flag=0; if(K1==0) {
delay(5); if(K1==0) {
while(!K1); di(); ashi++;
if(ashi==24) ashi=0;
write_sfm(4,ashi);
write_com(0x80+0x40+4); } }
if(K2==0) {
delay(5); if(K2==0) {
while(!K2);
第26页
共34页
di(); afen++;
if(afen==60) afen=0;
write_sfm(7,afen);
write_com(0x80+0x40+7); } }
if(K3==0) {
delay(5); if(K3==0) {
while(!K3); di(); amiao++;
if(amiao==60) amiao=0;
write_sfm(10,amiao); write_com(0x80+0x40+10); } }
if(K4==0) {
delay(5); if(K4==0) {
while(!K4); di(); k4num=0; EA=1; flag=1; TimeInit(); } } }
void DisplayAlarmTime() //显示闹钟函数 {
write_com(0x01); write_com(0x80);
for(num=0;num<11;num++) {
write_date(alarm[num]);
第27页
共34页
delay(5); }
write_com(0x80+0x40+6); write_date(':'); delay(5);
write_com(0x80+0x40+6); write_date(':'); delay(5);
write_sfm(4,ashi);
write_com(0x80+0x40+4); write_sfm(7,afen);
write_com(0x80+0x40+7); write_sfm(10,amiao); write_com(0x80+0x40+10); }
void keyscan() //键盘扫描函数 {
if(K1==0) {
delay(5); if(K1==0) {
TR0=0;
while(!K1); di(); k1num++; } }
if(k1num!=0) {
write_com(0x80);
for(num=0;num<13;num++) {
write_date(table1[num]); delay(5); }
SetNowTime(); } else {
if(K2==0) {
delay(5);
第28页共34页

