多用户密码锁的设计

发布者:CreativeMind最新更新时间:2014-10-16 来源: eefocus关键字:多用户密码锁  单片机 手机看文章 扫描二维码
随时随地手机看文章

    安全防盗已成为社会问题。而锁自古以来就是把守门户的铁将军,人们对它要求甚高,既要安全可靠地防盗,又要使用方便,这也是制锁者长期以来研制的主题。
    文中设计的电子密码锁和市面销售的AB锁有类似之处,但主要区别在于设计的这个密码锁由主人决定客人进入的密码,不需要通过换锁来防止用过该锁的人再次进入,而且只有主人才有对密码的修改权。

1 方案设计思想
    文中的多用户密码锁设有一个管理员用户,管理员对密码有修改权。另设有两个来宾用户,可以根据管理员提供的密码开锁,自己则不可以任意修改密码。更换住户时,只需要管理员更换密码即可,这样就避免了换锁带来的麻烦,节约了成本。
    密码锁的设计采用通用板制作,所以涉及到元器件的排布和走线问题。由于带有一个管理员用户(主人用户),可以对自己和两个来宾用户的密码进行修改,而且还要限制两个来宾用户的对密码的修改权。所以,在密码修改程序上需要精心处理,在进入密码修改程序时有两个条件。首先,是主用户进入的系统;其次是密码修改按键被按下。在密码输入程序上也要特别的注意,区分并确认是哪个用户进入当前系统,即用户名和密码需对号入座,这也是设计的关键所在。

2 系统结构与原理
2.1 系统结构
    多用户密码锁电路设计共分为6部分:电源、用户显示单元、晶振电路、键盘电路、编程控制部分、功能显示单元。通过排版、布局,把这6个部分组合起来,构成一个完整的多用户密码锁控制电路,如图1所示。


2.2 系统原理
    首先,要有晶振电路产生工作时钟送至单片机内部的各个部件使其正常工作。其次,用AT89C5l的并行口P1接4×4矩阵键盘,以P1.0~P1.3作输出线,以P1.4~P1.7作输入线。矩阵的行线和列线分别通过两并行接口和CPU通信。通过扫描得出的行值和列值的组合来识别被按下的按键的编码以完成密码的输入、用户名的输入和切换,以及确定、取消命令、密码修改命令、用户切换命令和关锁命令的输入。再者,单片机通过P2口将要显示的数据信号传送到数码管,直接控制数码管的显示,从而点亮数码管,显示当前用户。整个系统实现了各种信号提示功能的实现。

3 各功能模块电路设计
3.1 键盘电路
    密码锁要输入密码就肯定要使用键盘。设计的是4×4的键盘,除了0~9这10个数字键之外,还有“确定”、“取消”、“密码修改”、“关锁”、“用户切换”、和“显示开关”。4×4矩阵排列能有效的节约端口资源,避免使用端口扩展模块。键盘安装时,按键按照4×4格式进行矩阵排列。在P1.4~P1.7输出线上接拉高电阻,让端口能准确的置高、置低。拉高电阻的另一端则连接在一起接5 V电源。电路如图2所示。


3.2 显示电路
    电路主要使用七段数码管。单片机通过P2口将要显示的数据信号传送到数码管,直接控制数码管的显示,从而点亮数码管。由于单片机的时钟频率达到12 MHz,所以,看不到数据是一位一位传输的。从人类视觉的角度上看,就仿佛是全部数码管同时显示的一样。由单片机控制数码管显示1~3,分别表示3个用户。硬件电路主要是7段显示译码器的a~g对应接到单片机的P2.0~P2.6,通过查表得到要显示的数值。电路如图3所示。[page]

4 软件设计
4.1 软件设计思想
    整个系统的设计重点在于区分3个用户的进入。只有主用户进入之后才可以对自己及客人用户的密码进行修改。其他用户进入是不可以对自己的密码进行修改的。
    程序设计主要包括了密码修改程序、密码输入程序、报警程序、控键扫描程序、数字键转换程序和功能键转换程序。在整个程序的运行过程中,控键扫描程序放在中断服务子程序中,每隔150ms进行一次扫描。密码修改程序,在设计中每个用户进入系统时都已加了标注,以确保密码被修改时可以准确的分辨出修改密码的用户是哪个,用户对密码是否有修改权。
4.2 主程序的设计
    先判断密码是否输入,如密码输入,则将密码输入到密码输入缓冲区,密码输入完成,确认后进行密码比对,区别出哪个用户进入密码锁系统,比对成功之后用标志位区别主人用户和来宾用户。在密码修改程序中。首先,判断是否是主人用户。其次,判断是否有密码修改要求,在满足上述两个条件的情况下再进入密码修改程序。两次新密码的输入相同话则表示密码修改成功。接下来是报警子程序,用寄存器累加连续输入的错误密码的次数,达到3次则产生报警信号。最后是显示子程序,用来显示当前进入系统的用户。主程序流程图如图4所示。



5 结束语
    文中设计的密码锁既能确保密码可以被有权用户进行修改,还有限制用户对自己或别人密码进行修改等功能。以AT89C52单片机芯片为核心,同时给出系统总体设计方案,硬件模块电路及软件设计。

关键字:多用户密码锁  单片机 引用地址:多用户密码锁的设计

上一篇:基于单片机和FPGA的人机交互系统的设计
下一篇:基于CC2420的ZigBee通信节点的设计与实现

推荐阅读最新更新时间:2024-03-16 13:43

