基于C语言STC89C52单片机电子密码锁的设计与模拟
来源:guobinxiu
作者:华仔
浏览:1769
时间:2016-08-10 14:18
标签:
摘要:
摘要:实现了跨导放大器-电容器的全集成可变带宽中频宽带低通滤波器(OTA—C)连续时间滤波器的结构、设计和具体实现,采用外部可编程电路控制设计滤波器的带宽ADS电路设计和模拟验证软件。模拟结果表明,滤波器带宽的可调范围为1~26 MHz,阻带抑制率大于35 dB,带内波纹小于0.5 dB,采用1.8 V电源,TSMC 0.18μm CMOS工艺库仿真,功耗小于21 mW,接近理想状态的频响曲线。关键词:Butte
摘要:介绍一个通过Protues电子密码锁功仿真的电子密码锁。采用高可靠性STC89C52单片机用于开锁和密码识别I2C总线接口的E2PROM通过1602液晶显示器提示程序的运行状态和使用步骤,使用蜂鸣器模拟报警和发光二极管模拟锁开关完成密码存储。与汇编语言相比,该系统具有更好的移植性和可读性,便于修改和增减。
关键词:Protues;密码锁;单片机;C语言
O 引言
电子密码锁是现代生活中常用的加密工具。它克服了机械密码锁密码量小、安全性能差的缺点,特别是微控制器的智能电子密码锁,不仅具有电子密码锁的功能,还引入了智能管理功能,使密码锁具有更高的安全性和可靠性。
通常使用电子密码锁ARM与单片机控制相比,单片机ARM实现相对简单,功能相对完善,使用单片机控制更多。单片机控制的密码锁通常使用汇编语言编写程序,大多数显示器使用数字管。本文介绍的电子密码锁采用移植性强、可读性强的高级语言C语言编写,便于修改、增减功能;同时,1602液晶显示器显示清晰,功耗小,使用寿命长,显示更直观,使用更方便。从经济实用的角度来看,采用STC8 9C52单片机设计了具有密码设置、报警和防止多次测试密码功能的电子密码锁Protues软件成功仿真。
1 系统工作原理
本系统以STC89C以52单片机为核心,使用4台×4矩阵键盘驱动1602显示器提示程序运行过程和解锁步骤作为数据输入模式。该系统的密码判断过程如下:
当用户输入6位密码时,按下它BESURE键,单片机通过密码逐个比较,如果输入的6位密码和设定的密码完全相同,那么能成功驱动开锁模拟灯将锁打开。如果输入6位密码与设定的密码不同,请按下BESURE按钮后,模拟灯不亮,可以按BACK重新输入。在输入密码的过程中,输入错误是不可避免的。如果密码输入错误,可以直接按下BACK重新输入键,但系统不允许无限次按钮BACK单片机将驱动蜂鸣器报警,以免套用密码。此外,该系统还有时间限制输入密码。如果在规定时间内没有输入正确的密码,也会报警。
修改密码的功能如下当密码输入正确时,按下SET键可以设置新的密码。每个设置一个新密码,单片机都会给它E2PROM,当输入6个新密码时,系统将自动返回程序,重新读取并保存密码,用户需要输入新密码才能打开锁。
2 系统设计
2.1 硬件支持
使用的部件有:核心芯片STC89C52、存储芯片AT24C02、液晶显示1602、矩阵键盘、报警蜂鸣器、独立按钮(模拟门开关)、发光二极管(模拟锁开关)和三极管(放大电流)。
2.2 软件设计
该系统软件包括主程序模块、密码比较判断模块、密码修改模块、键盘扫描模块、液晶显示模块和定时程序。系统程序流程如图1所示。
分享到: