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

2019-01-12 15:04

{

uchar shi,ge; shi=dte/10; ge=dte;

write_com(0x80+13);

write_date(0x30+ge); }

void write_clock(uchar add,uchar dat) {

uchar first,second; second=dat/10; first=dat;

write_com(0x80+0x40+add); write_date(0x30+second); write_com(0x80+0x40+add+1); write_date(0x30+first); }

void write_nyr(uchar add,uchar dte) {

uchar shi,ge; shi=dte/10; ge=dte; write_com(0x80+add);

delay(5);

write_date(0x30+shi);

write_com(0x80+add+1); delay(5); write_date(0x30+ge); }

/************************************** **函数名称:init **函数功能:初始化函数 **入口参数:无 **出口参数:无

***************************************/ void init() {

uchar hour=3,min=3,year=11,month=5,day=7,week=6; uchar num;

e=0; write_com(0x38);//设置16*2显示,5*7点阵,8位数据接口 write_com(0x0c);//开显示,不显示光标

write_com(0x06);//当读或写一个字符后地址指针加1,且光标加1 write_com(0x01);//显示清屏:数据指针、所有显示清0 write_com(0x80);//设置数据地址指针 for(num=0;num<15;num++)

{ }

write_date(table1[num]);//LCD显示\初始设置时间\delay(5);

write_com(0x80+0x40); for(num=0;num<14;num++)

/*定时器初始化*/ { }

write_date(table2[num]);//LCD显示\初始设置时间\delay(5);

TMOD=0x01;

TH0=(65536-50000)/256; TL0=(65536-50000)%6; EA=1; ET0=1; TR0=1;

while(1)

{ if(key1==0) //时钟设置//key1按下 {

delay(5);

if(key1==0) //key1真的按下了 {

keynum++;

while(!key1) //去键抖

TR0=0; //时钟暂停

if(keynum==1) //key1按下第一次 {

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

}

if(keynum==2) //key1按下第二次 {

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

if(keynum==3) //key1按下第三次 {

write_com(0x80+0x40+7); } if(keynum==4) //key1按下第三次 {

write_com(0x80+13);

} if(keynum==5) //key1按下第三次 {

write_com(0x80+9);

} if(keynum==6) //key1按下第三次 {

write_com(0x80+6);

} if(keynum==7) //key1按下第三次 {

write_com(0x80+3); }

if(keynum==8) //key1按下第四次 {

keynum=0; //按键次数清零

write_com(0x0c);

TR0=1; //继续运行时钟 } } }

/*按键加*/ if(keynum!=0) {

if(key2==0) {

delay(80); if(key2==0) {

while(!key2); if(keynum==1)

{

sec++;

if(sec==60) sec=0;

write_clock(12,sec); write_com(0x80+0x40+13);

}

if(keynum==2) {

min++;

if(min==60) min=0;

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

}

if(keynum==3) { hour++; if(hour==24)

hour=0;

write_clock(6,hour);

write_com(0x80+0x40+7);

}

if(keynum==4) {

week++; if(week==8) week=1;

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==32)

day=1; }

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

{

if(day==29) day=1; } else {

if(day==31) day=1; }

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

}

if(keynum==6) {

month++;

if(month==13) month=1;

write_nyr(5,month); write_com(0x80+6);

}

if(keynum==7) {

year++; if(year==99) year=0;

write_nyr(2,year); write_com(0x80+3); } }

}

/*按键减*/ if(key3==0) {

delay(80); if(key3==0) {

while(!key3); if(keynum==1) {

sec--;


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

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

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

马上注册会员

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