一个单片机串行数据采集/传输模块的设计
在微机测控系统中,经常要用到A/D转换。常用的方法是扩展一块或多块A/D采集卡。当模拟量较少或是温度、压力等缓变信号场合,采用总线型A/D卡并不是最合适、最经济的方案。这里介绍一种以GNS97C2051单片机为核心,采用TLC2543 12位串行A/D转换器构成的采样模块,该模块的采样数据由单片机串口经电平转换后送到上位机(IBM PC兼容机)的串口COM1或COM2,形成一种串行数据采集串行数据传输的方式。经实践调试证实:该模块功耗低、采样精度高、可靠性好、接口简便,有一定实用价值。 1 主要器件介绍 1.1 TLC2543串行A/D转换器 模块采用TI公司的TLC2543 12位串
[应用]
89和12单片机的I2C通信时序问题
今天用ADC偶然发现了这个问题,分享给各位朋友。 89的I2CDelay: #define I2CDelay() {_nop_();_nop_();_nop_();_nop_();} 12的I2CDelay: void Delay_us(unsigned char us) { do { _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); } while (--us); } I2CDelay(5); I2C通信分为低速模式100kbit/s、快速模
[单片机]
如何使用keil 5 编写 51单片机 工程
目前我们通常编写51程序使用的是keil4,而好多编写STM32等单片机程序的使用keil5。那么如何在keil5中兼容51和STM32程序编写,省去切换版本的繁琐呢? 很简单只需两步就可以完成。 下面这个方法针对已破解keil5的stm32等一系列。这个肯定是最常见的,因为破解keil5然后编写32工程的教程一大把。 1、首先下载编写51的相关东西。 可以在官网上下载,例如百度keil官网。 点击右上角的DOWNLOADS进入相关的下载界面,下载你需要的安装包。MDK5、c51、c166等,这里只需要下载c51的。 当然也可以在下面这个百度网盘链接里下载: 51相关: 链接:http://pan.baid
[单片机]
如何使用keil 5 编写 51<font color='red'>单片机</font> 工程
基于ATmega8单片机控制的正弦波逆变电源
在风电行业中,经常需要在野外对风机进行维修,这时必须为各类维修工具和仪器进行供电。因此,设计一种便携式。低功耗。智能化的正弦逆变电源来为这些设备供电是十分必要的,可大大提高维修风机的效率。 本文正是基于这种情况下而设计的一种基于单片机的智能化正弦逆变电源。 1 正弦逆变电源的设计方案 本文所设计的逆变器是一种能够将DC 12V直流电转换成220V正弦交流电压,并可以提供给一般电器使用的便携式电源转换器。目前,低压小功率逆变电源已经被广泛应用于工业和民用领域。特别是在交通运输。野外测控作业。机电工程修理等无法直接使用市电之处,低压小功率逆变电源便成为必备的工具之一,它只需要具有一块功率足够的电池与它连接,便能产生一般电器所需要
[电源管理]
基于ATmega8<font color='red'>单片机</font>控制的正弦波逆变电源
MCS-51单片机的串行口应用的程序设计举例
1.实验设计 定时中断程序,串行口P3.0、P3.1输出,用74LS164移位寄存器驱动发光二极管 ; 定时器0于方式1,16位,10ms中断一次 ; 40H 10ms定时计数单元 ; 41H 初值为01101101B ; 位地址 00H=1 ; 定时方式1为10MS:THX=0ECH,TLX=78H ; 串行口以方式0工作,不需初始化 2.参考程序 LPOUT EQU 41H ;输出缓冲区 DISP EQU 0DE00H ;显示子程序入口 ; ORG 0000H START: AJMP MAIN ; ORG 000BH ;定时器0中断服 AJMP TINT0 ;务
[单片机]
51单片机智能时钟设计
控制系统直接通过STC 8a8k64s4a12 单片机控制两组4位的数码管进行显示,使用DS1302时钟芯片进行获取时钟数据,使用DS18b20,获取温度信息,通过HC-05 蓝牙模块进行与手机app通讯,手机app由App Inventor 2编写 可以实现闹钟、用户设置数据的掉电保存,联机自动校时等功能。 作品实物如图所示: 数码管驱动: #include STC8.H #include shumaguan.H #include delay.H uchar code shuzi ={ 0xc0,//0
[单片机]
51<font color='red'>单片机</font>智能时钟设计
51单片机外部中断触发方式的经验总结
51单片机的外部中断有两种触发方式可选:电平触发和边沿触发。选择电平触发时,单片机在每个机器周期检查中断源口线,检测到低电平,即置位中断请求标志,向CPU请求中断。选择边沿触发方式时,单片机在上一个机器周期检测到中断源口线为高电平,下一个机器周期检测到低电平,即置位中断标志,请求中断。 这个原理很好理解。但应用时需要特别注意的几点: 1) 电平触发方式时,中断标志寄存器不锁存中断请求信号。也就是说,单片机把每个机器周期的S5P2采样到的外部中断源口线的电平逻辑直接赋值到中断标志寄存器。标志寄存器对于请求信号来说是透明的。这样当中断请求被阻塞而没有得到及时响应时,将被丢失。换句话说,要使电平触发的中断被CPU响应并执行,必须保证外部中
[单片机]
SPCE061A单片机在USB通讯中的应用
1 引言 IEEE制订的RS-232标准可谓无人不知不人不晓,在通讯领域风靡一时。随着计算机技术的快速发展USB接口有着更多的优势,使得USB接口应用的越来越广泛。在最新推出的计算机中外设集成的大多是USB接口,而具有RS-232接口设备仍然很多,这使得他们的通讯变得困难。为了克服这一矛盾,本文提出一种解决方法实现USB与RS-232的通讯。在方案中主要使用凌阳教育推广中心推出的USB/UART转换口模组,它的作用是将USB接口当作普通的UART口来使用,只要按照RS-232进行串行通讯即可。 2 芯片特性简介 2.1 SPCE061A特性简介 SPCE061A是凌阳科技研发生产的一款高性价比十六位单片机,可以非常方便灵
[单片机]
SPCE061A<font color='red'>单片机</font>在USB通讯中的应用
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved