用c语言编写线反转法键盘输入,电子密码锁的方案设计书与实现[1]

《电子密码锁的方案设计书与实现[1]》由会员分享,可在线阅读,更多相关《电子密码锁的方案设计书与实现[1](21页珍藏版)》请在技术文库上搜索。

1、沈阳理工大学创新实践周课程设计20沈阳理工大学创新实践周课程设计198结论本设计优缺点以及改进方法总结如下:本次设计中,大体而言实现了预设要求,从选题到编程,从绘制电路图到仿真,一直到最后硬件的制作,完成了一次系统性的单片机仿真研究,实在是一次极其有意义的经历和经验。但是,由于自身这方面经验还是缺乏,对单片机仿真和硬件的制作还是缺乏一定理解,因此此次研究只是注重了单片机密码锁的最基本方面,即密码初始化、输入密码、密码正确开锁方面,因此只把密码“6666”固化在程序当中,不可修改,这对于现实密码锁的研究是有很大局限的,即忽略掉了修改密码和输入次数多报警这方面,整体考虑不是很完全,因此还有很大的改。

2、进的空间。以后要加强单片机知识的学习,加深对单片机接口定义以及串行、并行工作原理的理解。这一方面来说,是在以后的单片机设计中要重点考虑的问题。参考文献1何宏主编.单片机原理与接口技术.北京:国防工业出版社.2006.072杨西明,朱骐主编.单片机编程与应用入门.北京:机械工业出版社.2004.063叶启明.单片机制作的新型安全密码锁J.家庭电子,2005,(10)4郭海英.基于单片机的电子安全密码锁的设计M.现代电子技术,2005,(13)5李明喜.新型电子密码锁的设计J.机电产品开发与创新,2004,(03)6董继成.一种新型安全的单片机密码锁J.电子技术,2004,(03)7路而红.专用集。

3、成电路设计与电子设计自动化.北京:清华大学出版社,2004沈阳理工大学创新实践周课程设计18图9硬件电路输入密码“6666”后,开锁电路控制的锁芯结构会自动弹出,演示开锁过程。但是注意只有当密码正确时,单片机才能控制电子锁内的微型继电器吸起。当继电器吸起以后带动锁杆伸缩,这时,锁勾在弹簧的作用下弹起,完成本次开锁。如图所示:图10开锁过程演示沈阳理工大学创新实践周课程设计177硬件制作与调试Ptotues仿真正确后,可以选购材料进行硬件的制作。可以选用万用电路板为载体,选用相关电阻、电容、与门电路、芯片等进行制作,注意精确完成单片机程序的烧录。焊接过程一定要细心、耐心。电子密码锁在实物硬件制作。

4、中,就可以抛去先前仿真中使用的作为开锁仿真的发光LED灯,选用一个内部具有微电继电器的锁芯结构来代替,生动真实的模拟开锁的过程。本次电路焊接较为复杂,鉴于经验缺乏,焊接出来的电路较为凌乱,以后需要不断改进,但是基本实现了所有功能。具体硬件电路如下图所示:沈阳理工大学创新实践周课程设计162使用按键,输入密码“6666”后,数码管显示如图所示。图7数码管显示所输入的密码输入四位密码“6666”后,因为密码正确输入,所以用来代替电磁锁的LED发光管D1会发光并持续一段时间,表明密码输入正确,正确开锁。如图8所示:图8密码正确开锁沈阳理工大学创新实践周课程设计156软件仿真结果本次调试采用Protu。

5、es软件仿真。首先设计电子密码锁的源程序,源程序经过编译后,生成的目标文件经过仿真调试。完成后可以进行相关调试与仿真。1系统上电后,初始状态如图所示,显示四位“0”。图6初始状态沈阳理工大学创新实践周课程设计14num=0;if(num=keyword)dian=1;delay(5000);dian=0;5延时程序voiddelay(uinti)uintj;for(;i0;i-)for(j=0;j9999)沈阳理工大学创新实践周课程设计12delay(10);temp=P1;temp&=0x0f;if(temp!=0x0f)temp=P1;temp&=0x0f;switch(temp)case。

