多功能电子密码锁设计报告(5)

2019-01-12 15:04

if(sec==-1)

sec=59;

write_clock(12,sec);

write_com(0x80+0x40+13); }

if(keynum==2) {

min--; if(min==-1) min=59;

write_clock(9,min); write_com(0x80+0x40+10);

}

if(keynum==3) {

hour--;

if(hour==-1) hour=23;

write_clock(6,hour); write_com(0x80+0x40+7);

}

if(keynum==4) {

week--;

if(week==0) week=7;

write_week(week); write_com(0x80+13);

}

if(keynum==5) {

day--;

if(month==1||month==3||month==5||month==7||month==8||month==10||month==12) {

if(day==0) month=31;

}

else if(month==2) //注意这里没有考虑闰年 {

if(day==0)

day=28;

} else {

if(day==0)

day=30; }

write_nyr(8,day); write_com(0x80+9);

}

if(keynum==6) {

month--; if(month==0) month=12; write_nyr(5,month); write_com(0x80+6); }

if(keynum==7) {

year--;

if(year==-1) year=99; write_nyr(2,year); write_com(0x80+3);

} } }

} P1=1<<4|1<<0|1<<1|1<<2|1<<3|1<<5|1<<6|0<<7; if(enter==0)break; }

/*检测Enter(P1.3)键是否按下,只有该键按下才能进行输入密码等操作*/ P1=0<<4|1<<0|1<<1|1<<2|1<<3|1<<5|1<<6|1<<7; while(enter);

if(enter==0) {

delay(5); if(enter==0) {

TR0=0; write_com(0x01);//显示清屏:数据指针、所有显示清0

write_com(0x80+0x02);//设置数据地址指针 for(num=0;num<13;num++)

{ write_date(table3[num]);//LCD显示“Enter please:”

delay(5);

}

} while(!enter);//判断按键是否释放 }

/************************************** **函数名称:keyscan **函数功能:3*4键盘扫描 **入口参数:无 **出口参数:jz

***************************************/ uchar keyscan()

{ uchar temp; P1=0xfe;//第一行扫描

temp=P1;

temp=temp&0xf0;

while(temp!=0xf0)

{

delay(5); while(!enter); } P1=0xff;

}

delay(5);

temp=P1;

temp=temp&0xf0; while(temp!=0xf0) {

temp=P1; { switch(temp)

case 0xee:jz=0;

break; case 0xde:jz=1; break; case 0xbe:jz=2; break; case 0x7e:jz=3; break;

}

while(temp!=0xf0) { }

}

temp=P1; temp=temp&0xf0;

P1=0xfd;//第二行扫描 temp=P1; temp=temp&0xf0; while(temp!=0xf0) {

delay(5); temp=P1; temp=temp&0xf0; while(temp!=0xf0) {

temp=P1; {

switch(temp)

case 0xed:jz=4;

break; case 0xdd:jz=5; break; case 0xbd:jz=6; break;

return jz; }

case 0x7d:jz=7;

break; }

while(temp!=0xf0) { temp=P1; temp=temp&0xf0;

}

}

}

P1=0xfb;//第三行扫描 temp=P1; temp=temp&0xf0; while(temp!=0xf0) { delay(5); temp=P1; temp=temp&0xf0; while(temp!=0xf0) { temp=P1; switch(temp) { case 0xeb:jz=8; break; case 0xdb:jz=9; break;

case 0xbb:jz='*'; break;

case 0x7b:jz='#';

break;

}

while(temp!=0xf0) { temp=P1; temp=temp&0xf0;

}

}

}


多功能电子密码锁设计报告(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:产后第一次来月经的三大困惑

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: