基于单片机的电子密码锁的设计课程设计任务书_第1页
基于单片机的电子密码锁的设计课程设计任务书_第2页
基于单片机的电子密码锁的设计课程设计任务书_第3页
基于单片机的电子密码锁的设计课程设计任务书_第4页
基于单片机的电子密码锁的设计课程设计任务书_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 中北大学信息商务学院课程设计任务书 13/14 学年第 一 学期学 院: 信息商务学院 专 业: 电子信息工程 学 生 姓 名: 焦晶晶 学 号: 10050644x07 学 生 姓 名: 侯战祎 学 号: 10050644x47 课程设计题目: 专业综合实践之单片机部分: 基于单片机的电子密码锁的设计 起 迄 日 期: 2013年12 月30 日2014年1月 10 日 课程设计地点: 201,503 指 导 教 师: 张权 系 主 任: 王浩全 下达任务书日期: 2013 年12 月 30 日课 程 设 计 任 务 书1设计目的:使用单片机设计电子密码锁对于提高学生的单片机应用能力具有较

2、强的意义。通过该设计,可以巩固所学的单片机理论知识,培养学生硬件和软件的设计能力,从而促进学生所掌握的理论知识向实践应用的转变。2设计内容和要求(包括原始数据、技术参数、条件、设计要求等):使用单片机设计一个单片机电子密码锁,包括硬件设计和软件设计。同组成员可按硬件设计和软件设计来分工,协作完成。具体功能要求:(1)输入6位数字密码,再按“d”键开门。若密码正确,则开门;否则显示“000000”(2)6位led显示,可以显示所输入的密码数字; (3)内定密码“123456”,具有更改密码功能。3设计工作任务及工作量的要求包括课程设计计算说明书(论文)、图纸、实物样品等:(1)查阅相关文献资料,

3、了解电子密码锁的相关知识;(2)确定设计方案。绘制电路原理图;(3)编写软件程序并上机调试;(4)撰写课程设计说明书。 课 程 设 计 任 务 书4主要参考文献:1 叶启明.单片机制作的新型安全密码锁j.家庭电子.2000,第六期:24-272李明喜.新型电子密码锁的设计j.机电产品开发与创新.2004,第八期:77-793董继成.一种新型安全的单片机密码锁j.电子技术.2004,第三期:55-604胡汉才.单片机原理及其接口技术(第2版)m.北京:清华大学出版社,20045江志红. 51单片机技术与应用系统开发m. 清华大学出版社, 2008 6童诗白,华成英. 模拟电子技术基础m 高等教育

4、出版社,20007阎石. 数字电子技术基础第四版m.高等教育出版社.1998.118周鑫,何建新, 刘琥. 基于单片机的电子密码锁控制电路设计j 成都信息工程学院学报. 2009,(08) 9 郭海英. 基于单片机的电子安全密码锁的设计j. 佛山职业技术学院现代电子技术2005 (13)10 王金国.采用单片机的电子密码锁控制电路j.山东煤炭科技 ,2000 ,(3) :30 - 33.5设计成果形式及要求:提供课程设计说明书一份;设计原理图及软件源程序; 6工作计划及进度:2013年12月 30 日 2014年1 月 1 日:查阅资料;2014年:1 月 2 日 1 月 7 日:方案设计、实

5、验验证;1 月 8 日 1 月 9 日:完成课程设计说明书; 1 月 10 日:答辩。系主任审查意见: 签字: 年 月 日目录1 绪论12系统方案设计22.1 设计目标22.2 主控部分的选择32.3 密码输入方式33硬件系统设计43.1单片机stc89c52功能介绍43.2 硬件电路设计53.2.1 复位电路63.2.2 晶振电路63.2.3存储电路73.2.4 键盘输入电路83.2.5 显示电路83.2.6 电源输入电路93.2.7 开锁电路104软件程序设计104.1 按键软件设计114.1.1 按键功能程序流程图114.1.2 按键功能子程序124.2 密码设置软件设计124.2.1

6、密码设置程序流程图124.2.2 密码设置子程序134.3开锁软件设计144.3.1 开锁程序流程144.3.2 开锁功能子程序145结论1641 绪论在当今社会,安全防盗已成为社会问题,而锁自古以来就是防盗的重要工具,目前国内大部分人使用的还是传统的机械锁,然而,眼下假冒伪劣的机械锁互开率非常之高,此外,即使是一把质量过关的机械锁,通过急开锁,甚至可以在不损坏锁的前提下将锁打开。机械锁的这些弊端为一种新型的锁电子密码锁,提供了很大的发展空间。本文从经济实用的角度出发,设计采用单片机为主控芯片,结合外围电路,组成电子密码控制系统,密码锁共6位密码,每位的取值范围为18,用户可以自行设定和修改密

