1 引 言
近几年来单片机技术飞速发展,各种新型号的单片机层出不穷,在家电、控制、仪表等领域起到了举足轻重的作用。MSP430是一款具有超低功耗、丰富的片内外围模块、软件对硬件灵活控制等特点的单片机,特别适用于由电池供电的应用。本文介绍了一种以MPS430单片机为控制核心的指纹保险柜的工作原理,重点讨论实现指纹保险柜功能的软件设计。
2 指纹保险柜的工作原理
指纹保险柜不用钥匙或密码,仅凭指纹实现保险柜的安全控制。指纹保险柜的原理图如图1所示。
图l中的"控制电路"部分为指纹门锁的控制中心。它从"指纹比对模块"部分取得指纹比对的结果数据,如指纹比对成功,"控制电路"向机械锁芯中的"动作部分"发出开锁的信号。同时监测动作的执行情况与锁的开/关状态。
除此以外,"控制电路"还可控制"指纹比对模块"部分进行指纹录入/删除,并对整个电路的工作状态进行管理控制,对错误进行报警等。
本指纹保险柜具有机械自动触发、锁定功能。一旦门被打开,就关断控制电路,其余工作交予机械部分管理。
3 系统软件设计
3.1 系统分析
系统分析是整个程序设计工作的基点,应根据系统功能进行结构化设计,即将整个程序分为若干个模块,通过主程序将各个模块有机地组织起来。指纹保险柜的系统程序主要由主程序、按键模块、控制模块、显示模块、计时模块和串口通讯模块组成。
下面以按键模块为例,分析该模块详细设计过程。
本指纹保险柜控制电路可存储30个指纹数据,其中包含1个管理者和29个普通用户的指纹数据。它们之间的管理关系为0号管理者管理普通用户群。0号管理者的指纹数据存储于固定的位置00,其他位置为普通用户位置。按键模块分为按键查询和按键管理两部分。
1)按键查询。保险柜具有4个按键,其中,上电键用于为系统加电;录入键用于控制电路执行录入指纹的功能,即将指纹以数据形式存入保险柜中:删除键用于控制电路执行删除数据指纹的功能:而全清键用于使控制电路执行删除全部数据指纹的功能。本模块应判断是否有按键按下,并判断出是哪一个按键按下。
2)按键管理。根据按键查询程序获得的按键值进行相应的动作处理。按下上电键时,蜂鸣器发出一声短促的鸣叫,表示系统已经加电的绿色电源指示灯亮。按下录入键时,窗口内的绿灯亮,表示处于录入数据指纹状态。正常情况下,一个指纹录入时应该划过取指器3次,每次划过后,绿色灯闪动一次,蜂鸣器鸣响一声。成功划过取指器3次后,绿色发光管闪亮,蜂鸣器长鸣一声,表示该指纹已经录入到指纹锁内。当用户手指划过取指器的速度过快、过慢或手指对窗口的压力不够时,蜂鸣器发出2声短鸣,表示此次手指划动不合格,不予记录,应该重新划动。超时无操作,指纹保险柜会自动断电。按下删除键时,窗口内的绿色与红色灯同时亮,表示进入删除数据指纹状态。然后输入要删除的指纹,比对通过后,红色灯熄灭,蜂鸣器鸣响一声,表示此时该指纹已经从指纹锁内删除。按下全清键不动,3秒钟后蜂鸣器发出一声长鸣,继续按全清键,直到发出3声长鸣,表示锁内存储的指纹已被全部清空。
3.2 软件流程
对于复杂系统的程序设计,应在系统分析基础上用直观、易懂的流程图表示程序结构的设计。按键管理模块的流程图如图2所示,其中指纹录入子模块的流程图如图3所示。
|