6、0x0e:keynum=8;break;case0x0d:keynum=9;break;case0x0b:keynum=10;break;case0x07:keynum=11;break;while(temp!=0x0f)temp=P1;temp&=0x0f;returnkeynum;3数码管显示子程序voidDisplay(uintnum)uintge,shi,bai,qian;qian=num/1000;P0=tableqian;P2=0xfe;沈阳理工大学创新实践周课程设计11temp=P1;temp&=0x0f;if(temp!=0x0f)delay(10);temp=P1;temp&。

7、=0x0f;if(temp!=0x0f)temp=P1;temp&=0x0f;switch(temp)case0x0e:keynum=4;break;case0x0d:keynum=5;break;case0x0b:keynum=6;break;case0x07:keynum=7;break;while(temp!=0x0f)temp=P1;temp&=0x0f;P1=0xff;P15=0;/*扫描第三行*temp=P1;temp&=0x0f;if(temp!=0x0f)沈阳理工大学创新实践周课程设计10uchartemp,keynum;P1=0xff;P17=0;/*扫描第一行*temp=P。

8、1;temp&=0x0f;if(temp!=0x0f)delay(10);temp=P1;temp&=0x0f;if(temp!=0x0f)temp=P1;temp&=0x0f;switch(temp)case0x0e:keynum=0;break;case0x0d:keynum=1;break;case0x0b:keynum=2;break;case0x07:keynum=3;break;while(temp!=0x0f)temp=P1;temp&=0x0f;P1=0xff;P16=0;/*扫描第二行*沈阳理工大学创新实践周课程设计95程序设计5.1基本设计思路电子密码锁工作的主要过程是由数。

9、码管开始输入密码,通过键盘输入密码,同时数码管显示密码输入情况,按下确认键后判断密码的正确性,作出开锁或其他处理。密码的设定是一个很重要的部分,在此程序中密码是固定的“6666”,采用四位密码。用C语言编写程序代码,具体设计包括头文件及其相关定义、键盘扫描子程序、数码管显示子程序、中断程序、延时程序以及主程序设计等。编写完毕后,用Keil软件进行编译,生成.hex文件。相关的一些关键子程序设计如下。5.2各子程序设计1头文件即相关定义#include#defineuintunsignedint#defineucharunsignedcharsbitP17=P17;sbitP16=P16;sbi。

10、tP15=P15;sbitP14=P14;sbitdian=P30;uintcount=0,num=0,k,keyword=6666;Uchartable=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;2键盘扫描子程序uintkeyscan()沈阳理工大学创新实践周课程设计8图5开锁电路沈阳理工大学创新实践周课程设计7图4数码管显示电路4.3开锁电路设计在本次设计中,基于节省材料的原则,暂时用LED发光管代替电磁锁(在实际设计中,则用一个继电器代替电子锁模拟开锁过程),发光管亮,表。

11、示开锁;灭,表示没有开锁。电路图如5所示。发光管发光,即表示密码输入正确,表示开锁;密码输入错误,则LED发光管不亮。沈阳理工大学创新实践周课程设计6键并确认有无按键按下的程序段。当确认有按键按下后,下一步就要识别哪一个按键按下。对键的识别通常有两种方法:一种是常用的逐行扫描查询法;另一种是速度较快的线反转法。对照图3所示的44键盘,说明逐行扫描法和线反转法工作原理。1扫描原理:即把每个键都分成水平和垂直的两端接入,比如说扫描码是从垂直的入,那就代表那一行所接收到的扫描码是同一个bit,而读入扫描码的则是水平,扫描的动作是先输入扫描码,再去读取输入的值,经过比对之后就可知道是哪个键被按下。比如。

12、说扫描码送入01111111,前面的0111是代表此时扫描第一行P1.0列,而后面的1111是让读取的4行接脚先设为VDD,若此时第一行的第三列按键被按下,那读取的结果就会变成01111101(注意1111变成1101),其中LSB的第三个bit会由1变成0,这是因为这个按键被按下之后,会被垂直的扫描码电位short,而把读取的LSB的bit电位拉到0,此即为扫描原理。由于这种按键是机械式的开关,当按键被按下时,键会震动一小段时间才稳定,为了避免让系统误判为多次输入同一按键,我们必须在侦测到有按键被按下,就Delay一小段时间,使键盘以达稳定状态,再去判读所按下的键,就可以让键盘的输入稳定。2。

13、线反转法原理:先辨别键盘中有无键按下,有单片机I/O口向键盘送全扫描字,然后读入行线状态来判断。方法是:向行线输出全扫描字00H,把全部列线置为低电平,然后将列线的电平状态读入累加器A中。如果有按键按下,总会有一根行线电平被拉至低电平从而使行线不全为1。判断键盘中哪一个键被按下使通过将列线逐列置低电平后,检查行输入状态来实现的。方法是:依次给列线送低电平,然后查所有行线状态,如果全为1,则所按下的键不在此列;如果不全为1,则所按下的键必在此列,而且是在与零电平行线相交的交点上的那个键。本设计中采用键盘逐行扫描法。4.2数码管显示电路设计本系统设计的显示电路是为了给使用者以提示而设置的。本系统的。

14、显示采用串行显示的方式,使用单片机的串行口,就可以完成单片机的显示功能。并使用四位共阳极数码管作为输入密码的显示,很直观、清晰。显示电路的电路原理图如图4所示。沈阳理工大学创新实践周课程设计54电路原理图设计4.1键盘电路设计使用矩阵键盘,所以本设计就采用行列式键盘,同时也能减少键盘与单片机接口时所占用的I/O线的数目,在按键比较多的时候,通常采用这样方法。其原理如图3。图3矩阵键盘每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有NM个按键的键盘。在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先。

15、执行等待按沈阳理工大学创新实践周课程设计4调电存储、声光提示甚至添加遥控控制功能。其原理如图2所示。图2单片机控制方案通过比较以上两种方案,单片机方案有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级,所以我们采用后一种方案。本方案采用一种是用以AT89C52为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的密码锁功能。初步设计思路如下:输入密码用矩形键盘,包括数字键和功能键。数码管显示输入的四位密码密码,用四位共阳极数码管发光显示数码,从而控制各位显示器进行显示。用发光二极管代替开锁的电路,发光表。

16、示开锁。打开电源后,显示器显示“0000”,设原始密码为“6666”,只要输入此密码便可开门。按“0”键,清除显示器为“0000”。软件的设计主要包括键盘键值的读取、数码管显示程序、密码比较程序、中断程序和延时程序等。开锁控制电路AT89C52单片机电源接入数码管显示电路矩阵键盘控制指示电路沈阳理工大学创新实践周课程设计33总体方案设计开始设计的时候,考虑到两个设计方案,分别如下:方案一:采用数字电路控制。其原理方框图如图1所示。图1数字密码锁电路方案采用数字密码锁电路的好处就是设计简单。用以74LS112双JK触发器构成的数字逻辑电路作为密码锁的核心控制,共设了9个用户输入键,其中只有4个是。

17、有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的时间超过40秒(一般情况下,用户不会超过40秒,若用户觉得不便,还可以修改)电路将报警80秒,若电路连续报警三次,电路将锁定键盘5分钟,防止他人的非法操作。电路由两大部分组成:密码锁电路和备用电源(UPS),其中设置UPS电源是为了防止因为停电造成的密码锁电路失效,使用户免遭麻烦。密码锁电路包含:键盘输入、密码修改、密码检测、开锁电路、执行电路、报警电路、键盘输入次数锁定电路。方案二:采用一种是用以AT89C52为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的I/。

18、O端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加沈阳理工大学创新实践周课程设计22功能设计1完成相应C语言程序的编写。定义相关函数,具体包括延时函数、中断函数、扫描函数、数码管显示函数和主函数等。2在Keil环境下编译程序,生成.hex文件,要求程序编译正确,原理清楚。3设计电子密码锁原理图,尽量有一定复杂度和难度,要求设计简洁、易懂。4在Protues环境下完成电路原理图的绘制与仿真。要求正确绘制电路图,完成其参数的定义与元器件的连接,注意为单片机加载.hex文件,其他包括键盘扫描电路,数码管显示电路和开锁电路的设计等等。系统上电后,要求正确仿真,即输入所需求的四位密码,系统正。

19、确运行,模拟开锁。分析仿真结果,并为硬件的制作打下基础。5硬件制作与调试。要求自己选用相关元件,选用电路板等实现硬件的制作。完成后,自己调试运行,要求接入12V直流电源,输入四位密码,完成开锁的模拟实现过程。找出相关问题,并进行改进。6结果分析。总体完成后,对整个系统进行总结,分析优点与缺点,撰写、完善实验报告,得出实验结论。沈阳理工大学创新实践周课程设计1电子密码锁的设计与实现1背景与意义随着电子技术和计算机技术的飞速发展,单片机性能不断完善,性能价格比显著提高,技术日趋完善。由于单片机具有体积小、重量轻、价格便宜、功耗低、控制功能强及运算速度快等特点,因而在国民经济建设、军事及家用电器等各。

20、个领域均得到了广泛的应用。本设计利用单片机及附加电子元器件实现数据采集和控制算法,来完成某一实际功能,检验并提高学生对整体电路设计和把握能力,了解单片机系统设计流程,以及电路板的实际制作和调试能力。随着人们生活水平的提高和安全意识的加强,对安全的要求也就越来越高。锁自古以来就是把守护门的铁将军,人们对它要求甚高,既要安全可靠的防盗,又要使用方便,这也是制锁者长期以来研制的主题。随着电子技术的发展,各类电子产品应运而生,电子密码锁就是其中之一。据有关资料介绍,电子密码锁的研究从20世纪30年代就开始了,在一些特殊场所早就有所应用。这种锁是通过键盘输入一组密码完成开锁过程。研究这种锁的初衷,就是为。

21、提高锁的安全性。由于电子锁的密钥量(密码量)极大,可以与机械锁配合使用,并且可以避免因钥匙被仿制而留下安全隐患。电子锁只需记住一组密码,无需携带金属钥匙,免除了人们携带金属钥匙的烦恼,而被越来越多的人所欣赏。电子锁的种类繁多,例如数码锁,指纹锁,磁卡锁,IC卡锁,生物锁等。但较实用的还是按键式电子密码锁。20世纪80年代后,随着电子锁专用集成电路的出现,电子锁的体积缩小,可靠性提高,成本较高,是适合使用在安全性要求较高的场合,且需要有电源提供能量,使用还局限在一定范围,难以普及,所以对它的研究一直没有明显进展。目前,在西方发达国家,电子密码锁技术相对先进,种类齐全,电子密码锁已被广泛应用于智能。

22、门禁系统中,通过多种更加安全,更加可靠的技术实现大门的管理。在我国电子锁整体水平尚处于国际上七八十年代左右,电子密码锁的成本还很高,市场上仍以按键电子锁为主,按键式和卡片钥匙式电子锁已引进国际先进水平,现国内有几个厂生产供应市场。但国内自行研制开发的电子锁,其市场结构尚未形成,应用还不广泛。国内的不少企业也引进了世界上先进的技术,发展前景非常可观。希望通过不断的努力,使电子密码锁在我国也能得到广泛应用。目录1背景与意义.12功能设计.23总体方案设计.34电路原理图设计.54.1键盘电路设计.54.2数码管显示电路设计.64.3开锁电路设计.75程序设计.95.1基本设计思路.95.2各子程序设计.96软件仿真结果.157硬件制作与调试.178结论.19参考文献.19。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值