7、码。用户想要打开锁,必先通过提供的键盘输入正确的密码才可以,密码输入错误有提示。6位密码同时输入正确,锁才能打开。锁内有备用电池,只有内部上电复位时才能设置或修改密码,因此,仅在门外按键是不能修改或设置密码的,因此保密性强、灵活性高。其特点如下:1) 保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零。2) 密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免因人员 的更替而使锁的密级下降。3) 误码输入保护,当输入密码多次错误时,报警系统自动启动。4) 无活动零件,不会磨损,寿命长。5) 使用灵活性好,不像机械锁必须佩带钥匙才能开锁。6) 电子密码锁操作简单易行,一学即会。从

8、目前的技术水平和市场认可程度看,使用最为广泛的是键盘式电子密码锁,该产品主要应用于保险箱、保险柜和取款机,由于人们对安全的重视和科技的发展,许多电子智能锁(指纹识别、ic卡辨认)已在国内外相继面世。但是这些产品的特点是针对特定的指纹和有效卡,只能适用于保密要求的箱、柜、门等。而且指纹识识别器在公共场所使用存在容易机械损坏,ic卡还存在容易丢失、损坏等缺点,再加上其成本较高,一定程度上限制了这类产品的普及和推广。鉴于目前的技术水平与市场的接受程度,键盘式电子密码锁是这类电子防盗产品的主流。在科学技术不断发展的今天,电子密码防盗锁作为防盗卫士的作用也日趋重要。电子密码锁是集计算机技术、电子技术、数

9、字密码技术为一体的机电一体化高科技产品,具有安全性高,使用方便等优点。 当今电子密码锁发展已经到了非常高的境界,由于电子元件特别是单片机应用在这几年得到空前发展,无论功能性,稳定性都比较全面,在保密方面已做到人眼识别,指纹识别,人声识别基本上电影上有的现实也有。在国外发展比较早,所以应用也比较广泛,主要在家庭装较贵重地方,银行,保险柜等应用较多,在国内这方面发展也较快,不管自己开发或是引进都有,在重要地方应用也较多,由于价钱比普通弹子锁较贵,早几年应用较少,现在越来越普及到平常化,未来的发展也会越来越被大众采用,由于它的功能、安全是弹子锁无法相比的5。发展前境也是非常大的。2系统方案设计2.1

10、 设计目标本设计采用stc89c52单片机为主控芯片,结合外围电路矩阵键盘、液晶显示器lcd1602和密码存储at24c02等部分组成。其中矩阵键盘用于输入数字密码和进行各种功能的实现。由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或者报警电路控制开锁还是报警,组成的电子密码锁系统,能够实现:1完全正确输入6位密码的前提下,有开锁提示;2错误输入密码,显示“000000”;3用户可以自行设定和修改密码;4只有内部上电复位时才能设置或修改密码。系统整体设计框图如图2-1所示:输入电路显示电路主

11、控芯片存储模块输出电路晶振电路图2- 1 系统整体设计框图2.2 主控部分的选择方案一:采用数字电路控制用以74ls112双jk触发器构成的数字逻辑电路作为密码锁的核心控制,将密码保存在jk触发器中,与输入密码通过比较器比较,判断结果是否相符合。采用数字电路设计的方案好处就是设计简单,但控制的准确性和灵活性差,故不采用。 方案二:采用以单片机为核心的控制方案选用单片机作为系统的核心部件,实现控制与处理的功能。单片机具有资源丰富、速度快、编程容易等优点。利用单片机内部的随机存储器(ram)和只读存储器(rom)及其引脚资源,外接液晶显示(lcd),键盘输入等实现数据的处理传输和显示功能,基本上能

12、实现设计指标。因此综合考虑,本系统采用方案二。2.3 密码输入方式 采用键盘输入方式,由各按键组成的矩阵键盘每条行线和列线都对应一条i/o口线,键位设在行线和列线的交叉点,当一个键按下就会有某一条行线与某一条列线接触,只要确定接触的是哪两条线,即哪两个i/o口线,就可以确定哪一个键被触动。 行线设计成上拉口线,初始时被置高电位,列线悬空,初始置低。通过不断读行线口线,或者中断方式触发键位扫描。当发现有键按下,将列线逐一置低,其他列线置高,读行线口线。当某条列线置低时,某条行线也被拉低,则确定这两条线的交点处的按钮被按下。每个按键都可通过程序赋予功能,从而完成密码识别本方案简单易行。3硬件系统设

