基于ATMega16单片机的密码锁的设计

发布者:温馨小屋最新更新时间:2014-01-07 来源: eefocus关键字:ATMega16  单片机  密码锁 手机看文章 扫描二维码
随时随地手机看文章

随着科技的发展,安全问题越来越受人们关注,各种安全产品相继问世,如指纹防盗,红外防盗等,虽然这类产品的安全性较高,但其成本也同样较高,携带安装都不方便也同样限制了其发展。本文利用ATMega 16单片机,通过4×3键盘和七段数码管显示,除实现了密码锁的密码验证、重新设置和输入错误报警等基本功能外,还创新性的实现了键盘的重新定义。通过对键盘的重新定义可以有效的防止密码被盗,同时也降低了成本,便于携带安装。

一、设计目的、用途、功能

1.设计目的
随着科技的进步,安全问题越来越受人们重视,市场上也相应的出来很多产品,如指纹防盗,红外防盗等。最然其安全性能很高,但是成本也相对较高,也不方便携带和安装。本设计的目的就是为了保证高安全性的前提下,实现降低成本,方便携带安装。
2.    设计用途
由于本设计成本较低且安全性能稳定优良,可适用于家庭防盗、行李箱、车载行李箱等一些安全性能要求不高且需要便携的产品上,其安全性能远远优于同等成本的安全性。本设计的键盘定义的思想可移植到自动提款机、公共场合的提款装置等,可以防止用户输入密码时被别人偷看、窃取等,增加用户提款时的安全性。
3.实现功能
1)密码设置功能:默认情况下,默认密码为“6666”,键盘默认为
“   1      2      3
     4      5      6
     7      8      9
     #      0      *   ”
当键盘按下时,即为密码输入,每输入一位,七段数码管显示“8”并左移一位。如果输入正确,即显示“PASS”;如果输入错误,即显示“ErOr”,输入错误达到三次,键盘自动锁死,无法再次输入,并且蜂鸣器发出警报。输入过程中按“*”可以删除输入错误的数字,同时显示也右移一位。
2)键盘重新定义功能:当密码输入正确后再按下“#”,即进入选择修改功能,再次输入“#”即进入键盘重新定义功能。依次按下每个按键,即从0开始定义,直到9即定义结束(“*”“#”键无法被重新定义)。输入过程中,每输入一位,蜂鸣器响一声,直到完全将“0~9”重新定义结束。此时数码管显示“PASS”,键盘即为重新定义后的键盘,再次输入密码时必须按照重新定义后的键盘输入。同样,输入过程中,按“*”键可以删除上一位输入的数字。
3)功能复位:当有人输入三次错误触发蜂鸣器时,蜂鸣器会一直响,发出警报,直到其主人按下“reset”键,全部恢复默认。

二、硬件设计

1. 硬件设计思路

1)键盘输入:采用4×3式矩阵键盘输入,三列从左往右依次对应PB0、PB1、PB2,四行从上往下依次对应PB4、PB5、PB6、PB7。
2)显示:显示采用共阳极七段数码管显示,四位数从右往左依次与PD0、PD1、PD2、PD3。七段数码管的a b c d e f g对应端口PA0,PA1,PA2,PA3,PA4.PA5,PA6。
3)报警:当密码输入错误达到三次时,键盘被锁,并且于端口PC0输出高电平,驱动蜂鸣器持续响。 
2.电路原理图

三、软件设计

1.程序设计思想
1) 键盘扫描:
AVR课上学习的键盘扫描程序为了消抖,而进行了软件消抖处理, “delay_ms(10); //延时去抖”。由于对CPU调用了“delay函数”,而使CPU在这10ms内无法进行其他工作,因此而浪费了CPU,降低了CPU效率。鉴于以上缺陷,我们对键盘扫描程序做了很大改进,采用定时器中断与比较中断相结合的方式,在读取按键是否按下的两次确认之间的时间里,CPU可以继续进行其他工作,从而提高了CPU的效率。
2) 七段数码管的显示
针对本实验的实际情况:密码通过和重新定义键盘通过时,七段数码管显示“PASS”,错误时显示“ErOr”,因此为了提高程序运行的效率,采用指针变量输出的方式,即将“PASS”和“ErOr”的显示预存在存储器中,当需要时,指针变量指到相应的存储器显示。对每输入一位左移的显示则采用动态扫描的方式。
3)蜂鸣器报警:
对PC7端口输出高电平驱动蜂鸣器发出警报。

关键字:ATMega16  单片机  密码锁 引用地址:基于ATMega16单片机的密码锁的设计

上一篇:SD卡在断路器离线测试仪中的应用
下一篇:基于Atmega128嵌入式控制器的设计

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

