1.3 本设计所要实现的目标
本次设计从经济和实用两个角度同时出发,作为密码锁核心的主控芯片与数据存储器单元采用的是美国Atmel公司的AT89C51单片机。显示方面使用的是功能强大的LCD1602液晶显示,结合外围的4*4矩阵键盘输入,实现解锁、上锁、修改密码等功能。用户必须通过键盘输入正确的四位密码后才能打开锁,另外为了加强防盗性,在累积输入3次错误后会启动智能报警程序,会响起警铃提醒人们。在输入密码的时候还具有清除输入以及倒退一格的功能,这是考虑到了在用户输入密码时候可能会存在输入错误的情况,此时按倒退一格就可以删除前一位输入的密码,清除输入则是清除所有输入。这样就不用担心会累计输入三次错误,导致报警的情况。另外出于安全考虑,输入的数字密码在显示器上显示的是“*”这也是防止密码泄露的举措之一,目的是为了使用户在使用时不必担心被旁人窥视屏幕而泄露密码。源1自37518.论~文'网·www.751com.cn
1.4 设计方案简介
随着科学的进步,单片机的种类越来越多。不同型号的单片机它们所应用的环境以及各自的功能也不尽相同。因此在选取单片机时需要进行多方比较,选取性价比最高的那一个。在选取过程中不仅需要考虑到性能、存储器、运行速度、串行接口、I/O口、定时/计数器、模拟电路功能、工作电压、功耗、抗干扰性、封装形式、保密性等方面还要考虑一些最基本的比如:中断源的数量和优先级、工作时的温度范围、是否有低电压检测功能、单片机内有无时钟振荡器、有没有上电复位功能等。考虑到种种因素,又查阅了多方资料,最终确定采用美国Atmel公司的AT89C51单片机。这是因为美国Atmel公司的AT89C51单片机在性能方面,控制方面,还有编程设计方面都优于其他型号的单片机,性价比高,适用于密码锁这样服务大众的产品。密码锁的电路周围有许多模块设计,4*4外接键盘用于用户日常最基本的操作,上面一共16个键分别为0-9数字键用于输入密码以及其它6个功能键包括解锁、上锁、设置新密码、保存、清空输入、后退一格等功能。AT24C02外部芯片用于存储密码,用户读取和写入数据都是通过这个芯片。LCD1602外部显示器用于显示功能,每一个操作都会有相对应的显示,方便用户更好的理解。如果用户需要打开锁,按下键盘上的按钮,按下小键盘上的数字键输入0-9中设置好的四位密码。输入密码后点击解锁键,系统会运行解锁程序进行判断,如果密码正确,开锁成功,显示器会提示用户开锁成功,用户可以进行下一步操作。否则显示密码输入错误,显示器会显示请尝试输入正确的密码。在密码累计三次错误后报警,提醒周围人的注意。如果用户需要修改密码,首先要在解锁状态下进行,解锁成功后,显示屏显示的是“please choose!”这时就可以按下键盘的设置新密码键,然后再输入新密码。如果不是在解锁状态下按设置密码键,显示屏就会显示“NO Right”来提示用户操作不正确。输入新密码的时候显示屏显示同数字同样为“*”字符号,防止密码泄露。在修改完密码系统会保存新密码然后自动上锁。
2 主要元器件
2.1 主控芯片AT89C51
2.1.1 主控芯片AT89C51主要功能
考虑到种种因素,又查阅了多方资料,密码锁的主控芯片与数据存储器单元最终采用的是美国Atmel公司的AT89C51单片机。这是因为AT89C51是一种低功耗,高性能CMOS 8位具有4K字节闪烁可编程可擦除只读微机存储器,英文简称为(PEROM)。该设备是采用Atmel的高密度非易失性存储器技术制造,数据保留时间持久,使用寿命长。另外值得一提的是AT89C51能够与工业标准的MCS-51指令集和引脚兼容,方便的许多用户。片上Flash通过一个多功能的8位CPU与Flash在一个单片芯片相结合,可以允许程序存储器在系统或传统的非易失性存储器编程器编程。AT89C51受到广泛的应用,强大的处理性能使它成为许多嵌入式控制应用的核心