13、计3.1单片机stc89c52功能介绍stc89c52是51系列单片机的一个型号,它是stc公司生产的。stc89c52是一个低电压,高性能cmos 8位单片机,片内含8k bytes的可反复擦写的flash只读程序存储器和256 bytes的随机存取数据存储器(ram),器件采用stc公司的高密度、非易失性存储技术生产,兼容标准mcs-51指令系统,片内置通用8位中央处理器和flash存储单元,功能强大的stc89c52单片机可提供许多较复杂系统控制应用场合。stc89c52有40个引脚,32个外部双向输入/输出(i/o)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行

14、通信口,2个读写口线,stc89c52可以按照常规方法进行编程,但不可以在线编程(s系列的才支持在线编程)。其将通用的微处理器和flash存储器结合在一起,特别是可反复擦写的flash存储器可有效地降低开发成本。stc89c52有pdip、pqfp/tqfp及plcc等三种封装形式,以适应不同产品的需求 。其引脚图如图3-1示。图3- 1 stc89c52引脚分布图stc89c52具体介绍如下: 主电源引脚(2根)vcc(pin40):电源输入,接5v电源gnd(pin20):接地线外接晶振引脚(2根)xtal1(pin19):片内振荡电路的输入端xtal2(pin20):片内振荡电路的输出端

