将8位CPU和系统可编程Flash组合在芯片上,片上Flash使得ROM在系统可编程,这样可以让51单片机在众多的控制系统中发挥作用,使用更加灵活,方便,有效,具有低功耗,高性能的特点。因此,用键盘输入模块、显示模块、报警模块和密码存储模块设计的电子密码锁防盗报警系统具有更安全、操作性更强的特点。单片机I/O接口端比较丰富,而且可以较为灵活的编写程序,准确的控制了系统的运行,不仅可以较为精确的实现电子密码锁的基本功能,还可以在原有的基础上进行功能的扩展,对系统进行升级[2]。其原理框图如图1。4所示。
图1。4 单片机电子密码锁原理框图
比较上述两种方案,方案一结构简单,便于理解,但是其需要一些逻辑器件,智能化大大的降低,在实际操作时不可拓展更多的功能,灵活性较差,而且准确度也不高。方案二中AT89C51单片机有丰富的I/O接口,可以灵活的进行编程设计,有更大的拓展空间,而且控制准确,在实际操作方面,保密性也更强,不管是现实生活的需要,还是未来的研究发展,方案二都有明显的优势,所以本次设计采用方案二。
2 系统硬件设计
2。1 键盘输入电路
在本次设计中,需要用到16个键盘,如果使用独立式键盘,需要占用16个端口,所以为了减少对端口的占用,采用矩阵式键盘。矩阵式键盘用4条I/O线作为行线,4条I/O线作为列线来构建,在每个行线和列线的交叉处放置一个按键,这样16个按键只需要占用8个端口,相对于独立式键盘可以减少一半的端口使用量。矩阵式键盘在结构和单片机的识别上较独立式键盘要复杂一些。用线反转法来确定矩阵键盘中哪个按键被按下,其结构原理图如图2。1所示。
矩阵键盘仿真图
首先判断有无按键按下,设置好规定的键值0x0f,如果有按键按下,键值就会发生改变。再判断哪个按键被按下,先将低四位P1。0~P1。3(列线)输入高电平,高四位P1。4~P1。7(行线)置低,则当有按键按下时,就会引起按键所在的列线的电平由高电平变为低电平,这样就能判断哪一列有按键被按下;同理,再将高四位P1。4~P1。7(行线)输入高电平,低四位P1。0~P1。3(列线)置低,当有按键被按下时,按键所在的行线就会由高电平变成低电平,这样就能判断哪一行有按键被按下,行线与列线交叉处的按键即为按下的按键[3]。按键功能如图2。2所示。
S0~S9为数字按键,分别代表数字0~9,用户根据自己的需求输入8位密码;来,自,优.尔:论;文*网www.youerw.com +QQ752018766-
S10、S11为左移键和右移键,当此按键被按下,光标就会相应的左移右移,从而方便用户输入和修改密码;
S12为修改输入键,当输入密码时不小心将一个数字输入错误,按下此键就可以修改,重新输入正确的数字;
S13为修改密码键,用户如果想要修改密码,按下此键,就可以进入修改密码模式,配合左移右移键,修改密码,修改密码时必须先输入之前的密码,输入正确才可以修改密码,否则提示错误;
S14为关闭键,按下“关闭”键,如果设备处于打开状态,显示“CLOSE”,电机正转90度,设备关闭,如果设备原本处于关闭状态,将显示“IS CLOSE”,电机无动作;
S15为确认键,当用户密码输入正确并且确认无误后,按下确认键,系统根据按下的按键做出相应的反应。