基于51单片机的多功能电子密码锁

基于51单片机的多功能电子密码锁

ID:854333

大小:331.01 KB

页数:15页

时间:2017-09-20

基于51单片机的多功能电子密码锁_第1页
基于51单片机的多功能电子密码锁_第2页
基于51单片机的多功能电子密码锁_第3页
基于51单片机的多功能电子密码锁_第4页
基于51单片机的多功能电子密码锁_第5页
资源描述:

《基于51单片机的多功能电子密码锁》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、#include#defineuintunsignedint#defineucharunsignedchar#defineKEYP3     //键盘输入端口#defineNo_key20   //无按键时的返回值#definelcddataP2  //1602的数据输入端口sbit  lcden=P1^2;sbit  lcdrs=P1^0;sbit  lcdrw=P1^1;sbit  light=P1^3;sbit  light1=P1^4;ucharj;//用来统计输入个数的全局变量ucharaa;

2、//用来在定时器中计数的全局变量ucharcodetable[]="Hello!";ucharcodetable1[]="OK!      ";ucharcodetable2[]="Enterplease:"  ;ucharcodekey_table[16]=     {      1,2,3,10,   4,5,6,11,   7,8,9,12,   0,13,14,15     };ucharpassword[]={2,0,1,0,9,3};  //设定初始密码ucharsave[6];        //保存输入的

3、数据ucharconflag;                  //确认标志ucharlockflag;     //锁键盘标志ucharstartflag;    //开始标志     voiddelay(uintz);                       //延时子函数voidwright_com(ucharcom);              //写指令函数voidwright_data(uchardate);     //写数据函数voidinit();                         

4、//初始化voiddisplay_OK();       //显示OKvoiddelete();       //删除输入的最后一个数ucharkeyscan();     //带返回值的键盘扫描程序voidenter_code(uchart);      //输入密码函数,把输入的数据存入数组中并在屏幕上显示相应的东西,void  confirm();    //确认密码对不对,把输入的数据与密码逐一对比,完全一样刚正确,void  succeed_an();   //输入密码成功时的响应,void   fail_an

5、();    //输入密码失败时响应void   lockkey();   //锁键盘三秒void   alarm();   //发出警报声void  reset();     //复位函数void  display_enter();   //显示输入voidmain(void){   uchartemp;  init();   while(1)  {         if(lockflag)     {    temp=keyscan();  //锁键期间也要进行键盘扫描    if(temp!=No_key)//重新

6、记时三秒                 {     aa=0;   //重新在定时器中计数     }         }   else     {        temp=keyscan();  //反复扫描输入,等待随时输入                 if(temp!=No_key)//有按键按下才进行下面的操作       {         if(temp==10)       {       reset();        startflag=1;//开始标志置位       }      if(sta

7、rtflag)         {            enter_code(temp);  //每扫描一次键盘就要进行一次处理,保存输入的数值                 if(temp==13)  //按下确认键盘就要进行密码确认          {             confirm();   //进行确认判断            if(conflag)      //密码确认为正确              {           succeed_an();   //密码正确,作出相应的反应    

8、       }           else            {            fail_an();  //密码错误,作相应反应            }            }                 if(temp==14)         {         delete();    

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

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

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