电子密码锁单片机课程设计
- 格式:doc
- 大小:239.00 KB
- 文档页数:58
电子密码锁单片机课程设计
单片机原理与应用技术课程设计报告
电子密码锁设计
专业班级:电气 124
姓名:
时间:2015年1月2日
指导教师:***
2015年1月2日
电子密码锁课程设计任务书
1.设计目的与要求
设计出一个电子密码锁。准确地理解有关要求,独立完成系统设计,要求所设计的电路具有以下功能:
(1)状态显示功能:锁定状态时系统用3位数码管显示OFF,
用3位码管显示成功开锁次
数;成功开锁时用3位数码管
显示888,用3位数码管显示
成功开锁次数。
(2)密码设定功能:通过一个4×4的矩阵式键盘可以任意设
置用户密码(1-26位长度),
同时系统掉电后能自动记忆
和存储密码在系统中。(3)报警和加锁功能:密码的输入
时间超过12秒或者连续3次
输入失败,声音报警同时锁定
系统,不让再次输入密码。此
时只有使用管理员密码方能
对系统解锁。
2.设计内容
(1)画出电路原理图,正确使用逻辑关系;
(2)确定元器件及元件参数;
(3)进行电路模拟仿真;
(4)SCH文件生成与打印输出;
3.编写设计报告
写出设计的全过程,附上有关资料和图纸,有心得体会。
4.答辩
在规定时间内,完成叙述并回答问题。
1
电子密码锁
电气124 赵政权
摘要:电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。本设计利用51单片机编程控制原理,采用矩阵键盘、数码管显示、数据存储器和报警系统构成电子密码锁的设计成品。其中数码管使用两组三位一体共阳数码管,数据存储器使用AT24C04芯片通过IIC协议实现数据的传输,矩阵键盘用执行效率极高的代码扫描控制。使用Keil4.6编写程序代码,用Proteus进行仿真,无误后使用Altium制图,最终做成能使用的成品。
关键词: 51单片机 IIC协议矩阵键盘动态显示 Keil Proteus Altium
2
1 引言
电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。应用较广的电子密码锁是以芯片为核心,通过编程来实现的。
其性能和安全性已大大超过了机械锁,特点如下:
1.保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零。
2.密码可变。用户可以经常更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降。
3.误码输入保护。当输入密码多次错误时,报警系统自动启动。
4. 电子密码锁操作简单易行,一学即
3
会。
5. 干扰码功能,在输入正确密码前可输入任意码。
6. 管理员功能,能使用管理员密码获得最高权限。
7. 人性化设计,输密码的倒计时、用户输入密码的位数、剩余输入密码的次数等能够在相应的界面显示出来,提醒用户。
2 总体设计方案
2.1 设计思路
利用单片机编程控制原理,采用矩阵键盘、数码管显示、数据存储器和报警系统构成本电子密码锁的设计成品。
2.1.1方案确定
(1)单片机最小系统模块
单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可
4
以工作的系统。对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路。
复位电路:由电容串联电阻构成,由图并结合"电容电压不能突变"的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定。典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位。一般推荐C 取10u,R取8.2K。当然也有其他取法的,原则就是要让RC组合可以在RST脚上产生不少于2个机周期的高电平。
晶振电路:11.0592MHz可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合;12MHz可以产生精确的us级时歇,方便定时操作。所以我们这里
5
使用12MHz的晶振。
这里没有使用片外程序模块,所以EA 接高电平。P1口接330欧姆的电阻原因详见数码管显示模块和蜂鸣器模块的讲解,单片机最小系统的模块图如下:
图2.1.1-1 单片机最小系统模块
(2)数码管显示模块和蜂鸣器模块首先我们需要了解单片机引脚灌电流和拉电流的一些参数。单片机的引脚,可
6
以用程序来控制,输出高、低电平,这些可算是单片机的输出电压。但是程序控制不了单片机的输出电流。单片机的输出电流,很大程度上是取决于引脚上的外接器件。单片机输出低电平时,将允许外部器件,向单片机引脚内灌入电流,这个电流,称为“灌电流”,外部电路称为“灌电流负载”,如图2.1.1-2左图所示;单片机输出高电平时,则允许外部器件,从单片机的引脚拉出电流,这个电流,称为“拉电流”,外部电路称为“拉电流负载”,如图2.1.1-2右图所示。
这些电流一般的大小,最大限度等这就是常见的单片机输出驱动能力的问题。每个单个的引脚,输出低电平的时候,允许外部电路,向引脚灌入的最大电流为 10 mA;每个 8 位的接口(P1、P2 以及 P3),允许向引脚灌入的总电流最大为 15 mA,
7
而 P0 的能力强一些,允许向引脚灌入的最大总电流为 26 mA;全部的四个接口所允许的灌电流之和,最大为 71 mA。而当这些引脚“输出高电平”的时候,单片机的“拉电流”能力太差,不到 1 mA。
结论就是:单片机输出低电平的时候,驱动能力尚可,而输出高电平的时候,就没有输出电流的能力。
图2.1.1-2 灌电流和拉电流
我们分析一下拉电流负载和灌电流负载的区别:图2.1.1-2左图中,是灌电流负载。单片机输出低电平时,LED亮;输出高电平的时候,那就什么电流都没有,此时就不产生额外的耗电。图2.1.1-2右