收藏 分享(赏)

密码锁毕业论文 基于单片机控制的八路抢答器.doc

上传人:精品资料 文档编号:10816794 上传时间:2020-01-11 格式:DOC 页数:48 大小:5.87MB
下载 相关 举报
密码锁毕业论文 基于单片机控制的八路抢答器.doc_第1页
第1页 / 共48页
密码锁毕业论文 基于单片机控制的八路抢答器.doc_第2页
第2页 / 共48页
密码锁毕业论文 基于单片机控制的八路抢答器.doc_第3页
第3页 / 共48页
密码锁毕业论文 基于单片机控制的八路抢答器.doc_第4页
第4页 / 共48页
密码锁毕业论文 基于单片机控制的八路抢答器.doc_第5页
第5页 / 共48页
点击查看更多>>
资源描述

1、河 南 科 技 学 院2016 届专科毕业设计(论文)论文(设计)题目:基于单片机控制的八路抢答器学生姓名: 轩安康 所在院系: 高等职业技术学院 所学专业: 电气自动化技术专业 导师姓名: 李兰云 完成时间: 2016 年 5 月 15 日 目 录第一章 绪论.11.1、课题背景和意义.11.2、电子密码锁发展趋势.2第二章 设计思想.3第三章 系统硬件设计 .33.1 硬件支持.33.1.1STC89C52RC 单片机介绍.33.1.2 液晶显示 LCD1602 的介绍53.1.3 自锁开关说明53.1.4 上拉电阻介绍63.1.5 三极管介绍.63.1.6 继电器介绍83.1.7 供电方

2、式93.2 功能单元模块设计103.2.1 开锁机构103.2.2 矩阵键盘设计电路103.2.3 声音提示电路设计113.2.4 AT24C02 掉电存储单元的设计12第四章 程序设计与系统仿真134.1 模块介绍.134.1.1 主程序模块.144.1.2 密码比较判断模块.154.1.3 键盘扫描模块.154.1.4 修改密码模块.164.2 电子密码锁原理图.184.2.1 总店路图184.2.2 控制电路184.2.3 实物图194.2.4 仿真图19第五章 系统功能.19第六章 设计总结.20致谢20 参考文献20附录21a 电子密码锁元件清单21b 源程序220基于单片机的密码锁

3、设计学生:杨宇,指导教师:李阳(安徽农业大学 经济技术学院 合肥 09531013)摘 要:本设计提出了一种电子密码锁的设计方法。本系统由 STC89C52单片机系统、44矩阵键盘、LCD1602 显示和报警系统等组成,具有设置、修改六位用户密码、超次报警、超次锁定、密码错误报警等功能。本系统成本低廉,功能实用。关键词:单片机,电子密码锁,44 矩阵键盘AbstractThis paper presents a design method of the design of electronic password lock. The system consists of STC89C52 sin

4、gle-chip microcomputer system, 4 * 4 matrix keyboard, LCD1602 display and alarm system etc., has provided six, modify user password, the alarm, super lock, error alarm passwords and other functions. This system has the advantages of low cost, practical function.Key words :AT89S51 ,Electronic passwor

5、d lock ,44 keyboard第一章 绪论1.1 课题背景和意义随着电子技术和计算机技术的飞速发展,单片机性能不断完善,性能价格比显著提高,技术日趋完善。由于单片机具有体积小、重量轻、价格便宜、功耗低、控制功能强及运算速度快等特点,因而在国民经济建设、军事及家用电器等各个领域均得到了广泛的应用。本设计利用单片机及附加电子元器件实现数据采集和控制算法,来完成某一实际功能。随着人们生活水平的提高和安全意识的加强,对安全的要求也就越来越高。锁自古以来就是把守护门的铁将军,人们对它要求甚高,既要安全可靠的防盗,又要使用方便,这也是制锁者长期以来研制的主题。随着电子技术的发展,各类电子产品应运而

6、生,电子密码锁就是其中之一。电子锁是通过键盘输入一组密码完成开锁过程。研究这种锁的初衷,就是为提高锁的安全性。由于电子锁的密钥量(密码量)极大,可以与机械锁配合使用,并且可以避免因钥匙被仿制而留下安全隐患。电子锁只需记住一组密码,无需携带金属钥匙,免除了人们携带金属钥匙的烦恼,而被越来越多的人所欣赏。电子锁的1种类繁多,例如数码锁,指纹锁,磁卡锁,IC 卡锁,生物锁等。但较实用的还是按键式电子密码锁。20 世纪 80 年代后,随着电子锁专用集成电路的出现,电子锁的体积缩小,可靠性提高,成本较高,是适合使用在安全性要求较高的场合,且需要有电源提供能量,使用还局限在一定范围,难以普及,所以对它的研

7、究一直没有明显进展。目前,在西方发达国家,电子密码锁技术相对先进,种类齐全,电子密码锁已被广泛应用于智能门禁系统中,通过多种更加安全,更加可靠的技术实现大门的管理。国内的不少企业也引进了世界上先进的技术,发展前景非常可观。希望通过不断的努力,使电子密码锁在我国也能得到广泛应用。1.2 电子密码锁发展趋势 电子密码锁应用于金融业,其根本的作用是“授权”,即被“授权”的人才可以存取钱、物。广义上讲,金融业的“授权”主要包括以下三种层次的内容:1、授予保管权,如使用保管箱、保险箱和保险柜;2、授予出入权,如出入金库、运钞车和保管室;3、授予流通权,如自动存取款。目前,金融行业电子密码锁的应用主要集中

8、在前两个层面上。下面将介绍几种在金融行业中使用较多的电子密码锁以及它们的技术发展方向。当然,以上所说的授权技术再高超,都必须由精良的“锁具”担当承载结构部件,实现开启、闭锁的功能,而且承担实体防护作用,抵抗住或尽量延迟破坏行为,让电子密码锁“软、硬不吃”。一般情况下,锁具防盗的关键是锁身外壳、闭锁的部件的强度、锁止型式、配合间隙和布局。提高电子密码锁之防护能力的必然途径是报警,在金融业的许多场所有人值守、有电视监控,具有报警功能,可以综合物理防范和人力防范两种作用。报警的前提是具备探测功能,根据电子密码锁的使用场所和防护要求,可选择多种多样的探测手段。在中国的城市金融业中,实现联网报警已经成为

9、对各金融网点的基本要求。根据国内外的实践经验,金融业实行安全防范风险等级很有必要,即依据使用的防盗报警器材的性能、安装布局和人员值守状况等,可以评估被防护物或区域的防护能力,得出风险等级,其中,电子密码锁的性能至关重要。由于数字、字符、图形图像、人体生物特征和时间等要素均可成为钥匙的电子信息,组合使用这些信息能够使电子密码锁获得高度的保密性,如防范森严的金库,需要使用复合信息密码的电子密码锁,这样对盗贼而言是“道高一尺、魔高一丈”。组合使用信息也能够使电子密码锁获得无穷扩展的可能,使产品多样化,对用户而言是“千挑百选、自得其所”。 2单 显示键盘 片机 开锁 图 1.1 总体框图工作过程(1)

10、按键设置 6 位密码,输入密码,通过单片机判断,若密码正确,通过则锁打开,显示 open!(2)首次使用时输入:131420,对密码进行初始化,当显示:initpassword,证明密码初始化完成,此时的密码为:000000。第 2 章 设计思想(1)本设计为了防止密码被窃取要求在输入密码时在 LCD 屏幕上显示*号。(2)设计开锁密码位六位密码的电子密码锁。(3)能够 LCD 显示在密码正确时显示 open!,密码错误时显示 ERROR,输入密码时显示 initpassword。(4)实现输入密码错误超过限定的三次电子密码锁定。(5)44 的矩阵键盘其中包括 0-9 的数字键和 A-D 的功

11、能键(6)本产品具备报警功能,当输入密码错误时蜂鸣器响并且 LED 灯亮。(7)密码可以由用户自己修改设定(只支持6位密码),修改密码之前必须再次输入密码,在输入新密码时候需要二次确认,以防止误操作 第三章 系统的硬件设计3.1 硬件支持3.1.1 STC89C52RC 单片机介绍STC89C52 是一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程 Flash,使得3STC89C51 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k 字节 Flash,512 字节 RA

12、M, 32 位 I/O 口线,看门狗定时器,内置 8KB EEPROM,MAX810 复位电路,三个 16 位 定时器/计数器,一个 6 向量 2 级中断结构,全双工串行口。另外 STC89X51 可降至 0Hz 静态逻辑操作,支持 2 种软件可选择节电模式。空闲模式下,CPU 停止工作,允许 RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率 35Mhz,6T/12T 可选。EA/VP 31X119X218RESET9P37/RD17P36WR16P32/INT012P33/INT113

13、P34/T014P35/T115P101P112P123P134P145P156P167P178P00 39P01 38P02 37P03 36P04 35P05 34P06 33P07 32P20 21P21 22P22 23P23 24P24 25P25 26P26 27P27 28PSEN 29ALE/P 30P31/TXD11P30/RXD10GND20VCC 40U1STC89C52图 3-1 STC89C52 单片机引脚图主要特性如下: (1) 增强型 8051 单片机,6 时钟/机器周期和 12 时钟/ 机器周期可以任 意选择,指令代码完全兼容传统 8051. (2)工作电压:5

14、.5V3.3V(5V 单片机)/3.8V2.0V(3V 单片机) (3) 工作频率范围:040MHz,相当于普通 8051 的 080MHz,实际工 作频率可达 48MHz (4) 用户应用程序空间为 8K 字节 (5) 片上集成 512 字节 RAM (6) 通用 I/O 口 (32 个) 复位后为: , P1/P2/P3/P4 是准双向口/弱上拉, P0 口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为 I/O 口用时,需加上拉电阻。 (7)ISP(在系统可编程)/IAP (在应用可编程) ,无需专用编程器,无 需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载

15、用户程 序,数秒即可完成一片(8)具有 EEPROM 功能 4(9)具有看门狗功能 (10)共 3 个 16 位定时器/计数器。即定时器 T0、T1、T2(11)外部中断 4 路,下降沿中断或低电平触发电路,Power Down 模式可 由外部中断低电平触发中断方式唤醒 (12)通用异步串行口(UART) ,还可用定时器软件实现多个 UART (13) 工作温度范围:-40+85 (工业级)/075(商业级) (14) PDIP 封装 3.1.2 液晶显示 LCD1602 的介绍(1)LM1602 字符型模块的性能重量轻:N?Y未超过 N 次输入密码?密码设置完毕N设置新密码Y按键N判断按键值

16、返回主界面NY设置解码次数产生随机密码输入密码N=0x84 N=0x82 N=0x11图 4-1 系统程序流程图 4.1.1 主程序模块主程序主要用于定义全局变量,给全局变量赋初值,初始化 E2PROM,启动定时器以及 从 AT24C02 中读取密码,为整个程序提供数据;检测按键;调用显示等功能。144.1.2 密码比较判断模块该模块的功能是将键盘输入的密码利用 if 语句与设定的密码进行逐个比较,若密码完全正确则开锁;若不正确,则开启报警电路,复位后重新输入密码。其密码输入和比较判决流程图下图所示。输入密码核对键盘锁定,开启报警电路 开锁,灯亮,可密码修改N Y复位图 4-2 密码输入和比较

17、判决流程图4.1.3 键盘扫描模块键盘使用矩阵式键盘,由行和列组成,CPU 对所有键盘进行监视,从而实现逐列扫描键盘确定被按键的具体位置、判断键盘上有无键按下、消除去抖动、判断闭合的键是否释放等功能。如下图所示,为键盘扫描流程图 15开始延时去抖动计算输入键值键值送入单片机有按键输入?有按键输入?有按键输入?返回NNYY图 4-3 键盘扫描流程图4.1.4 修改密码模块在密码输入正确情况下,可以按下“重置密码”对密码进行重新设置,每设定一位就将密码送给 AT24C02 存储起来,当设置 6 位密码完毕后,系统将自动跳到程序开始,调用新设置的密码。下图为修改密码流程图。16开始输入原密码密码比较

18、比较正确?输入新密码再次输入新密码调用 AT24C02 中密码比较正确修改成功返回菜单键盘锁定,启动报警电路复位YN图 4-4 修改密码流程图174.2 电子密码锁原理图4.2.1 总电路图P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78RST9P3.0(RXD)10P3.1(TXD)11P3.2(INT0)12P3.3(INT1)13P3.4(T0)14P3.5(T1)15P3.6(WR)16P3.7(RD)17XTAL218XTAL119GND20(A8)P2.021(A9)P2.122(A10)P2.223(A11)P2.324(A12)P2.425(A1

19、3)P2.526(A14)P2.627(A15)P2.728PSEN29ALE/PROG30EA/VPP31(AD7)P0.732(AD6)P0.633(AD5)P0.534(AD4)P0.435(AD3)P0.336(AD2)P0.237(AD1)P0.138(AD0)P0.039VCC40 U189C51/C52bceQ29012VCCR51KY1 12MHzC230 C330R110KVCCKEYALAMKEYbceQ19012VCCR42.2KALAMLS1GND1VCC2V03RS4R/W5EN6D07D18D29D310D411D512D613D714A15K161602D0D1D

20、2D3D4D5D6D7D0D1D2D3D4D5D6D7RSRSWRWRENENVCCVCCA01A12A23GND4SDA5SCL6WP7VCC8AT24C02R210KR310K+C110uF12345J1JDQ-DC51234 KRRESET123CON3VCCQ39013RG1KA1234K11234K21234K31234A1234K41234K51234K61234B1234K71234K81234K91234C1234*1234K01234#1234DP10P11P12P13P14P15P16P17P10P11P12P13P14P15P16P17R71.5kR610k32 1P1P

21、OWER VCC112233445566S112J1CON2COM1R12R23R34R45R56R67R78R89RP110KRT1104R9 2.2KD1 LED图 4-5 总电路图 4.2.2 控制电路P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78RST9P3.0(RXD)10P3.1(TXD)11P3.2(INT0)12P3.3(INT1)13P3.4(T0)14P3.5(T1)15P3.6(WR)16P3.7(RD)17XTAL218XTAL119GND20(A8)P2.021(A9)P2.122(A10)P2.223(A11)P2.324(A12)

22、P2.425(A13)P2.526(A14)P2.627(A15)P2.728PSEN29ALE/PROG30EA/VPP31(AD7)P0.732(AD6)P0.633(AD5)P0.534(AD4)P0.435(AD3)P0.336(AD2)P0.237(AD1)P0.138(AD0)P0.039VCC40U189C51/C52bceQ29012VCCR51KY1 12MHzC230 C330R110KVCCKEYALAMKEYbceQ19012VCCR42.2KALAMLS1GND1VCC2V03RS4R/W5EN6D07D18D29D310D411D512D613D714A15K161

23、602D0 D1 D2 D3 D4 D5 D6 D7D0 D1 D2 D3 D4 D5 D6 D7RSRSWRWRENENVCCVCCA01A12A23GND4SDA5SCL6WP7VCC8AT24C02R210KR310K+C110uF12345 J1JDQ-DC51234KRRESET123CON3VCCQ39013RG1KAP10 P11 P12 P13 P14 P15 P16 P17R71.5kR610k32 1P1POWERVCC112233445566S11 2J1CON2COM1R12R23R34R45R56R67R78R89RP110KRT1104R9 2.2KD1 LED图

24、4-6 控制电路图184.2.3 实物图图 4-7 实物图 4.2.4 仿真图五 系统功能本设计中系统可实现功能如下:(1)对输入的 6 位密码进行隐藏;(2)通过发光二极管和蜂鸣器,对解密正确或者错误进行声光报警;(3)6 位密码修改;(4)在密码遗失情况下,通过初始密码进行密码再设置;(5)采用 AT24C02 外部存储器,完成断电密码保护功能;19六 设计总结从基本方案的制定,到硬件电路的选择,再到电路的焊接,最后进行程序调试在此期间我们遇到很多困难,但经过不懈努力,终于击破了各个难点,达到的所需要的效果。在这次设计中,我深刻认识到自身的不足缺少实战经验。与此同时,也因为这次设计,我得到

25、一定的锻炼,体会到理论与实践相结合的重要意义。由于本次设计时间有限,一些设想没有完全实现,比如说:电子密码锁的网络通信扩展,人机界面智能化等。期待以后有机会对以上设想进行进一步研究实践。致谢非常感谢*老师,老 师 在 我 大 学 的 最 后 学 习 阶 段 毕 业 设 计 阶 段 给 自 己 的 指 导 ,从最初的定题,到资料收集,到写作、修改,到论文定稿,她们给了我耐心的指导和无私的帮助。为了指导我们的毕业论文,他甚至放弃了自己的休息时间,他的这种无私奉献的敬业精神令人钦佩,在此我向他表示我诚挚的谢意。同时,感谢所有任课老师和所有同学在这四年来给自己的指导和帮助,是他们教会了我专业知识,教会

26、了我如何学习,教会了我如何做人。正是由于他们,我才能在各方面 取 得 显 著 的 进 步 , 在 此 向 他 们 表示 我 由 衷 的 谢 意 , 并 祝 所 有 的 老 师 培 养 出 越 来 越 多 的 优 秀 人 才 , 桃李满天下参考文献1 童诗白,华成英.模拟电子技术基础M.北京: 高等教育出版社,2006.2江晓安,董秀峰,杨颂华.数字电子技术基础M.西安:电子科技大学出版社,2008.3黄友锐.单片机原理及应用M. 合肥:合肥工业大学出版社 2006.4徐科军.传感器京:电子工业出版社,2011.5孙力.C 语言程序设计M.北京:中与检测技术M.北国农业出版社,2008.6陈晓鸽

27、,昂军,胡仁喜.Protel 99SE 标准实例教程M.北京:机械工业出版社,2010.7金桂,向国梁.基于C语言STC89C52单片机电子密码锁的设计与仿真J.现代电子技术,2010,19:176-182.208 George Lee,Karina Ng,Edmond Kwang.Design of ring oscillator based voltage controlled oscillator. Project Final ReportR. 20059 T. C. Weigandt,B. Kim,and P. R. Gray.Analysis of Timing Jitter in

28、CMOS Ring Oscillators. IEEE International Symposium on Circuits and Systems. 1994附录:a、电子密码锁元件清单1) 9*15 万用板2) 矩阵按键或 16 个小按键3) 1602 液晶4) 16p 插针*25) 16p 单排母座*26) 光敏电阻7) 104 可调电阻8) 2.2k 电阻*29) 1k 电阻10) 10k 电阻*411) 1.5k 电阻12) 103 排阻13) 9012*214) 901315) 接线端子 3p16) 无源蜂鸣器17) 40 脚座18) 89c5219) 10uf 电容20) 30

29、pf 电容*221) 小按键22) 自锁开关23) 8 脚座24) 24c022125) 12m 晶振26) Led(3MM 红色)27) 继电器28) 电源接口29) 导线若干30) 焊锡若干31) usb 电源线(电池盒+DC 插头)b、源程序#include #include#define LCM_Data P0#define uchar unsigned char #define uint unsigned int#define w 6 /定义密码位数sbit lcd1602_rs=P27;sbit lcd1602_rw=P26;sbit lcd1602_en=P25;sbit Scl

30、=P34; /24C02 串行时钟sbit Sda=P35; /24C02 串行数据sbit ALAM = P21; /报警sbit KEY = P36; /开锁sbit open_led=P22; /开锁指示灯bit operation=0; /操作标志位bit pass=0; /密码正确标志bit ReInputEn=0; /重置输入充许标志bit s3_keydown=0; /3 秒按键标志位bit key_disable=0; /锁定键盘标志unsigned char countt0,second; /t0 中断计数器,秒计数器22void Delay5Ms(void);unsigne

31、d char code a=0xFE,0xFD,0xFB,0xF7; /控盘扫描控制表unsigned char code start_line = “password: “;unsigned char code name = “=Coded Lock=“; /显示名称unsigned char code Correct = “ correct “; /输入正确unsigned char code Error = “ error “; /输入错误unsigned char code codepass = “ pass “; unsigned char code LockOpen = “ ope

32、n “;/OPENunsigned char code SetNew = “SetNewWordEnable“;unsigned char code Input = “input: “;/INPUTunsigned char code ResetOK = “ResetPasswordOK “;unsigned char code initword = “Init password.“;unsigned char code Er_try = “error,try again!“;unsigned char code again = “input again “;unsigned char Inp

33、utData6; /输入密码暂存区unsigned char CurrentPassword6=1,3,1,4,2,0; /当前密码值unsigned char TempPassword6;unsigned char N=0; /密码输入位数记数unsigned char ErrorCont; /错误次数计数unsigned char CorrectCont; /正确输入计数unsigned char ReInputCont; /重新输入计数unsigned char code initpassword6=0,0,0,0,0,0;/=5ms 延时=void Delay5Ms(void)23un

34、signed int TempCyc = 5552;while(TempCyc-);/=400ms 延时=void Delay400Ms(void)unsigned char TempCycA = 5;unsigned int TempCycB;while(TempCycA-)TempCycB=7269;while(TempCycB-);/=/=24C02=/=void mDelay(uint t) /延时 uchar i;while(t-)for(i=0;i125;i+);void Nop(void) /空操作24_nop_();_nop_();_nop_();_nop_();/*起始条件*

35、/void Start(void)Sda=1;Scl=1;Nop();Sda=0;Nop();/*停止条件*/void Stop(void)Sda=0;Scl=1;Nop();Sda=1;Nop();/*应答位*/void Ack(void)Sda=0;Nop();Scl=1;25Nop();Scl=0;/*反向应答位*/void NoAck(void)Sda=1;Nop();Scl=1;Nop();Scl=0;/*发送数据子程序,Data 为要求发送的数据*/void Send(uchar Data)uchar BitCounter=8;uchar temp;dotemp=Data;Scl=

36、0;Nop();if(tempelse Sda=0;Scl=1;temp=Data1;Data=temp;BitCounter-;while(BitCounter);Scl=0;26/*读一字节的数据,并返回该字节值*/uchar Read(void)uchar temp=0;uchar temp1=0;uchar BitCounter=8;Sda=1;doScl=0;Nop();Scl=1;Nop();if(Sda)temp=temp|0x01;elsetemp=tempif(BitCounter-1)temp1=temp1;temp=temp1;BitCounter-;while(BitCounter);return(temp);void WrToROM(uchar Data,uchar Address,uchar Num)uchar i;uchar *PData;PData=Data;for(i=0;iNum;i+)

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报