15、控制引脚(4根)rst/vpp(pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。ale/prog(pin30):地址锁存允许信号psen(pin29):外部存储器读选通信号ea/vpp(pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。可编程输入/输出引脚(32根)stc89c52单片机有4组8位的可编程i/o口,分别位p0、p1、p2、p3口,每个口有8位(8根引脚),共32根8。p0口(pin39pin32):8位双向i/o口线,名称为p0.0p0.7p1口(pin1pin8):8位准双向i/o口线,名称为p1.

16、0p1.7 p2口(pin21pin28):8位准双向i/o口线,名称为p2.0p2.7 p3口(pin10pin17):8位准双向i/o口线,名称为p3.0p3.73.2 硬件电路设计本设计主要由单片机、矩阵键盘、液晶显示器和密码存储等部分组成。其中矩阵键盘用于输入数字密码和进行各种功能的实现。由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路。本系统共有两部分构成,即硬件部分与软件部分。其中硬件部分由电源输入部分、键盘输入部分、复位部分、晶振部分、显示部分,软件部分对应的由主程序、初始化程序

17、、lcd显示程序、键盘扫描程序、启动程序、关闭程序、键功能程序、密码设置程序、eeprom读写程序和延时程序等组成。3.2.1 复位电路单片机复位是使cpu和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作,例如复位后pc0000h,使单片机从第个单元取指令。无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。在复位期间(即rst为高电平期间),p0口为高组态,p1p3口输出高电平;外部程序存储器读选通信号psen无效。地址锁存信号ale也为高电平。根据实际情况选择如图3-4所示的复位电路。该电路在最简单的复位电路下增加了手动复位按键,在接通电源瞬间,电容c1上

18、的电压很小,复位下拉电阻上的电压接近电源电压,即rst为高电平,在电容充电的过程中rst端电压逐渐下降,当rst端的电压小于某一数值后,cpu脱离复位状态,由于电容c1足够大,可以保证rst高电平有效时间大于24个振荡周期,cpu能够可靠复位。增加手动复位按键是为了避免死机时无法可靠复位。当复位按键按下后电容c1通过r5放电。当电容c1放电结束后,rst端的电位由r1与r2分压比决定。由于r11r15 因此rst为高电平,cpu处于复位状态,松手后,电容c1充电,rst端电位下降,cpu脱离复位状态。r1的作用在于限制按键按下瞬间电容c1的放电电流,避免产生火花,以保护按键触电 。e1r1k1

19、r210k图3- 2复位电路原理图3.2.2 晶振电路st89c52引脚xtal1和xtal2与晶体振荡器及电容c2、c1按图3-5所示方式连接。晶振、电容c2c3及片内与非门(作为反馈、放大元件)构成了电容三点式振荡器,振荡信号频率与晶振频率及电容c1、c2的容量有关,但主要由晶振频率决定,范围在033mhz之间,电容c2、c3取值范围在530pf之间。根据实际情况,本设计中采用12mhz做系统的外部晶振11。电容取值为20pf。图3- 3晶振电路原理图3.2.3存储电路 at24c02是一个2k位串行cmos e2prom, 内部含有256个8位字节,catalyst公司的先进cmos技术

20、实质上减少了器件的功耗。at24c02有一个16字节页写缓冲器。该器件通过ic总线接口进行操作,有一个专门的写保护功能。采用两线串行的总线和单片机通讯,电压最低可以到2.5v,额定电流为1ma,静态电流10ua(5.5v),芯片内的资料可以在断电的情况下保存40年以上,而且采用8脚的dip封装,使用方便。 at24c02支持ic,总线数据传送协议ic,总线协议规定任何将数据传送到总线的器件作为发送器。任何从总线接收数据的器件为接收器。数据传送是由产生串行时钟和所有起始停止信号的主器件控制的。主器件和从器件都可以作为发送器或接收器,但由主器件控制传送数据(发送或接收)的模式,通过器件地址输入端a

21、0、a1和a2可以实现将最多8个at24c02器件连接到总线上。 其电路如图36所示。a01a12a23gnd4vcc5wp6scl7sdl8u3at24c02vccr20510r21510vccp3.5p3.6p3.7图3- 4 掉电存储电路原理图图中1、2、3脚是三条地址线,用于确定芯片的硬件地址,在at89s51上它们都能接地,第5脚和第8脚分别为正、负电源。at24c02中带有片内地址寄存器,每写入或读出一个数据字节后,该地址寄存器自动加1,以实现对下一个储存单元的读写,所有字节均以单一操作方式读取。3.2.4 键盘输入电路由于本设计所用到的按键数量较多而不适合用独立按键式键盘。采用的

22、是矩阵式按键键盘,它由行线和列线组成,也称行列式键盘,按键位于行列的交叉点上,密码锁的密码由键盘输入完成,与独立式按键键盘相比,要节省很多i/o口。本设计中使用的这个4*4键盘不但能完成密码的输入还能作特别功能键使用,比如清空显示功能等。键盘的每个按键功能在程序设计中设置 。其大体功能(看键盘按键上的标记)及与单片机引脚接法如图3-7所示:k4k3k2k1k5k6k7k8k12k11k10k9k13k14k15k16r110kr210kr310kr410kr510kr610kr1610kr1710kvccp1.0p1.11p1.3p1.4p1.5p1.7图3- 5键盘输入原理图3.2.5 显示

23、电路为了提高密码锁的密码显示效果能力。本设计的显示部分由液晶显示器lcd1602取代普通的数码管来完成。只有按下键盘上的开启按键后,显示器才处于开启状态。同理只有按下关闭按键后显示器才处于关闭状态。否则显示器将一直处于初始状态,当需要对密码锁进行开锁时,按下键盘上的开锁按键后利用键盘上的数字键09输入密码,每按下一个数字键后在显示器上显示一个*,输入多少位就显示多少个*。当密码输入完成时,按下确认键,如果输入的密码正确的话,再按“d”键,单片机其中p2.0引角会输出低电平,使三极管t2导通,电磁铁吸合,电子密码锁被打开,如果密码不正确,lcd显示屏会显示“000000”,p2.0输出的是高电平

24、,电子密码锁不能被打开。通过lcd显示屏,可以清楚的判断出密码锁所处的状态 。其显示部分引脚接口如图3-8所示:r1010kp3.2p3.1p3.0db07db18db29db310db411db512db613db714rs4r/w5e6vcc2vl+15vl-16vss1vee3u2lcd1602图3- 6显示电路原理图3.2.6 电源输入电路密码锁主要控制部分电源需要用5v直流电源供电,其电路如图3-9所示,而5v电源输入时往往伴有杂波,所以加一个2.2uf的电容滤波16。这样输出的电压一般能满足要求。vcce22.2uf12power2pin图3- 7 电源输入电路原理图3.2.7 开

25、锁电路通过单片机开锁执行机构,电路驱动电磁锁吸合,从而达到开锁的目的。其原理如图311所示。电磁锁单片机微控制器开锁驱动电路返回ny密码正确?图3- 8密码锁开锁机构示意图当用户输入的密码正确时,单片机便输出开门信号,送到开锁驱动电路,然后驱动电磁锁,达到开门的目的。其实际电路如图312所示。图3- 9开锁电路原理图4软件程序设计本系统软件设计由主程序、初始化程序、lcd显示程序、键盘扫描程序、键功能程序、密码设置程序、eeprom读写程序和延时程序等组成。4.1 按键软件设计4.1.1 按键功能程序流程图如图4-2为按键功能流程图,在按键当中,有与输入、开锁、清除、设置、确认的程序相对应的按

26、键,并按顺序与输入的数相比较,当输入正确时,进入密码程序,错误时进行清除,输入两次新密码正确时,可进行重新设置密码,最后确认程序。开开始始键值输入?键值开锁?键值清除?键值设置?键值确认?密码输入程序设置程序清除程序开锁程序确认程序yyyyynnnn返回n开始返回图4- 1按键功能流程图4.1.2 按键功能子程序void check_key(void)unsigned int row,col,tmp1,tmp2;tmp1=0x10; / tmp1用来设置p1口的输出,取反后使p1.1p1.7中有一个为0 for(row=0;row4;row+) /行检测p1=0x0f; /先将p1.0p1.3

27、置高p1=tmp1 ; /使p1.4p1.7中有一个为0tmp1*=2 ; /tmp1左移一位if(p1&0x0f)0x0f) /检测p1.0p1.3中是否有一位为0 delayms (30);if(p1&0x0f)0x0f) /检测p1.0p1.3中是否有一位为0,只要有说明此行有按键按下,进入列检测 tmp2=0x01; /tmp2用来检测哪一列为0for(col=0;col3?输新密码y再次输新密码y设设置置成功ny两次新密码输入相同?开始返回设置成功图4- 2密码设置流程图4.2.2 密码设置子程序if(sk11=1)&(cp0=0) gotoxy(0,0); print(old co

28、de:); / 提示输入旧密码pass=1;count1=0;count=0;count7=1;count2=1;count6=0;sk11=0;if(count!=0)&(pass=1)&(cp0=0) pass0=0; /输出显示*if(count=1)gotoxy(0,0); print(old code:*);if(count!=0)&(pass0=1)&(cp0=0)pass=0;if(count=1)gotoxy(0,0); print(new code:*);if(sk14=1)&(count7=1) /按键盘认键,校验旧密码 /旧密码输入正确if(password0=cq0)&

29、(password1=cq1)&(password2=cq2)&(password3=cq3)&(password4=cq4)&(password5=cq5)&(pass=1)&(count6)gotoxy(0,0); print(new code:);pass0=1;pass=0;sk14=0;count=0;count7=0;n=0;m=0;elsegotoxy(0,0); print(old code wrong); /旧密码输入错误sk14=0;count2=0;count7=0;pass=0;m=0;if(pa!=10)&(pass0=1)con=pa;n+;pa=10;if(sk1

30、4=1)if(n7)&(count=6)gotoxy(0,0); print(set over!); /旧密码输入正确,存新密码4.3开锁软件设计4.3.1 开锁程序流程开始时,输入密码,再按“d”键,如果输入密码正确,则开锁成功。如果输入错误,则显示“000000”。4.3.2 开锁功能子程序if(sk15=1) /提示输入密码gotoxy(0,0);count=0;print(code:);count1=1;count2=1;count6=1;sk15=0;sk14=0;m=0;cp0=1;if(count!=0)&(count1=1) /lcd上显示“*”if(count=1)gotox

31、y(0,0); print(code:*);count1=0;if(sk14=1)&(count6=1) /按下确认,进入校验 /密码正确if(password0=cq0)&(password1=cq1)&(password2=cq2)&(password3=cq3)&(password4=cq4)&(password5=cq5)&(count=6)gotoxy(0,0); print(door open!);sk14=0;count=0;count2=0;m=0;count4=1;count6=1;delayms(1000);p2_0=0;delayms(500);p2_0=1; lcd_i

32、nitial();cp0=0;elsegotoxy(0,0); print(code wrong);delayms(1000);sk14=0;count=0;count2=0;count6=0;m=0; p3_6=0;count4=1;count6=1;delayms(1000);delayms(100);delayms(3000);p3_6=1;lcd_initial();cp0=0; /密码错误5系统仿真、调试及结论proteus isis是英国labcenter公司开发的电路分析与实物仿真软件。它运行于windows操作系统上,可以仿真、分析各种模拟器件和集成电路,该软件的特点是:实现了

33、单片机仿真和数字电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、rs232动态仿真、i2c调试器、spi调试器、键盘和lcd系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、avr系列、pic12系列、pic16系列、pic18系列、z80系列、hc11系列以及各种外围芯片。提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如keil c51 uvision2等软件。具有强大的原理图绘制功能。总之,该软件是一款集单片机和

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论