344
0000~0FFFFH。
213 系统软件设计成 都 信 息 工 程 学 院 学 报 第24卷
系统软件流程图如图6所示,在整个软件设计流程中,键盘扫描及识别,密码校验和定时器程序比较重要。键盘扫描电路中,扫描键盘时采用逐列扫描的方式,依次对1、2、3、4列按键循环扫描(P3口低四位连接键盘的行线,高四位连接键盘的列线)。扫描时先对单片机P3口赋0xff,同时对与要扫描那列按键相连的单片机端口赋低电平,再将P3口的值与0x0f相与使低四位有效,如果按键被按下则与被按下那个按键相连接的单片机端口的电平将被拉到低电平,通过判断P3口的值就可以判断出是哪个按键被按下。需要注意的是,在键盘扫描软件设计中,一定要有毛刺消除的功能,否则按键按下的响应会受到较大的影响。不同按键赋不同的值来执行相应的操作的。
密码校验的设立主要是从安全性的角度考虑的,址并读出改地址对应的内容,,片内的密码很容易被破解,如果加上密码校验位,。,通过多位同或运算或其它更复杂的运算,将整,,每次设定密码,在存储密码的,同时进行密码校验,这样就相当于加入了两级密码保护,提高了安全性,同时,即使普通密码被盗取,但校验运算方式不公开,也是不能直接打开电子密码锁的。
其处理关系程序中简单体现如下:
if(KeyCount!=pwlen) //密码位数不为6位
{ErrorFlag=1;
RightfFag=0;}else
{for(i=0;i<6;i++)
{if(getpw[i]!=pw[i]) //逐位比较用户输入密码和系统密码
{ErrorFlag=1; RightfFag=0;break;//如果某位不一致则结束循环不再做后续比较}……
定时器是保证限时输入密码和键盘锁定。定时器0中断的作用是给系统锁定键盘定时,当用户三次错误输入密码后启动定时器0,通过定时器0中断函数判断是否到定时时间,到了就停止定时器0并解除键盘锁定。定时器1中断的作用是限时输入密码,当用户第一位输入密码后启动定时器,通过定时器1中断函数判断是否到定时时间,到了就停止定时器1并清除输入的密码。其中定时器0中断主要处理程序如下:
m++;
if(m==100000) //判断定时时间(10000个定时器0的定时时间)是否到
{TR0=0; //系统锁定时间到停止定时器0
m=0;
KeyerrorTimes=0; //密码错误次数标志置0
TimesoverFlag=0; //时间溢出标志置0
}……
3 结束语
系统主要通过软件程序来控制硬件电路实现一些基本的电子密码锁的功能,具有软硬件设计简单,易于开发,成本较低,安全可靠,操作方便等特点,可应用于住宅、办公室的保险箱及档案柜等需要防盗的场所,有比较强的实用性。但是,从安全性角度考虑,本型电子安全密码锁系统在后续执行器的接口点上,存在着“单点失效”
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新高等教育基于单片机的电子密码锁控制电路设计(4)全文阅读和word下载服务。
相关推荐: