多功能电子密码锁设计报告(编辑修改稿)内容摘要:

ait[]=limit!PleaseWait。 uchar code codebig[]=code is BIG。 uchar code codesmall[]=code is SMALL。 uchar code clear[]=。 uchar code smb1[]=yourmother birth。 uchar code smb[]=set your mb。 uchar code mes1[]=first message。 uchar code modifycode[]=modify code。 uchar flag=0,conflag=0,keynum=0,jp=0,js=0,i,i3=0,j=0,counter=0,statu。 uchar num,t0,hour=0,min=0,sec=0,year=12,month=7,day=6,week=5。 void delay(uint z) {uint x,y。 for(y=z。 y0。 y) for(x=100。 x0。 x)。 } void Play(uchar num) //16 个地址是 2 秒。 { if(num==0x01){StartAdr=0x0014。 EndAdr=0x001f。 } //门铃 else if(num==0x02){StartAdr=0x0020。 EndAdr=0x0028。 } //键盘已锁住 else if(num==0x03){StartAdr=0x002a。 EndAdr=0x0034。 } //键盘解锁成功 else if(num==0x04){StartAdr=0x0036。 EndAdr=0x003c。 } // 位数不够 else if(num==0x05){StartAdr=0x0040。 EndAdr=0x004d。 } // 是否留言 else if(num==0x06){StartAdr=0x0051。 EndAdr=0x005f。 } // 请输入电话号码 else if(num==0x07){StartAdr=0x0063。 EndAdr=0x0078。 } // 留言成功 else if(num==0x08){StartAdr=0x007a。 EndAdr=0x0084。 } // 母亲生日 else if(num==0x09){StartAdr=0x0087。 EndAdr=0x008e。 } // 答案错误 else if(num==0x10){StartAdr=0x0090。 EndAdr=0x00a4。 } // 回答正确 else if(num==0x11){StartAdr=0x00ab。 EndAdr=0x00b8。 } // 请输入开锁密码 else if(num==0x12){StartAdr=0x00bb。 EndAdr=0x00c1。 } // 密码错误 else if(num==0x13){StartAdr=0x00c4。 EndAdr=0x00ca。 } // 密码正确 else if(num==0x14){StartAdr=0x00cd。 EndAdr=0x00d3。 } // 开锁成功 else if(num==0x15){StartAdr=0x00d7。 EndAdr=0x00dc。 } // 您有留言 else if(num==0x16){StartAdr=0x00e1。 EndAdr=0x00ef。 } // 请输入管理员密码 else if(num==0x17){StartAdr=0x00f3。 EndAdr=0x0104。 } // 错误次数太多禁止输入 else if(num==0x18){StartAdr=0x0106。 EndAdr=0x0110。 } // 请再次确认 else if(num==0x19){StartAdr=0x0111。 EndAdr=0x0121。 } // 修改管理员密码 else if(num==0x20){StartAdr=0x0123。 EndAdr=0x0132。 } // 修改开锁密码 else if(num==0x21){StartAdr=0x0134。 EndAdr=0x0139。 } // 修改成功 17 else if(num==0x22){StartAdr=0x013d。 EndAdr=0x0143。 } // 修改失败 else if(num==0x23){StartAdr=0x014a。 EndAdr=0x0158。 } // 请修改密保答案 else if(num==0x24){StartAdr=0x015b。 EndAdr=0x0164。 } // 请您回电话 else if(num==0x25){StartAdr=0x0167。 EndAdr=0x0169。 } //1 else if(num==0x26){StartAdr=0x016c。 EndAdr=0x016e。 } //2 else if(num==0x27){StartAdr=0x0171。 EndAdr=0x0173。 } //3 else if(num==0x28){StartAdr=0x0176。 EndAdr=0x0182。 } //请输入旧密码 else if(num==0x29){StartAdr=0x0184。 EndAdr=0x0190。 } //请输入新密码 else if(num==0x30){StartAdr=0x0197。 EndAdr=0x019d。 } //密码偏小 else if(num==0x31){StartAdr=0x01a1。 EndAdr=0x01a7。 } //密码偏大 else if(num==0x32){StartAdr=0x01aa。 EndAdr=0x01b4。 } //密码太简单 ISD_SendData(0x03)。 // RESET ISD_SendData(0x00)。 SS=1。 delay(50)。 ISD_SendData(0x01)。 // pu ISD_SendData(0x00)。 SS=1。 delay(50)。 ISD_SendData(0x45)。 // WR_APC ISD_SendData(0x08)。 ISD_SendData(0x0C)。 // SS=1。 delay(50)。 statu=0。 while((statuamp。 0x01)==0x00) { ISD_SendData(0x05)。 // READSTATU ISD_SendData(0x00)。 statu=ISD_SendData(0x00)。 // SS=1。 } delay(50)。 ISD_SendData(0x80)。 // SETPLAY ISD_SendData(0x00)。 ISD_SendData(StartAdramp。 0x00ff)。 // ISD_SendData(StartAdr8)。 ISD_SendData(EndAdramp。 0x00ff)。 // ISD_SendData(EndAdr8)。 ISD_SendData(0x00)。 SS=1。 18 ISD_SendData(0x05)。 // READSTATU ISD_SendData(0x00)。 statu=ISD_SendData(0x00)。 // SS=1。 while((statuamp。 0x04)==0x04) { ISD_SendData(0x05)。 // READSTATU ISD_SendData(0x00)。 statu=ISD_SendData(0x00)。 // SS=1。 } ISD_SendData(0x07)。 //pd ISD_SendData(0x00)。 SS=1。 } /* void Rec(uchar num) //16 个地址是 2 秒。 { if(num==0x01){StartAdr=0x001b。 EndAdr=0x0024。 } else if(num==0x02){StartAdr=0x0031。 EndAdr=0x003d。 } ISD_SendData(0x03)。 // RESET ISD_SendData(0x00)。 SS=1。 delay(50)。 ISD_SendData(0x01)。 // pu ISD_SendData(0x00)。 SS=1。 delay(50)。 ISD_SendData(0x45)。 // WR_APC ISD_SendData(0x40)。 ISD_SendData(0x04)。 // SS=1。 delay(50)。 statu=0。 while((statuamp。 0x01)==0x00) { ISD_SendData(0x05)。 // READSTATU ISD_SendData(0x00)。 statu=ISD_SendData(0x00)。 // SS=1。 } delay(50)。 ISD_SendData(0x81)。 // SETREC 19 ISD_SendData(0x00)。 ISD_SendData(StartAdramp。 0x00ff)。 // ISD_SendData(StartAdr8)。 ISD_SendData(EndAdramp。 0x00ff)。 // ISD_SendData(EndAdr8)。 ISD_SendData(0x00)。 SS=1。 ISD_SendData(0x05)。 // READSTATU ISD_SendData(0x00)。 statu=ISD_SendData(0x00)。 // SS=1。 while((statuamp。 0x08)==0x08) { ISD_SendData(0x05)。 // READSTATU ISD_SendData(0x00)。 statu=ISD_SendData(0x00)。 // SS=1。 } ISD_SendData(0x07)。 //pd ISD_SendData(0x00)。 SS=1。 } */ void I_delay(void) { uchar i。 for(i=0。 i1。 i++)。 } uchar ISD_SendData(uchar BUF_ISD) { uchar i,dat=BUF_ISD。 SCLK=1。 SS=0。 for(i=0。 i8。 i++) { SCLK=0。 I_delay()。 if(datamp。 0x01) { MOSI=1。 } else { MOSI=0。 20 } dat=1。 if(MISO) { dat|=0x80。 } SCLK=1。 I_delay()。 } MOSI=0。 // SS=1。 return(dat)。 } void beep_( uint frq,uint time) { uint tt1,tt2。 for(tt1=time。 tt10。 tt1) { beep=0。 for(tt2=frq。 tt20。 tt2)。 beep=1。 for(tt2=frq。 tt20。 tt2)。 } } void write_(uchar ) { P0=。 rs=0。 lcden=0。 delay(5)。 lcden=1。 delay(5)。 lcden=0。 } void write_date(uchar date) { P0=date。 rs=1。 lcden=0。 delay(5)。 lcden=1。 delay(5)。 lcden=0。 21 } void write_clock(uchar add,uchar dat) { uchar first,second。 second=dat/10。 first=dat%10。 delay(10)。 write_(0x80+0x40+add。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。