课
程 设 计 说 明 书 课程名称: 《单片机技术》 设计题目: 基于51单片机的电子密码锁 院(部): 电子信息与电气工程学院 学生姓名: 马亚林 学 号: 专业班级: 12通信工程(专升本) 指导教师: 丁莹亮
2013年05月17日
课 程 设 计 任 务 书
设计题目 学生姓名 王立斌 所在院部 基于51单片机的电子密码锁 基于51单片机12通信工程(专专业、年级、班 的电子密码锁 升本) 设计要求: 设计以单片机ATC51为核心的电子密码锁,包括电子密码锁完整的设计过程以及外围
的开锁电路和报警电路的设计。
电子密码锁要完成以下部分的设计:按键接口电路、电子密码锁的控制电路、输出八段显示电路。
电子密码锁控制电路能完成以下功能设计:数字按键的数字输入、存储和清除、功能按键的功能设计、密码的清除和复位、报警信号产生电路密码核对、解除电锁电路、 输出八段显示电路完成以下电路设计:数据选择电路、八段显示器扫描电路。
学生应完成的工作:
1. 运用Proteus软件设计电路原理图; 2. 用Proteus软件进行仿真; 3. 焊接电路板并调试实现其功能; 4. 完成实习报告;
5. 我的任务是设计电路原理图并仿真。
参考文献阅读:
[1] 杜尚丰. CAN总线测控技术及其应用.北京:电子工业出版社,2007.1
[2] 杜树春.单片机C语言和汇编语言混合编程实例详解.北京:北京航空航天大学出版社,2006.6
工作计划:
2013.5.6 熟悉课题并查阅相关资料,同时消化吸收资料内容;
2013.5.7——2013.5.8 根据设计题目确定硬件设计方案,并交与指导老师修改; 2013.5.9——2013.5.10 开始着手课题的软件设计,与指导老师进行沟通; 2013.5.13 申请领用元器件;
2013.5.14——2013.5.17 进行实物制作,并撰写课程设计报告。
任务下达日期:2013 年5月 6 日 任务完成日期:2013 年5月 17 日
指导教师(签名): 学生(签名):王立斌
1
基于51单片机的电子密码锁的设计
摘要
随着科技和人们的生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统机械锁由于构造简单,被撬事件屡见不鲜;电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的青睐。本设计以单片机ATC51作为密码锁监控装置的检测和控制核心,分为主机控制和从机执行机构(本设重点介绍主机设计),实现钥匙信息在主机上的初步认证注册、密码信息的加密、钥匙丢失报废等功能。根据51单片机之间的串行通信原理,这便于对密码信息的随机加密和保护。而且采用键盘输入的电子密码锁具有较高的优势。采用数字信号编码和二次调制方式,不仅可以实现多路信息的控制,提高信号传输的抗干扰性,减少错误动作,而且功率消耗低;反应速度快、传输效率高、工作稳定可靠等。软件设计采用自上而
下的模块化设计思想,以使系统朝着分布式、小型化方向发展,增强系统的可扩展性和运行的稳定性。测试结果表明,本系统各项功能已达到本设计的所有要求。
关键词:单片机;密码锁;单片机设计,电子锁。
2
目 录
1. 设计背景 ................................................... 5 1.1选题背景 ............................................... 5 1.2课题意义 ............................................... 5 2.设计方案 .................................................... 5 3. 方案实施 ................................................... 6 3.1 硬件系统 ............................................... 6
3.1.1ATC52简介及功能引脚 ............................................................... 7 3.1.2晶振电路 .......................................................................................... 7 3.1.3共阳极数码管 .................................................................................. 8 3.1.4复位电路 .......................................................................................... 8 3.1.5发光二极管 ...................................................................................... 9 3.2软件设计 .............................................. 10 3.3仿真设计 .............................................. 12 3.4系统制作 .............................................. 13 4. 结果与结论 ................................ 错误!未定义书签。 5. 收获与致谢 ................................ 错误!未定义书签。 6. 参考文献 .................................. 错误!未定义书签。 7. 附件 ...................................... 错误!未定义书签。 7.1元器件清单 ............................................ 15 7.2密码锁程序 ............................ 错误!未定义书签。
3
7.3系统硬件电路图 ......................... 错误!未定义书签。 7.4系统实物照片........................... 错误!未定义书签。
4
1. 设计背景
1.1选题背景
在传统钥匙的基础上,加了一组或多组密码,不同声音,不同磁场,不同声波,不同光束光波,不同图像。(如指纹、眼底视网膜等)来控制锁的开启。从而大大提高了锁的安全性,使不法之徒无从下手,人们也就能对自身财产安全有了更多的保障。当今安全信息系统应用越来越广泛,特别在保护机密、维护隐私和财产保护方面起到重大作用,而基于电子密码锁的安全系统是其中的组成部分,因此研究它具有重大的现实意义。
1.2课题意义
单片机控制系统能够取代以前利用复杂电子线路或数字电路构成的控制系统,可以以软件控制来实现,并能够实现智能化,现在单片机控制范畴无所不在,例如通信产品、家用电器、智能仪器仪表、过程控制和专用控制装置等等,单片机的应用领域越来越广泛。为了紧跟时代步伐,系特此安排此次实习,以提高对单片机的认识及对其更深一步的理解与掌握。
2. 设计方案
2.1原理设计
密码锁工作时分为两种工作状态,分别是正常状态和锁定状态。锁定状态时,输出锁定信号,供外部执行机构使用,实现上锁功能;正常状态时,锁定信号消失,供外部执行机构使用,实现开锁功能以ATC52问为中心,在引脚XTAL1和XTAL2输入由晶振电路产生的固定脉冲,同时设置复位电路。4个数字键通过P0口的低1位P0.0-P0.3连接,P0.0表示0数字键、P0.1表示1数字键、P0.2表示2数字键、P0.3表示3数字键。按键按下为低电平,断开为高电平。数码管与P3口的七个引脚相连,稳压电路通过7805、桥堆2W10和适当电容实现。软件部分可以编程驱动电路及延时程序,完成相应要求 ,可用PROTUES软件进行仿真,验证程序是否正确。
第二种方案是在P.0-P0.6口与数码管之间连接驱动芯片74LS247,程序可不必编入驱动程序。
5
以上两种方案都可以完成密码锁设计要求,不同之处是前者方便简易,易于实现,且可提高编程能力,而第二种也可实现,在考虑节约方面,是浪费了驱动芯片,且即使有驱动芯片,也要考虑芯片驱动电压和驱动电路正确与否,相对而言,不如前者。
2.2软件设计
根据要求和设计方案在PROTUES软件中画出相应电路,用汇编语言汇编应用程序,之后把程序导入单片机中进行验证,成功后制作PCB板
3. 方案实施
3.1 硬件系统
3.1.1 ATC52简介及功能引脚
ATC52是51系列单片机的一个型号,它是ATMEL公司生产的。它是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位处理器和Flash存储单元,功能强大的ATC52单片机可为您提供许多较复杂系统控制应用场合。
ATC52有40个引脚,32个外部双向输入/输出端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写端口,ATC52可以按照常规方法进行编程,但不可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。ATC52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。ATC52为40 脚双列直插封装的8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1和XTAL2为振荡器输入输出端口,外接12MHz 晶振。RST/VPP为复位输入端口,外接电阻电容组成的复位电路。VCC
6
和VSS为供电端口,分别接+5V电源的正负端。P0~P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口被定义为N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS和SCLS端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。其引脚图见图1。
图1 ATC52
3.1.2 晶振电路
MC-51内部有一个用于构成振荡器的高增益反相放大器,输入端为引脚XTAL1,输出端为引脚XTAL2。 这两个引脚跨接石英晶体振荡器和微调电容,就构成一个自激振荡器,如图2。电路中C1和C2典型值通常选为30pF左右,对外接电容没有严格要求,但电容的大小会影响振荡器频率的高低、振荡器的稳定性和起振的快速性。振荡器的频率范围在1.2MHz-12MHz之间。
7
C120pX1CRYSTALC220p 图2
3.1.3 共阳极数码管
共阳极数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳极数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。其原理图如图2:
VCCDS1DS2DS3DS4DS51KR3DS6DS7DS8 图3 共阳极数码管
3.1.4复位电路
电阻给电容充电,电容的电压缓慢上升直到VCC,没到VCC时芯片复位脚近似为低电平,于是芯片复位,接近VCC时芯片复位脚近似为高电平,于是芯片停止复位,复位完成。
先看看单片机数据手册,得知复位时间最少是多少个周期,再计算当前时钟频率一个周期是多少时间,再乘以复位所需周期数就知道当前时钟频率所需复位时
8
间,用RC充电公式计算所需电阻电容值即可。注意单片机数据手册复位脚的高低电平电压值,RC充电时间要计算复位脚的高低电平区间电压,
复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。图3所示的RC复位电路可实现上述基本功能。
RST
20pC320uR91K1K图4 复位电路
3.1.5 发光二极管
R8 发光二极管简称为LED。由镓与砷、磷的化合物制成的二极管,当电子与空穴复合时能辐射出可见光,因而可以用来制成发光二极管,在电路及仪器中作为指示灯,或者组成文字或数字显示。磷砷化镓二极管发红光,磷化镓二极管发绿光,碳化硅二极管发黄光。
它是半导体二极管的一种,可以把电能转化成光能;常简写为LED。发光二极管与普通二极管一样是由一个PN结组成,也具有单向导电性。当给发光二极管加上正向电压后,从P区注入到N区的空穴和由N区注入到P区的电子,在PN结分别与N区的电子和P区的空穴复合,产生自发辐射的荧光。不同的半导体中电子和空穴所处的能量状态不同。当电子和空穴复合时释放出的能量多少不同,释放出的能量越多,则发出的光的波长越短。常用的是发红光、绿光或黄光的二极管。常见二极管基本电路如图5。
9
D1R100R1Q1PNPLED-BIGY 图5 发光二极管原理图
发光二极管的反向击穿电压约5伏。它的正向伏安特性曲线很陡,使用时必须串联限流电阻以控制通过管子的电流。限流电阻R可用下式计算: 公式
R=(E-UF)/IF
式中E为电源电压,UF为LED的正向压降,IF为LED的一般工作电流
3.2软件设计
程序分为主程序和中断服务程序两个主要部分,主程序完成变量和单片机特殊功能寄存器的初始化后,进入一个循环结构。在循环中,首先判断有无按键按下,若有按键则判断是否数字键还是功能键,根据按键的情况执行相应的功能。然后根据密码是否正确的判断情况,执行相应的操作。循环中最后将需要显示的内容通过动态扫描在数码管上显示。
中断服务程序只要实现三个状态的计时,待机时需要计时5秒,密码正确需要计时5s,密码3次输入错误需要计时15秒。当前处于何种计时,由主程序根据密码判断结果来决定。
软件任务要求主要包括按键扫描、密码判断、动态扫描输入的内容、计时、指示信号输出以及蜂鸣器提示音的输出等。主程序主要完成变量与寄存器的初始
10
化、按键的扫描与判断、密码的判断以及数码管动态扫描显示等。主程序流程图如图3-4所示。 N 清除所有输入内容主程序开始初始化变量设置定时器与中断扫描键盘,若有按键,则开定时器,启动待机计时YKey_val==key_val_old?Nkey_val_old=Key_valKey_val!=255&cnt_state!=2YKey_val<6?数字键NKey_val==6?确认键?Y键值存入存数指针指定单元存数指针增1N密码正确吗?YKey_val==7?取消键?N错误次数<2Y开定时器T1计时Cnt_state=1密码错误次数清零 密码错误指示灯灭 开锁信号灯亮已开锁信号灯亮 N开定时器T1,Cnt_state=2报警灯亮密码错误灯亮密码错误次数清零Y错误次数增1密码错误灯亮
动态扫描 图3-4密码锁的主程序流程图
中断服务程序主要完成三种定时的计时工作,包括①按键之后启动的待机计时,当待机超过5s则清除已输入的内容。②密码输入正确之后的计时,4s之后清除开锁驱动信号与已开锁指示信号。 ③密码输入错误3次的计时,计时15s,在则15s内无法再次输入密码,15秒过后清除所有报警与指示。中断服务程序流程图如图3-5所示。
11
定时器中断开始定时器溢出次数T1_cnt++计时1秒T1_cnt>3999?
YT1_cnt=0待机计时cnt_state==0?NYcnt_val_5s<5?NYcnt_val_5s=0关定时器清除所有输入Ncnt_val_5s++密码正确计时cnt_state==1?Ycnt_val_4s<4?NYcnt_val_4s=0,cnt_state=0关定时器、清除所有输入、清开锁信号Ncnt_val_4s++密码错误3次计时cnt_state==2?Ycnt_val_15s<15?NYcnt_val_4s=0,cnt_state=0关定时器、清除所有输入、密码错误和报警亮指示灯Ncnt_val_15s++中断返回图3-5密码锁中断服务程序流程图
3.3仿真设计
用Proteus软件进行绘图与仿真,仿真结果如图3-6所示:
图3-6软件仿真图
12
3.4系统制作
Proteus原理图完成并经仿真成功后即可制作电路板。焊接万能板时:
首先,对各个元器件进行功能检测以确定是好的,紧接着要合理布局,在保证美观的同时要尽量少的用线;
其次,要注意电阻和电容参数的正确选取。数码管和LED灯一定要接限流电阻,电容的大小和极性一定要正确选取;
再次,要严格按照仿真成功的电路原理图进行焊接连线,在焊接的时候要避免虚焊和漏焊的情况,同时要注意带极性电容和LED灯的正负极,要防止短路的发生,焊接时一定要注意安全;
最后,在完成焊接全过程后,要对万能板进行检测、调试。
4.结果与结论
在整个电路的设计过程中,我们尽自己的最大努力做好电路设计。对于该电路我们尽量让自己达到设计的所有要求。但在制作过程中我们遇到了一些问题,比如各个电子元件的工作电压VCC我们就没有考虑他们是否相同,地线是否选取最优放位等.但在实际电路中他们需要相同,以减少电路的复杂度。制作生产所需要的成本,对整个电路元件的选择和实际中有所差别。这些问题我们觉得都是值得进一步改进和值得探索的。同时制作中遇到了一些问题,虽然尽最大的能力解决了一些,但还是存在一些缺陷,希望老师指正。
5.收获与致谢
实践是检验真理的唯一标准,当然也是检验学习成果的标准。在经过一段时间的学习之后,我们需要了解自己的所学应该如何应用在实践中,因为任何知识都源于实践,归于实践,所以要将所学的知识在实践中来检验。 在做课程设计期间,在老师的指导下,通过自身的不断努力,无论是思想上,学习上,都取得了长足的发展和巨大的收获,现将工作总结如下:思想上,学会了用科学的精神去解决问题。很多事情看起来是很简单的问题,但实际做起来却会发现有许多奥
13
妙!这是因为其中蕴含着许多科学的问题。运用科学的方法去解决问题,这是我这次实习给我带来的思想上的改变。学习上,使自已在大学所学的知识在这次得到实践,学到一些书本上无法学到的经验,对电子元件有了进一步的认识。
电子锁是信息化时代发展的产物,应时而生,我相信随着科技的不断发展,将来的电子锁一定更加完美,更加人性化,更加便宜,更加安全。
在本次课程设计过程中,丁老师对该设计给予细心指引与教导,使我们得以最终完成毕业论文设计,在此表示衷心的感谢。此外在学习中,老师严谨的治学态度、丰富渊博的知识、敏锐的学术思维、精益求精的工作态度以及侮人不倦的师者风范是我终生学习的楷模。另外在完成课程设计的过程中,还得到众多朋友
的关心支持和帮助,在此,谨向老师同学和朋友致以衷心的感谢和崇高的敬意!
最后,我要向百忙之中抽时间对本文进行审阅,评议和参与设计的各位老师表示感谢。
6.参考文献
[1]田玉敏. 精通8051程序设计[M] 人民邮电出版社,2005.2 [2]张毅刚. 单片机原理及应用 高等教育出版社,2003.12 [3]阎 石. 数字电子技术基础[M],2007.7
[4]杨将新. 单片机程序设计及应用[M], 电子工业出版社,2005.2
14
7.附件
7.1元器件清单
表1 元器件清单 元器件名称 单片机 变压器 驱动器 稳压器 晶振 三极管 蜂鸣器 LED 数码管 电解电容 电解电容 电解电容 电解电容 电容 按键 电阻 电阻 电阻 电阻 二极管
型号规格 atc51 74hc244 7805 8550 数量 1 1 2 1 1 1 1 5 6 1 1 2 1 2 9 5 9 1 9 4 备注 220v转12v 12MHZ 2.2mF 22uF 100nF 220uF 30pF 500欧 100欧 1k 10k 15
7.2密码锁程序
main()
{ audio_out=1; P3=0xff; cnt_val_15s=0; cnt_val_5s=0; cnt_val_4s=0;
cnt_state=0; //0-待机计时5s状态;1-密码正确,计时4s状态 ;2-三次密码错 误,处于计时15秒状态。 T1_cnt=0; error_num=0; key_val_old=255;
init_variant();//初始化51的寄存器
TMOD=0x20; //用T1计时 8位自动装载定时模式
TH1=0x19; //500微秒溢出一次; 250=(256-x)*12/11.0592 -> x=19 TL1=0x19;
EA=1; //开中断 ET1=1;
TR1=0; //开定时器T1 while(1)
{ key_val=scan_key(); //按键输入,有键按下key_val为0-7,无键
按下key_val为255。
if (key_val!=key_val_old) { key_val_old=key_val;
if (key_val!=255&& cnt_state!=2) { audio_out=0;
delay(100); //延时去抖动 audio_out=1;
16
switch (key_val) { case 0: case 1: case 2: case 3: case 4: case 5:
if(key_index<6) //密码为6位,超过6位视为输入无效 { show_val[key_index]=key_val; key_index++; } break; case 6: //确认键
if(check_input_pw())
{ error_num=0; //密码输入错误次数清零
pw_error=1; //密码错误指示灯灭 relay_open=0; //开锁驱动信号灯亮 open_lock=0; //已开锁信号灯亮 delay(50000); //两声短“滴”声 audio_out=0; delay(50000); audio_out=1; delay(50000); audio_out=0; delay(50000); audio_out=1;
cnt_state=1; //下一状态处于4秒计时的状态 TR0=1; //启动定时 }else { if (error_num<2)
{error_num++; //输入错误次数小于3次时,没错一次error_num增一
17
pw_error=0; //密码错误指示灯亮 delay(20000);//一声长“滴”声,提示错误 audio_out=0; delay(60000); audio_out=1;
init_variant();//清除所有输入,等待下一次输入 }else { alarm_out=0; //报警灯亮 pw_error=0; //密码错误指示灯亮 error_num=0; //密码输入错误次数清零 audio_out=0; //长鸣声报警 delay(60000); delay(60000); delay(60000); delay(60000); delay(60000); delay(60000); delay(60000); delay(60000); delay(60000); audio_out=1;
TR1=1; //打开定时器计时
cnt_state=2; //下一状态处于15秒计时的状态 } } break; case 7://取消键 init_variant(); break; } }
18
} led_show(); } }
7.3系统硬件电路图
7.4系统实物照片
19
指导教师评语: 课程设计报告成绩: ,占总成绩比例: 30% 课程设计其它环节成绩: 环节名称: 考勤 ,成绩: ,占总成绩比例: 20% 环节名称: 综合 ,成绩: ,占总成绩比例: 50% 总 成 绩: 指导教师签字: 年 月 日 本次课程设计负责人意见: 负责人签字: 年 月 日
20
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务