首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
基于PIC16F877A单片机4位电子密码锁的设计
来源:本站整理  作者:佚名  2011-12-03 18:33:24



  用硬件电路制作的电子密码锁虽然也具有一定的保密性,但是它存在密码编制组数少,编制、更改密码呆板,不够方便灵活等不足。密码一旦被局外人识破、获取,修改密码的工作也需要一定的时间和过程,不利于安全防范的继续,还会给密码锁使用者带来不安全的心理疑虑,故而,实用性相对较差。本文介绍的用PIC16F877A单片机制作的电子密码锁,完全能够满足一般使用场所对物品管理的需要,它用4位LED数码管显示当前密码组的数字,显示醒目,清晰、亮丽,它还有很好的保密性和操作的便捷性,修改、更换密码可随时进行,简单、快捷,不受任何主、客观条件的限制和约束。本密码锁具有多达16000组的密码组合数供选择、设置、使用,同时设最了三次错误码开锁自动锁死键盘的功能,彻底杜绝了破码人想通过用无度输人数码组的方法开启密码锁的机会。

  PIC16F877A可直接用1/0输出端口驱动LED数码管,同时还内含有256字节x8位地址的EEPROM存储器(也称EzPROM存储器),这也是选择用其制作电子密码锁的重要资源之一。用PIC单片机片内的EEPROM存储器存储数据与某些单片机用片外数据存储芯片(如常用的24C02、24C04、93C46、6116等)存储数据相比,不仅减少了硬件配置,不占用单片机的I/O端口线,还降低了系统的总造价,简化了PCB设计工作量和PCB电路板的面积等优点。此外,不像外挂EPROM、EEPROM芯片那样可从电路板上将其取下,井对其内部数据进行读取、拷贝,所以,相比之下其数据的保密性更好,数据更不容易被拷贝、读出、破解.可以获得更高的数据保密性和软件代码知识产权的自保护能力。

  一、电路结构
  
  用PIC16F877A单片机制作的4位电子密码锁硬件电路如下图所示。

  下图电路中PIC16F877A的A端口RAO~RA5设置为输出端口。其中RAO端口通过lkn电阻R13接于05的b极,用于驱动Q5,进而控制密码锁电磁铁Ll的吸合与释放(或者开/关锁减速电机的动作).RA4、RA5、RA2、RA3分别用于驱动4位动态显示共阳极数码管的个位、十位、百位、千位的“位码”(低电平使能)。单片机的B端口的RBO-RB5设置为输入端口。其中:RBO通过lOkΩ,上拉电阻Rl所接的按键SI为密码保存、修改,存储按键:RB1—RB4分别通过各自的lOkΩ,上拉电阻R4~R7按于个位,干位数码值预置按键S3—S6,同时RB1端口所接的按键S3还兼有当前密码隐含控制功能,短按S3按键:用于个位数码置数:当长按S3按键1.2s以上时.数码管从当前的显示码变为“0000”。

  故而,隐含了数码管的开锁密码值.RB5所接的按键S7为读取密码按键或者称开锁确认按键。单片机的(1)脚为复位端口,该端口与按键s2相接(低电平使能).每按下复位键S2-次,单片机系统即会立刻自动复位。复位后存储在单片机内EEPROM中的开锁密码不会消失、改变。单片机的C端口的RC7~RCO设置为输出端口。其中:RCO—RC6分别通过R14—R20各自所接的470Ω限流电阻与数码管的a—g段码相连,用于段码驱动(低电平使能);RC7则通过lkΩ的限流电阻R14接于蜂鸣器驱动三极管06的b极(高电平使能)。单片机的D、E两个端口本项目中未用,空置,电路上电后系统默认为输入端口。

  二.工作原理
  
  本密码锁是将数码管显示的设置当前数码值存入单片机的EEP.ROM作为开锁密码,用电磁铁或减速电机作为执行元件控制保险柜或者门锁的锁闭状态,电磁铁在非吸合状态下将保险柜或者门锁锁死。

  开锁时,首先输入开锁密码,再按下开锁确认键S7后,单片机将数码管显示的当前数码值与存储在单片机内的设置码值进行对比,若输入的当前开锁数码与存储的数码值一致,则认为开锁密码正确,同时单片机的RAO端口输出高电平,驱动开锁电磁铁动作开锁:否则,在当前显示数码值与存储中的原始数码对比后不相等时,则开锁电磁铁不动作,若要是用三次错误的开锁码,单片机即认为是在处于非法开锁状态。

  程序将锁死面板上所有的操作按键锁死,同时蜂鸣器报警。

  三、程序设计
  
  要领程序设计首先要对PIC16F877A单片机I/O端口进行初始化设置。源程序包含:主程序,按键子程序、按键短按与长按识别子程序,定时中断子程序,密码值存储子程序,数码管动态显示子程序,蜂鸣嚣鸣响子程序,延时子程序,限制开锁次数子程序,存储、修改密码确认子程序,读、识别开锁密码子程序等组成。

  程序中数码管显示电路采用的是动态扫描,这样可以简化硬件电路设计,降低电路成本。动态扫描工作时对扫描频率的设置有一定要求,频率太低数码管闪烁;频率过高叉会出现“串红”显示现象,无法分辨出数码管的显示值,设置时要加以注意。本制作中采用的是LG5641BH四位一体化封装式共阳极型LED数码管,由于本程序中数码管的段码和蜂鸣器同用一个端口.这样在数码管正常显示的非报警状态下,蜂鸣器是不能出声的,因此,此时查表显示码非彼查表显示码。

  四、程序烧写
  
  用QL2006-PIC单片机编程器烧写程序的方法和步骤参考如下:

  将所用的编程器硬件与电脑连接好,并正确的放置、锁紧待烧写程序的PIC16F877A。启动烧写软件,启动后的烧写软件窗口界面如右图所示。

  在软件烧写对话框的左下边连接端口处可看到编程器已连接字

  样,同时在其右边还能看到等待命令字样。再点击烧写软件左上角的“文件”加载按钮将本文附带的(.hex)文件添加到烧写软件的工作窗口中。设置好相关“配置位”后即可点击“编程按钮”.片刻后就会看到提示“烧写成功”的对话框。将烧好程序的芯片放到硬件电路板上即可按上述方法操作这个密码锁了。

  程序烧写注意事项:PIC系列单片机均配有CONFIG“配置位”选项寄存器。这一寄存器在PIC单片机内部的地址是2007H单元。PIC单片机配置位的设置举足轻重,它的设置正确与否决定着单片机程序是否能够正常运行,因此必须引起足够的重视和对待。

  五、使用场所及应用拓展随想
  
  要是将本密码锁安装在现有的防盗门上,与防盗门的机械锁联动锁闭,同时对于有条件的或者是用在保护重要物品的场所,也可以在防盗门上加装一个摄像头,在密码锁报警的同时开启摄像头,就会将非法开锁人的面孔尽收眼底。这样做会给日后收集证据提供有效的图像信息,能更好地起到安全防范作用。

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:47,738.28000 毫秒