基于51单片机的多功能电子密码锁(仿真图+完整程序)

基于51单片机的多功能电子密码锁(仿真图+完整程序)

ID:23438096

大小:312.50 KB

页数:13页

时间:2018-11-07

基于51单片机的多功能电子密码锁(仿真图+完整程序)_第1页
基于51单片机的多功能电子密码锁(仿真图+完整程序)_第2页
基于51单片机的多功能电子密码锁(仿真图+完整程序)_第3页
基于51单片机的多功能电子密码锁(仿真图+完整程序)_第4页
基于51单片机的多功能电子密码锁(仿真图+完整程序)_第5页
资源描述:

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

1、主要功能:当输入密码时,只显示“*”,当密码位数输入完毕按下确认键时,对输入的密码与设定的密码进行比较,若密码正确,则门开,此处用绿色LED发光二极管亮一秒钟做为提示,;若密码不正确,禁止按键输入3秒,同时绿色发光二极管亮;若在3秒之内仍有按键按下,则禁止按键输入3秒被重新禁止。#include#defineuintunsignedint#defineucharunsignedchar#defineKEYP3     //键盘输入端口#defineNo_key20   //无按键时的返回值#definelcdd

2、ataP2  //1602的数据输入端口sbit  lcden=P1^2;sbit  lcdrs=P1^0;sbit  lcdrw=P1^1;sbit  light=P1^3;sbit  light1=P1^4;ucharj;//用来统计输入个数的全局变量ucharaa;//用来在定时器中计数的全局变量ucharcodetable[]="Hello!";ucharcodetable1[]="OK!      ";ucharcodetable2[]="Enterplease:"  ;ucharcodekey_table[16]= 

3、    {      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];        //保存输入的数据ucharconflag;                  //确认标志ucharlockflag;     //锁键盘标志ucharstartflag;    //开始标志     voiddelay(uintz);                       

4、//延时子函数voidwright_com(ucharcom);              //写指令函数voidwright_data(uchardate);     //写数据函数voidinit();                         //初始化voiddisplay_OK();       //显示OKvoiddelete();       //删除输入的最后一个数ucharkeyscan();     //带返回值的键盘扫描程序voidenter_code(uchart);      //输入密码函数,把

5、输入的数据存入数组中并在屏幕上显示相应的东西,void  confirm();    //确认密码对不对,把输入的数据与密码逐一对比,完全一样刚正确,void  succeed_an();   //输入密码成功时的响应,void   fail_an();    //输入密码失败时响应void   lockkey();   //锁键盘三秒void   alarm();   //发出警报声void  reset();     //复位函数void  display_enter();   //显示输入voidmain(void){  

6、 uchartemp;  init();   while(1)  {         if(lockflag)     {    temp=keyscan();  //锁键期间也要进行键盘扫描    if(temp!=No_key)//重新记时三秒                 {     aa=0;   //重新在定时器中计数     }         }   else     {        temp=keyscan();  //反复扫描输入,等待随时输入                 if(temp!=No_key

7、)//有按键按下才进行下面的操作       {         if(temp==10)       {       reset();        startflag=1;//开始标志置位       }      if(startflag)         {            enter_code(temp);  //每扫描一次键盘就要进行一次处理,保存输入的数值                 if(temp==13)  //按下确认键盘就要进行密码确认          {             confirm

8、();   //进行确认判断            if(conflag)      //密码确认为正确              {           succeed_an();   //密码正确,作出相应的反应           }           

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

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

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