基于51单片机的一键多功能识别技术
1.实验任务   如图4.9.1所示,开关SP1接在P3.7/RD管脚上,在AT89S51单片机的P1端口接有四个发光二极管,上电的时候,L1接在P1.0管脚上的发光二极管在闪烁,当每一次按下开关SP1的时候,L2接在P1.1管脚上的发光二极管在闪烁,再按下开关SP1的时候,L3接在P1.2管脚上的发光二极管在闪烁,再按下开关SP1的时候,L4接在P1.3管脚上的发光二极管在闪烁,再按下开关SP1的时候,又轮到L1在闪烁了,如此轮流下去。 2.电路原理图 图4.9.1 3.系统板上硬件连线 (1).把“单片机系统”区域中的P3.7/RD端口连接到“独立式键盘”区域中的SP1端口上; (2).把“单片机系统”区域中的P1.0-P1
[单片机]
基于51<font color='red'>单片机</font>的一键多功能识别技术
用51单片机模拟IIC通信
在 之前的MCS-51系列单片机中内部没有IIC通信资源,所如果要想用51单片机实现IIC通信,就只能通过软件模拟其时序,这样也能实现IIC通信的功 能。如下程序是我用Protues仿真IIC通信的结果,希望对大家有用,非常希望有共同爱好的朋友,多给我提出些宝贵的意见,至诚感谢! 这个是IIC的头文件,便于使用调用: #ifndef _IIC_H_ #define _IIC_H_ /***ucahr和uint 的宏定义很重要,否则下面的函数无法正常运行******/ #define uchar unsigned char //定义uchar型数据为无符号型 #define uint unsigned int //定义uint
[单片机]
单片机在自动血压监控系统中的应用
  引言   目前医院使用的自动血压监控系统大多为进口设备,价格昂贵,就医成本高。本文所讨论的系统价格低廉,测量准确,有其独特之处,具有很高的实用价值。   1 系统功能和构成   该系统由一台PC机实现数据接收和数据管理,再配合每个病房单独使用的自动血压监测仪(在自动血压计内部加装单片机 单片机   单片机是单片微型计算机(Single-Chip Microcomputer)的简称,是一种将中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)采用超大规模集成电路技术集成到一块硅片上构成的微型计算机系统。
[单片机]
<font color='red'>单片机</font>在自动血压监控系统中的应用
英飞凌为PSoC™ 6 MCU提供完整的工具套件和高性能图形显示
英飞凌通过Embedded Wizard Studio为PSoC™ 6 MCU提供完整的工具套件和高性能图形显示 【2021年12月03日,德国慕尼黑讯】 英飞凌科技股份公司通过 Embedded Wizard 提供的图形库和软件工具增强了PSoC™ 6系列微控制器(MCU)的图形显示性能。 Embedded Wizard 的图形引擎与ModusToolbox™兼容,可在CY8CKIT-062S2-43012开发套件上运行。该开发套件提供完整的用户指南,并支持Embedded Wizard Studio。应用PSoC 6开发的工程师可以通过图形界面(GUI)改善终端用户体验,也可以以较小的内存占用,将图形界面轻松部署到硬件当中
[工业控制]
基于PlCl6LF874单片机的电容测试电路设计
本文用到美国 Micmchip公司PICl6LF874单片机,该单片机采用RISC精简指令集、哈佛总线结构、流水线指令方式,具有抗干扰能力强、功耗低、高性能、价格低等特性。   1 PICl6LF874单片机   PICl6系列单片机采用精简指令集(Reduced InstrucTIon Set Computer,RISC)结构,突破了传统单片机对PC机在结构上存在的自然依赖性;加上哈佛总线的存储器结构、两级流水线指令结构、单周期指令等技术,从而在单片机硬件结构上独辟蹊径,大大提高了系统运行的效率。除此之外,针对单片机机应用的特点,从功耗、驱动能力、外围模块设计等方面,PIC单片机也有一些独到之处,从而使得PIC成为一款方便实用
[单片机]
基于PlCl6LF874<font color='red'>单片机</font>的电容测试电路设计
单片机的位定义
51单片机中对一个变量进行位定义时,我们采用这种方式: typedef unsigned char uchar; uchar bdata flag; sbit F1 = flag^0; sbit F2 = flag^1; ... sbit F8 = flag^7; 之后就可以对F1 F8这些变量进行bool操作了。 在飞思卡尔单片机中,我们却用结构体实现相关定义: struct{ byte F0 :1; byte F1 :1; byte F2 :1; byte F3 :1; byte F4 :1; byte F5 :1; byte F6 :1; byte F7 :1;
[单片机]
基于51单片机的LCD1602实现分秒计时总结
完成要求 1、实现分秒计时。 2、按键控制分秒的调整(两个按键分别控制分秒增加)。 3、实现整分报时功能(蜂鸣器响)。 4、PCB板的绘制及焊接 设计思路及实现原理 1、首先实现分秒计时功能。为实现分秒计时功能,需要使用到单片机中的计时器功能,通过计时器来完成秒增加的运算,进而对分进行运算。 2、其次在实现分秒自动计时的基础上添加按键分别对分秒进行控制。此步骤需要使用到按键检测,及按键消抖。因为在程序中使用两个返回值,所以按键对这两个返回值进行操作,在调秒过程中,需要使两返回值一致,否则分秒进位发生不一致。 3、最后在完成整分报时功能。此步骤需要对分秒的值进行判断,因为整分时,秒位为0,分位进1,而在初始时刻(即00:00)不
[单片机]
基于51<font color='red'>单片机</font>的LCD1602实现分秒计时总结
专业讲师讲解单片机开发应掌握的几个基本技巧
在 单片机 应用开发中,代码的使用效率问题、单片机抗干扰性和可靠性等问题仍困扰着工程师。为帮助工程师解决单片机设计上的难题,与广大设计工程师交流单片机设计开发经验。现根据论坛中的讨论归 纳出 单片机 开发中应掌握的几个基本技巧。 一、 如何提高C语言编程代码的效率 用C语言进行 单片机 程序设计是单片机开发与应用的必然趋势。如果使用C编程时,要达到最高的效率,最好熟悉所使用的C编译器。 先试验一下每条C语言编译以后对应的汇编语言的语句行数,这样就可以很明确的知道效率。在今后编程的时候,使用编译效率最高的语句。 各家的C编译器都会有一定的差异,故编译效率也会有所不同,优秀的嵌入式系统C编译器代码长度和执行时间仅比以汇编语言编写的
[电源管理]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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