密码锁的设计

密码锁的设计

ID:21838402

大小:86.21 KB

页数:11页

时间:2018-10-25

密码锁的设计_第1页
密码锁的设计_第2页
密码锁的设计_第3页
密码锁的设计_第4页
密码锁的设计_第5页
资源描述:

《密码锁的设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、密码锁的设计1.数字式密码锁2.4-6位组成3.可修改密码4.三次输入错误报警include<reg52.h>#defineuintunsignedint#defineucharunsignedcharsbitbuzzer=P3A0;sbitrs=P2A6;//1602的数据/指令选择控制线sbitrw=P2A5;sbit//1602的读写控制线sbiten=P2A7;//1602的使能控制线keyO=P3A7;uchartable[10];ucharkeycmp[4];ucharkeyword[4]={0,0,0,0};ucharnum=0,flg

2、=0,key=0,ala=0,in=0;voidflagpd();voiddelay(uintx){}uintij;for(i=x;i>O;i-)for(j=110;j>0;j-);voidalarm(){}voidlcd_wcom(ucharcom)//1602写命令函数rs=O;//选择指令寄存器rw=0;//选择写P0=com;//把命令字送入POnum=0;buzzer=O;delay(lOOOO);buzzer=l;delay(5);//延时一小会儿,让1602准备接收数据en=l;//使能线电平变化,命令送入1602的8位数裾口en=O;

3、}voidlcd_wdat(uchardat)//1602写数据函数rs=l;//选择数据寄存器rw=0;//选择写PO=dat;//把要显示的数据送入P0delay⑸;//延时一小会儿,让1602准备接收数据en=l;//使能线电平变化,数据送入1602的8位数据口en=0;}voidlcd_init()//1602初始化函数Icd_wcom(0x38);//8位数据,双列,5*7字形Icd_wcom(0x0c);//开启显示屏,关光标,光标不闪烁Icd_wcom(0x06);//显示地址递增,即写一个数据后,显示位置右移一位Icd_wcom(0x01);"清

4、屏}voiddisplay(){}voidright(){ucharij;j=num+0x46;Icd_wcom(0x80+j);i=keycmp[num];i=i+0x30;table[O]=i;lcd_wdat(table[O]);}ucharn=0;ucharcodetablel[]=Hwelcome";Icd_wcom(0x01);Icd_wcom(0x84);for(n=0;n<7;n++){led一wdat(tablel[n]);delay(200);}num=0;flg=2;in=l;voidindisplay(){ucharn=0;ucha

5、rcodetable5[]="inputpassword";Icd_wcom(0x01);Icd_wcom(0x80);}for(n=0;n<14;n++){Icd_wdat(table5[n]);delay(200);}voidsetdisplay(){}ucharn=O;ucharcodetable2[]="changepassword";led一wcom(OxOl);Icd_wcom(0x80);for(n=0;n<15;n++){Icd_wdat(table2[n]);delay(2OO);}voiderror(){ucharn,m;ucha

6、rcodetable3[]="ERROR!";ucharcodetable4[]="inputagain";Icd_wcom(0x01);Icd_wcom(0x85);for(n=0;n<6;n++){Icd_wdat(table3[n]);delay(200);}Icd_wcom(0x80+0x42);for(m=0;m<ll;m++){Icd_wdat(table4[m]);delay(200);}ala=ala+l;num=0;}flg=2;voidset(){}voidokdisplay(){if(in==l){}else{error();f

7、lagpd();}num=0;flg=l;setdisplay();in=0;}ucharn;ucharcodetable6[]="OK";led—wcom(0x01);Icd_wcom(0x87);for(n=0;n<2;n++){Icd_wdat(table6[n]);delay(200);}voidok(){if(keyword[i]!=keycmp[i]){error();}elsereturn;}if(num==4){right();return;}if(flg==l){if(num==4){num=O;for(i=0;i<4;i++)ke

8、yword[i]=key

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。