1、课程设计电子密码锁1大学学院课程设计电子密码锁 学生姓名学 号所 在 系专业名称班 级指导教师成 绩 大学学院二一二年六月摘要:在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。密码锁具有安全性高、成本低、功耗低、易操作等优点。随着人们对安全的重视和科技的发展,许多电子智能锁(指纹识别、IC卡辨
2、认)已在国内外相继面世。但是这些产品的特点是针对特定的指纹和有效卡,只能适用于保密要求的箱、柜、门等。而且指纹识识别器若在公共场所使用存在容易机械损坏,IC卡还存在容易丢失、损坏等特点。加上其成本较高,一定程度上限制了这类产品的普及和推广。鉴于目前的技术水平与市场的接收程度,电子密码锁是这类电子防盗产品的主流。关键字:44矩阵键盘,STC89S52,密码锁Abstract: The numerical type robs to answer a machine is mainly from the initiative coder,encoder and flip-latch etc,nume
3、rical chip and part imitate spare part composing of a kind of electron product.Account the machine in cent mainly from the multivibrator,single steady state electric circuit, single pulse ten enter to make can go against the counter, decoding spare part constitute of electron product.Robbing to answ
4、er a machine should have a lock to save and show the function of contestant number.The machine which accounts a cent should have to prepare to place number and carry out the importation function of the add, reducing of different score.Rob to answer a machine is mainly expanded an electric circuit by
5、 a main electric circuit and to constitute, through a series of process work model;The machine which accounts a cent in order to shows get a goal of each contestant.Key words: matrix,STC89S52,LED digital tube.目 录前言11. 系统总体设计 1 1.1 系统结构 1 1.2 系统组成 1 1.3 系统可行性分析 12. 硬件电路设计 2 2.1 单片机STC89S52简介 2 2.1.1
6、主要特性 2 2.1.2 管脚说明 2 2.1.3 震荡特性 4 2.1.4 芯片擦除4 2.2 44矩阵键盘 5 2.3复位电路 5 2.4振荡电路 6 2.5数码管 6 2.6 电动锁 7 2.7 蜂鸣器 73. 软件程序设计 7 3.1 软件设计流程图 8 3.2 显示功能 9 3.3 键盘扫描 10 3.4 密码修改 104.个人总结105.参考文献111.系统总体设计1.1系统结构 图1 系统结构框图1.2系统组成如图1所示系统主要由STC89S52单片机,八位数码管、蜂鸣器、44矩阵键盘、复位电路等组成。1.3系统可行性分析系统工作原理分析:使用STC89S52单片机、44矩阵键盘
7、、LED、蜂鸣器等。矩阵键盘分别为0、1、2、3、4、5、6、7、8、9、Enter、Change。系统开始显示“000000”提示输入密码;输入密码时,密码会显示出来,当密码输入完毕按下Enter键时,对输入密码与设定的密码进行比较,若密码正确则LED显示电路显示为“HELLO”提示锁打开;若密码不正确,LED显示电路显示提示“EEEEEE”,若连续3次输入不正确,则发出警报声。在输入正确密码后,按下修改键时,LED显示电路显示“000000”,输入需要重新设定的密码,输入完成后,按下“Enter”,系统出现“000000”,此时需复位一次2.硬件电路设计2.1 单片机STC89S52简介S
8、TC89S52是宏晶公司生产的低电压,高性能CMOS8位单片机,片内含4K bytes的可反复擦写的只读程序存储器(EPROM)和128bytes的随机存取数据序存器(RAM),器件采用宏晶公司的高密度/非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和FLASH存储单元,STC89S52单片机为许多嵌入式控制系统提供了一种灵活行高且价廉的方案。2.1.1 主要特性8031 CPU与MCS-51 兼容 4K字节可编程FLASH存储器(寿命:1000写/擦循环) 全静态工作:0Hz-24KHz 三级程序存储器保密锁定 128*8位内部RAM 32条可编程I/
9、O线 三个16位定时器/计数器6个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路 2.1.2 管脚说明VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部
10、下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对 外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P
11、3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为STC89S52的一些特殊功能口,如下表所示:管脚 备选功能:P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接
12、收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PS
13、EN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。2.1.3 震荡特性XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大
14、器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。2.1.4 芯片擦除整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。 此外,STC89S52设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系
15、统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。2.2 44矩阵键盘如图所示,本系统采用44矩阵键盘,按键分为输入数字键:0、1、2、3、4、5、6、7、8、9;功能键Enter,Change。矩阵键盘:图2 矩阵键盘2.3 复位电路图3 复位电路时钟电路工作后,在REST管脚上加两个机器周期的高电平,芯片内部开始进行初始复位(如图3)。2.4 振荡电路图4 震荡电路本设计晶振选择频率为12MHZ,电容选择30pF如图4。经计算得单片机工作胡机器周期为:12(112M)=1us。2.5 数码管图5 数码管电路2.6 电动锁图6 电子锁由于
16、电动锁使用P0口驱动要加上上拉电阻如图6。2.7 蜂鸣器图7 蜂鸣器电路由于蜂鸣器使用需要较大电流,故用ULN2003驱动。3.软件程序设计本系统程序部分使用C语言编写,C语言是一种高级程序设计语言,它的优点是简洁明了、可移植性高。主要完成,开始时数码管显示“000000”。输入密码后按下确认键,系统会将所输入与系统密码进行比对。若输入密码正确则显示“HELLO”开锁。然后可以选择上锁或者修改密码。开锁后,按下修改密码“Change”键,则可以对系统进行修改密码操作。在修改密码前要输入正确旧的密码。正确输入旧密码之后输入新的密码,并按下确定键之后复位一次,则修改成功。3.1软件设计流程图图8
17、软件设计流程图3.2 显示功能本系统使用共阴极数码管显示。选码由P3口输出高电平有效,选位由P1口输出低电平有效。显示原理如下:4位数码管上的管脚单片机输出管脚a11P3.7b7P3.2c4P3.1d2P3.5e1P3.6f10P3.3g5P3.0h3P3.4 图9 数码管管脚显示方式分别有静态显示与动态显示两种。在显示提示信息如:输入密码“000000”,操作通过“HELLO”,操作错误“EEEEEE”,由于8个显示器的段码同名端是连接在一起的,如果选码的管脚(本系统中为P1)都为0,那么8个显示器则显示同一字符。要使各个数码管出现不同字符必须采用“分时动态扫描”的方法显示。即每次点亮一个L
18、ED显示器,延时一段时间再点亮下一个LED显示器周而复始,8个LED显示器轮流动态扫描。利用人视觉余辉的暂留效应,看起来好像几个显示器上“同时”显示不同的字符。 3.3 键盘扫描如图2,本系统使用44矩阵键盘当没有键按下时,行线和列线之间是不相连的,若第N行与第M列的键被按下,那么第N行与第M列的线就被接通。根据上述原理,本系统的键盘扫描方法是利用P3口的低四位作为行扫描线,P3口的高四位作为列回扫线。具体实施方法为:先使P3.0口输出低电平,P2口其他口输出高电平,然后对P3.4、P3.5、P3.6、P3.7四个口分别作判断。若此四口都为高电平,则没有键按下;若有键按下,P3.4、P3.5、
19、P3.6、P3.7四个口必定有一个口输入为低电平,再判断P3.4、P3.5、P3.6、P3.7哪个口为低电平则可判断按键在哪列上。如P3.4、P3.5、P3.6、P3.7没有低电平,再使P3.1为低电平,其他口为高电平,依次扫描下去,找到按键所在的行,再判断P3口的高四位哪一位为低,便可知道键在哪一列上。3.4 修改密码本系统设定的修改密码过程为,在输入正确的密码后,按Change,并输入新密码。此时键入的六位新密码将保存到数组24c02中。此时修改密码工作完成,复位后,即可使用新的密码。4.设计总结通过这次课程设计,让我复习了很多学过的旧知识,同时也锻炼了自己的动手和查阅资料的能力,尤其是解
20、决在实际中解决排查问题的能力。在设计中,我学到了如何使用C语言对单片机进行编写程序,熟悉了使用KEIL C软件,并且加深了对单片机的编程技巧。 当然最重要的是感谢学院给了我们锻炼自己的机会,还要感谢我系主任的大力支持,还有指导老师讲师的细心指导。正是因为有了大家的关怀才使我们学到了更多的科学文化知识。5.参考文献1 当方微型计算机控制技术M中国水利水电出版社:2001.7.125-1332 胡汉才单片机原理及其借口技术M清华大学出版社:1996.9.82-963 赵新民智能仪器设计基础M哈尔滨工业大学出版社:2004.1.116-1344 潘新,民王,燕芳微型计算机控制技术M电子工业出版社:1
21、998.9.77-955 李钟实实用电子报警器精选百例M北京:科技技术文献出版社:2001.6.98-1276 陈爱弟Protel99se实用培训教程M人民邮电出版社:2003.6.135-1527 阎石数字电子技术基础M高等教育出版社:1997.4.124-1478 童诗白模拟电子技术基础M高等教育出版涉:1997.5.154-1729 候振鹏嵌入式C语言程序设计M北京:人民邮电出版社:2000.1.122-14910 徐士良C语言程序设计教程M北京:人民邮电出版社:2004.5.117-13411 周立功增强型80C51单片机速成与实战M北京:航空航天大学出版社:2003.7.125-14712 王辛之单片机应用系统抗干扰技术M北京:航空航天大学出版社:1999.12.102-12613 黄建科数字电子技术基础M湖南大学出版社:2004.2.109-13214 李光飞单片机C语言程序设计实例指导M北京:航空航天大学出版社:2000.1.132-15415 李广地单片机基础M北京:航空航天大学出版社:2001.7.124-157,
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1