




已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
论文题目:基于单片机的电子密码锁的设计专业:通信工程学生:* 签名: 指导教师: 签名: 摘要单片机已经在家电领域中得到了广泛的应用,而且在安全密保方面,具有防盗报警功能的电子密码锁逐渐取代了传统的机械密码锁,克服了机械密码锁密码过少的安全性问题。本密码锁的主控芯片采用价格实惠而且容易购买的 STC89C52芯片。密码输入采用矩阵键盘,密码显示采用LCD1602液晶显示器。系统能完成密码输入、正确开锁、修改密码、隐藏输入密码这些基本的密码锁的功能。系统的软件实现采用功能强大且易于开发的KeilC51环境,用C语言实现系统的软件部分。由于51单片机也有一些不足之处如断电后内部RAM储存的数据会完全丢失,为了克服这一缺点,系统的外围加了掉电存储电路并且由AT24C02芯片来实现。此设计具有安全性高、价格低廉便于实现、易于改进等优点。 【关键词】 电子密码锁 STC89C52 矩阵键盘 AT24C02【论文类型】设计型前 言随着社会物质财富的日益增长,安全防盗已成为社会问题。如何实现防盗和安全这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,而锁自古以来就是把门户的将军,人们对其要求比较高,不仅能够安全的防盗,而且还要使用方便,这是制锁者长期以来研制的主题。而当今社会由于计算机的迅猛发展,数字电子技术已经进入人们生活的各个领域,在国内外,电子产品的更新可谓如雨后的春笋层出不群,更多的电子产品也越来越多的应用于安全防范领域。有需求就必有发展,不同种类的锁也应运而生,有密码锁、磁性锁、电子锁、激光锁、声控锁等等,它们的实现在传统钥匙的基础上加了一组或多组密码,不同声音,不同磁场,不同声波,不同光束光波,不同图像(如指纹、眼底视网膜等)来控制锁的开启。电子密码锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的亲呢。电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。其性能和安全性已大大超过了机械锁。其特点如下:1) 保密性好,编码量多。随机开锁成功率几乎为零。2) 密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降。3) 误码输入保护,当输入密码多次错误时,报警系统自动启动。4) 无活动零件,不会磨损,寿命长。5) 使用灵活性好,不像机械锁必须佩带钥匙才能开锁。6) 电子密码锁操作简单易行,一学即会。随着电子元件的进一步发展,电子密码锁也出现了很多的种类,功能日益强大,使用更加方便,安全保密性更强,由以前的单密码输入发展到现在的,密码加感应元件,实现了真正的电子加密,用户只有密码或电子钥匙中的一样,是打不开锁的,随着电子元件的发展及人们对保密性需求的提高出现了越来越多的电子密码锁。本系统由单片机系统、矩阵键盘、LED显示和报警系统组成。系统能完成密码输入、开锁、超次报警的功能。除上述基本的密码锁功能外,还具有掉电存储、声光提示等功能,依据实际的情况还可以添加其他功能。本系统成本低廉,功能实用。目 录1 绪 论11.1 单片机及其特点11.2单片机的发展及应用11.2.1 单片机的发展趋势11.2.2单片机的应用21.3 MCS-51系列单片机32系统硬件设计52.1 设计思路52.2系统方案的选择52.2.1 电子密码锁功能简述62.2.2 系统的总体设计62.3单元电路的设计72.3.1主控芯片介绍72.3.2 键盘输入电路92.3.3 密码存储电路102.3.4开锁电路112.3.5报警电路122.3.6 显示电路122.3.7串口通信电路142.3.8 晶振电路153 系统软件设计173.1 软件工具介绍173.1.1. Keil C51概述173.1.2. Keil C51单片机软件开发系统的整体结构173.1.3下载工具STC-ISP183.2程序设计184 硬件电路调试204.1单元功能电路调试204.2联机调试205 改进方法235.1 电路方面的改进235.2 软件方面的改进23致 谢25附录一 程序26附录二 数码管显示电路32附录三 总设计图33参考文献36391 绪 论1.1 单片机及其特点随着微电子技术的不断发展,微处理芯片的集成度越来越高,在一片集成电路芯片上集成微处理器、存储器、I/O接口电路等元件,从而构成了“单芯片微型计算机”,简称单片机。21世纪是信息技术蓬勃发展的世纪,单片机技术的应用就是其中的一方面。生产中使用的智能仪表、分布式控制系统总线、智能办公设备等都可以看见单片机的身影。日常生活中常用的电子产品如手机、数码照相机、智能洗衣机、高科技电视机、智能汽车等都是以单片机为控制核心的。单片机按应用领域可分为:家电类,工控类,通信类,个人信息终端类等等;按通用性可分为:通用型和专用型。按总线结构可分为总线型和非总线型。 单片机的特点 :1)高集成度,体积小,高可靠性2)控制功能强3)低电压,低功耗,便于生产便携式产品4)易扩展 片内具有计算机正常运行所必需的部件。5)优异的性能价格比 单片机的性能极高。 1.2单片机的发展及应用单片机的发展像PC系统中的CPU一样经历了几代的过程,由于单片机的巨大市场空间和广泛的应用范围,世界各大芯片厂商纷纷推出自己的单片机产品,但是单片机远没有PC机的CPU更新速度快,大体上经历了4位机、8位机、16位机、32位机的发展过程,其中8位机在市场上一直是主流产品。1.2.1 单片机的发展趋势 1976年Intel公司首先推出8位机MCS-48系列,1980年又推出了内部功能单元集成度强的8位机MCS-51系列产品,其性能大大超过并取代了MCS-48系列产品。由于8位机可以一次处理一个ASCLL码,因而一问世便显示出其强大的生命力,广泛用于显示、终端键盘、打印、文字处理、工业控制等。虽然单片机品种多样,型号繁多,但仍有如下发展趋势。1)低功耗CMOS化 随着对单片机功耗要求越来越低,现在的各个单片机制造商基本都采用了CMOS工艺。80C51就采用了HMOS和CHMOS。CMOS虽然功耗较低,但由于其物理特征决定其工作速度不够高,而CHMOS则具备了高速和低功耗的特点,这些特征,更适合于在要求低功耗,电池供电的应用场合。所以这种工艺将是今后一段时期单片机发展的主要途径。 2)微型单片化 现在常规的单片机普遍都是将中央处理器(CPU)、随机存取数据存储(RAM)、只读程序存储器(ROM)、并行和串行通信接口,中断系统、定时电路、时钟电路集成在一块单一的芯片上,增强型的单片机集成了如A/D转换器、PMW(脉宽调制电路)、WDT(看门狗)、有些单片机将LCD(液晶)驱动电路都集成在单一的芯片上,这样单片机包含的单元电路就更多,功能就越强大。 3)主流与多品种共存 现在虽然单片机的品种繁多,各具特色,但仍以80C51为核心的单片机占主流,兼容其结构和指令系统的有PHILIPS公司的产品,ATMEL公司的产品和中国台湾的Winbond系列单片机。在一定的时期内,这种情形将得以延续,将不存在某个单片机一统天下的垄断局面,走的是依存互补,相辅相成、共同发展的道路。4)大容量、高性能 以往单片机内的ROM为1KB4KB,RAM 为64128B。但在需要复杂控制的场合,该存储容量是不够的,必须进行外接扩充。为了适应这种领域的要求,须运用新的工艺,使片内存储器大容量化。目前,单片机内ROM 最大可达64KB,RAM 最大为2KB。另外单片机进一步改变CPU的性能,加快指令运算的速度和提高系统控制的可靠性。5)串行扩展技术 在很长一段时间里,通用型单片机通过三总线结构扩展外围器件成为单片机应用的主流结构。随着低价位OTP(One Time Programble)及各种特殊类型片内程序存储器的发展,加之处围接口不断进入片内,推动了单片机“单片”应用结构的发展。特别是I2C、SPI 等串行总线的引入,可以使单片机的引脚设计得更少,单片机系统结构更加简化及规范化。1.2.2单片机的应用单片机的发展很大的推动了我国生产力的发展,但单片机的应用意义远不限于它的应用范畴或由此带来的经济效益,更重要的是它从根本上改变了传统的电子设计方法和控制策略,使科学上无法实现的理论技术得以实现并转换为现实的生产力,是科技发展史上的一座重要的里程碑。它们广泛应用于如下多个方面。1)在智能仪器仪表中的应用单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、厚度、角度、硬度、压力等物理量的测量。采用单片机的控制使得仪器仪表数字化、智能化、微型化,且功能比起采用模拟电路或数字电路更加强大。2)在工业控制中的应用工业上使用单片机可以构成形式多样的控制系统和采集系统。例如,工厂流水线的智能化管理、电梯智能化控制和各种报警系统,与计算机联网构成二级控制系统等。3) 在家用电器中的应用可以这样说,现在的家电基本上都采用了单片机控制,从电饭煲、洗衣机、冰箱、空调机、电视机、其他音响视频设备、再到电子称量设备,五花八门,无所不在。4)在计算机网络和通信领域中的应用现代的单片机普遍具有通信接口,可以很方便的与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机的智能控制,从手机、电话、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的集群移动通信,无线对讲机等。5)单片机在医用设备领域中的应用单片机在医用设备中的用途也相当广泛,例如,医用呼吸机、各种分析仪、监护仪、超声诊断设备及病床呼叫系统等。此外,单片机在工商、金融、科研、教育、国防航空航天等领域都有着十分广泛的用途。1.3 MCS-51系列单片机MCS-51 是指由美国 INTEL 公司(对了,就是大名鼎鼎的 INTEL)生产的一系列单 片机的总称,这一系列单片机包括了好些品种,如 8031,8051,8751,8032, 8052,8752 等,其中 8051 是最早最典型的产品,该系列其它单片机都是在 8051 的基础上进行功能的增、 减、 改变而来的, 所以人们习惯于用 8051 来称呼 MCS-51 系列单片机, 8031 是前些年在我国最流行的单片机,而所以很多场合会看到 8031 的名称。INTEL 公司将 MCS51 的核心技术授权给了很多其它公司, 所以有很多公 司在做以 8051 为核心的单片机,当然,功能或多或少有些改变,以满足不同的需求,其中 89C52 就是 这几年在我国非常流行的单片机,它是由美国 STC公司开发生产的。2系统硬件设计2.1 设计思路硬件设计是整个系统的基础,要考虑的方面很多,除了实现此设计的基本功能以外,主要还要考虑如下几个因素:系统稳定度;器件的通用性或易选购性; 软件编程的易实现性;系统其它功能及性能指标;因此硬件设计至关重要。现从各功能模块的实现逐个进行分析探讨。2.2系统方案的选择方案一:用以74LS112双JK触发器构成的数字逻辑电路作为密码锁的核心控制,共设了9个用户输入键,其中只有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的时间超过10秒(一般情况下,用户不会超过10秒,若用户觉得不便,还可以修改)电路将报警20秒,若电路连续报警三次,电路将锁定键盘2分钟,防止他人的非法操作。采用数字电路设计的方案好处就是设计简单但控制的准确性和灵活性差,故不采用。方案二:由于单片机种类繁多,各种型号都有其一定的应用环境,因此在选用时要多加比较,合理选择,以期获得最佳的性价比。一般来说在选取单片机时从下面几个方面考虑:性能、存储器、运行速度、I/O口、定时/计数器、串行接口、模拟电路功能、工作电压、功耗、封装形式、抗干扰性、保密性,除了以上的一些的还有一些最基本的比如:中断源的数量和优先级、工作温度范围、有没有低电压检测功能、单片机内有无时钟振荡器、有无上电复位功能等。在开发过程中单片机还受到:开发工具、编程器、开发成本、开发人员的适应性、技术支持和服务等等因素。基于以上因素本设计选用单片机STC89C52作为本设计的核心元件,利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的密码锁功能。在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接AT24C02芯片用于密码的存储,外接八段数码管用于显示作用。当用户需要开锁时,先按键盘开锁键之后按键盘的数字键09输入密码。密码输完后按下确认键,如果密码输入正确则开锁,不正确显示密码错误重新输入密码,当三次密码错误则发出报警;当用户需要修改密码时,先按下键盘设置键后可以设置新密码。新密码输入无误后按确认键使新密码将得到存储,密码修改成功。综上分析:方案一虽然设计简单但它的实用性不是很强。而方案二设计复杂,但是安全性好,功耗低,成本低,而且容易操作保密性强。2.2.1 电子密码锁功能简述在本设计中用户通过键盘输入密码,确认后系统调用密码比较判断函数,如果密码在规定的时间内输入正确,单片机输出开门信号开锁。如果在规定的时间内没完成密码的输入,系统则自动清除所输入的密码,并提示重新输入。用户发现错误时,可以清除重输。密码输入后,通过验证和多位校验后了,如果密码错误则启动报警系统,当密码错误次数达到3次时,系统将锁定一定的时间,时间到后系统则启动键盘输入。初始密码由系统设定,用户可根据自己的要求设定密码,修改密码时首先需要与旧密码匹配,如果输入旧密码错误则系统报警并自动退出密码修改系统。旧密码正确则可以输入新密码,新密码的输入要求两次比对确认。系统设定密码为6位,当输入密码不为6位或两次输入的新密码不一致时密码修改失败,系统报警并自动退出密码修改状态。如果输入的新密码为6位并且两次输入的新密码一致则修改密码成功。2.2.2 系统的总体设计系统以STC89C52为中心控制元件,用AT24C02作为密码存储元件,通过八段数码管显示。设计的结构框图如图2.1所示。STC89C52键盘输入复位电路晶振电路显示电路报警电路开锁电路图 2.1 结构框图工作原理,从键盘输入一组密码,微控制器把改密码和预先设置的密码比较,对则将锁打开,并通过蜂鸣器的声音来演示密码锁的状态否则累计三次输入错误则启用报警。2.3单元电路的设计单元电路包括输入电路、复位电路、晶振电路、显示电路、报警电路和开锁电路,系统的实物图见附录四,总设计图见附录三。以下将逐一介绍这些单元电路的设计方法。2.3.1主控芯片介绍MCS-51 系列中的各种芯片引脚是互相兼容的,其中STC89C52单片机是高性能的单片机,它具有8位微处理器,128bit片内RAM,8K的片内ROM,4个八位的并行I/O接口P0-P3,两个定时/计数器及五个中断源的中断控制系统。再不接任何外围电路的情况下可以实现大部分较为复杂的逻辑控制功能,进行外部RAM扩展还可以用于数据采集,点阵显示屏控制等方面应用。对于存储量要求不高的实际应用,STC89C52是一种不可多得高性能的单片机,被广泛应用于各个领域。STC89C52单片机的每个端口都是8位准双向口,每一条I/O线都能独立的用作输入或输出。每个端口都包括一个锁存器,一个输出驱动器和输入缓冲器。再无片外扩展存储器系统中,这四个端口都可以作为准双向I/O口使用。再具有片外扩展存储器的系统中,P2口送出高8位地址P0口位双向总线,送出低八位地址和数据的输入/输出;P3口是一个多功能端口各个引脚具有第二功能。(P3.0为串行口输入,P3.1位串行口输入,P3.2为外部中断0输入,P3.3为外部中断1输入,P3.4为定时器0的外部输入,P3.5为定时器1 的外部输入,P3.6位片外数据存储器“写选通控制”输出,P3.7为片外数据存储器“读选存储器”输出)。芯片引脚排列如图2.2所示。STC89C52引脚功能说明:Vcc:电源电压GND:地P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口,作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端口。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号校验期间,P1接收低8位地址。图 2.2 单片机及其外围电路P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流I。在访问位地址的外部数据存储器(如执行:MOVX Ri 指令)时,P2口线上的内(也即特殊功能寄存器,在整个访问期间不改变。Flash 编程或校验时,P2也接收高位地址和其它控制信号。P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端口时,被外部拉低的P3口将用上拉电阻输出电流I。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能。RST:复位输入。当振荡工作时,RST引脚出现两个机器周期上高电平将使单片机复位。WDT益出将使该引脚输出高电平,设置SFR AUXR 的 DISRTO 位(地址8EH)可打开或关闭该功能。DISRTO 位缺省为RESET输出高电平打开状态。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出的正脉冲信号,因此它可对外输出时钟或用于定时目地,要注意的是:第当访问外部数据存储器时将跳过一个ALE脉冲。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位禁位后,只有一条MOVX 和MOVC指令ALE才会被激活。此外,该引脚伎被微弱拉高,单片机执行外部程序时,应设置ALE无效。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当STC89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。当访问外部数据存储器,高有两次有效的PSEN信号。EA/VPP:外部访问允许。欲使CPU公访问外部程序存储器(地址0000HFFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上12V的编程电压Vpp。XTAL1:振荡器反相放大器及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。2.3.2 键盘输入电路键盘输入电路采用的是44的矩阵键盘,因为本设计所用到的按键数量较多而不适合用独立按键式键盘因此采用的是矩阵式按键键盘,它由行和列组成,也称行列式键盘,按键位于行线和列线的交叉点上,密码锁的密码输入由键盘输入完成,与独立式按键键盘相比,要节省很多I/O口。本设计中使用的这个4X4键盘不但能完成密码的输入还能作特别功能键使用,设置功能等。键盘的每个按键功能在程序设计中设置。平时无按键按下时,行线电平状态将由与此电平相连的列线电平决定。列线电平如果为低,则行线电平为低;列线电平为高,则行线电平也为高。这是识别矩阵键盘是否被按下的关键所在。由于矩阵键盘中的行、列为多键公用,各按键均影响该按键所在行和列的电平,因此,各按键彼此将相互发生影响,所以必须将行列线信号配合起来,并作适当的处理,这样才能决定闭合键的位置。其按键结构及与单片机引脚接法如图2.3所示。图2.3 键盘电路接法2.3.3 密码存储电路由于51单片机掉电后会丢失数据存储器里的数据,因此必须外加掉电存储电路。并由AT24C02芯片来实现。AT24C02芯片的管脚图如图2.4 所示。图2.4 AT24C02芯片的管脚图本设计采用的是美国Atmel公司生产的AT24C02。AT24C02是一个2K位串行CMOS型 E2PROM, 内部含有256个8位字节,CATALYST公司的先进CMOS技术实质上减少了器件的功耗。AT24C02有一个16字节页写缓冲器。该器件通过IIC总线接口进行操作,有一个专门的写保护功能。AT24C02支持IC,总线数据传送协议IC,总线协议规定任何将数据传送到总线的器件作为发送器。任何从总线接收数据的器件为接收器。数据传送是由产生串行时钟和所有起始停止信号的主器件控制的。主器件和从器件都可以作为发送器或接收器,但由主器件控制传送数据(发送或接收)的模式,通过器件地址输入端A0、A1和A2可以实现将最多8个AT24C02器件连接到总线上。2.3.4开锁电路电磁锁的原理图如图2.5所示,电磁锁由电路驱动和开锁两级组成。图2.5 电磁锁电路由D5、R1、T10组成驱动电路,其中T10以选择普通的小功率三极管如9014、9018都可以满足要求。D5作为开锁的提示;由D6、C24、T11组成。其中D6、C24是为了消除电磁锁可能产生的反向高电压以及可能产生的电磁干扰。T11可选用中功率的三极管如8050,电磁锁的选用要视情况而定,但是吸合力要足够且由一定的余量。 在本设计中为了节省成本和原材料,在市场中现成的电磁锁非常多因此也没必要用一个实物电磁锁,因此就用蜂鸣器来表示电磁锁的状态。2.3.5报警电路 报警电路由一个蜂鸣器驱动电路来实现的,包括以下几个部分:一个蜂鸣器、一个三极管、一个连续流二极管和一个电阻。蜂鸣器的作用:用来发声,在其两端加直流电压(有源蜂鸣器)或者方波(无源蜂鸣器)就可以发声,其主要参数是外形尺寸、发声方向、工作电压、工作频率、驱动方式(直流/方波)等。这些都可以根据需要来选择。连续流二极管的作用:蜂鸣器本质上是一个感性元件,其电流不能瞬变,因此必须有一个连续流二极管提供连续流。否则,在蜂鸣器两端会产生几十伏的尖峰电压,可能损坏驱动三极管,并干扰整个电路系统的其他部分。三极管:三极管起开关作用,其基极的高电平使三极管饱和导通,使蜂鸣器发声,而基极低电平则使三极管关闭,蜂鸣器停止发声。报警电路如图2.6所示。图2.6 报警电路2.3.6 显示电路为了节省成本以及考虑到操作的难易性,本设计的显示部分由共阴极的八段数码管取代液晶显示器LCD1602来完成。显示电路图附录一所示。通常LED有7段或8段和“米”字段之分。这种显示器有共阳极和共阴极两种。共阴极LED显示器的发光二极管的阴极连接在一起,通常此共阴极接地。当某个发光二极管的阳极为高电平时,发光二极管点亮,相应的段被显示。同样的,共阳极LED显示器的工作原理也一样。在本设计中数码管的显示采用动态扫面的方式。当多位LED显示时,通常将所有的段选线相应的并联在一起,由一个8位I/O口控制,形成段选线的多路复用。而各位的共阴极或共阳极分别由相应的I/O口控制,实现位选时各位分时选通。其中位选线占用一个8位I/O口,在本设计中有8个数码管,也就是说点亮数码管要占用两个8位的I/O口,这样就有点浪费了,为了节省I/O口,外接了芯片74HC138。如图2.7所示。图2.7 74HC138译码器引脚及外围电路74HC138译码器可接受3位二进制加权地址输入(A0, A1和A2),并当使能时,提供8个互斥的低有效输出(Y0至Y7)。74HC138特有3个使能输入端:两个低有效(E1和E2)和一个高有效(E3)。除非E1和E2置低且E3置高,否则74HC138将保持所有输出为高。利用这种复合使能特性,仅需4片74HC138芯片和1个反相器,即可轻松实现并行扩展,组合成为一个1-32(5线到32线)译码器。任选一个低有效使能输入端作为数据输入,而把其余的使能输入端作为选通端,则74HC138亦可充当一个8输出多路分配器,未使用的使能输入端必须保持绑定在各自合适的高有效或低有效状态。因此当利用8位I/O口中的3位即可实现8个数码管的位选。如何确定LED不同位显示的时间间隔,例如对8位LED显示器,假若显示一位保持1ms的时间响应,则显示完所有的8位后,只需8ms。上述保持1ms的时间响应根据实际情况而定。不能太短,因为发光二极管从导通到发光有一定的延时,导通时间太短,发光太弱人研究无法看清;但也不能太长,因为毕竟要受限于临界闪烁频率,而且时间越长,占用CPU时间也就越多。另外,显示位的增多,也将占用大量的CPU时间,因此动态显示的实质是以牺牲CPU的时间来换取元件的减少。在设计时只有接通电源后,数码管才处于开启状态。否则数码管将一直处于初始状态,当需要对密码锁进行开锁时,按下开关键按键后利用键盘上的数字键0F输入密码,每按下一个数字键后在数码管上显示一个数字,当输入六位密码正确则打开电子锁,若输入密码不正确次数达三次则启动报警。2.3.7串口通信电路 串口通信采用MAX232,MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的单电源电平转换芯片,使用+5v单电源供电。如图2.8所示。第一部分是电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。 第二部分是数据转换通道。由7、8、9、10、11、12、13、14脚构成两个数据通道。 其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT 图2.8 MAX232引脚及外围电路送到电脑DB9插头;DB9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。 第三部分是供电。15脚GND、16脚VCC(+5v)。芯片的主要特点 1)符合所有的RS-232C技术标准 2)只需要单一 +5V电源供电 3)片载电荷泵具有升压、电压极性反转能力,能够产生+10V和-10V电压V+、V- 。 4)功耗低,典型供电电流5mA 5)内部集成2个RS-232C驱动器 6)内部集成两个RS-232C接收器 7)高集成度,片外最低只需4个电容即可工作。2.3.8 晶振电路 晶体振荡器简称晶振,其作用在于产生原始的时钟频率,这个频率经过频率发生器的放大或者缩小就成了电脑中各种不同的总线频率。以声卡来说,要实现对模拟信号44.1kHz或48kHz的采样,频率发生器就必须提供一个44.1kHz或48kHz的时钟频率。如果需要对这两种音频同时支持通话,声卡就需要有两个晶振。但是现在的娱乐级声卡为了降低成本,通常都采用SCR将输出的采样频率固定在48kHz,但是SCR会对音质带来伤害,而且现在的娱乐级声卡都没有很好地解决这个问题。现在应用最广泛的是石英晶体振荡器。晶振电路图如图2.9所示。图2.9 晶振电路 石英晶体振荡器是一种高精度和高稳定度的振荡器,石英晶体振荡器也称石英晶体谐振器,它用来稳定频率和选择频率,是一种可以取代LC谐振回路的晶体谐振元件。石英晶体振荡器广泛地应用在电视机、影碟机、录像机、无线通讯设备、电子钟表、单片机、数字仪器仪表电子设备中。为数据处理设备产生时钟信号和为特定系统提供基准信号。在单片机中为其提供时钟频率。 石英晶体振荡器是利用石英晶体的压电效应制成的一种谐振元件,它的基本构成是:从一块石英晶体上按一定方位角切下薄片(简称为晶片,它可以是正方形、矩形或圆形等),在它的两个对应面上涂银层作为电极,在每个电极上各焊一根引线接到管脚上,再加上封装外壳就构成了石英晶体谐振器,简称为石英晶体或晶体、晶振。其产品一般用金属外壳封装,也有用玻璃壳、陶瓷或塑料封装了的。只要在晶体振荡器子板上施加交变电压,就会使晶片产生机械变形振动,此现象即所谓逆压电效应。当外加电压频率等于晶体谐振器的固有频率时,就会发生压电谐振,从而导致机械变形的振幅突然增大。3 系统软件设计3.1 软件工具介绍单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。3.1.1. Keil C51概述 Keil C51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。C51编译器的功能不断增强,使你可以更加贴近CPU本身,及其它的衍生产品。C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,项目管理器,调试器。uVision2 IDE可为它们提供单一而灵活的开发环境。C51 V7版本是目前最高效、灵活的8051开发平台。它可以支持所有8051的衍生产品,也可以支持所有兼容的仿真器,同时支持其它第三 方开发工具。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。3.1.2. Keil C51单片机软件开发系统的整体结构 C51工具包的整体结构,uVision与I shell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及C51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。3.1.3下载工具STC-ISPSTC-ISP 是一款单片机下载编程烧录软件,是针对STC系列单片机而设计的,可下载STC89系列、12C2052系列和12C5410等系列的STC单片机,使用简便,现已被广泛使用。使用时只要将Keil C51生成的.HEX文件烧进单片机就可以了,操作非常简单。3.2程序设计本设计软件部分要实现的功能分别为:键盘扫描,数码管显示,延时部分,蜂鸣器报警,蜂鸣器唱歌以及掉电存储。1)键盘扫描模块键盘采用查询的方式,放在主程序中,当没有按键按下的时候,单片机循环主程序,一旦有按键按下,便转向相应的子程序处理,处理结束再返回。2)密码修改模块该模块的功能是修改设置密码。密码修改程序要求密码要输入两次,程序将两次输入的密码比较一致时,即用此密码代替原先的密码,如果两次输入的密码不一致,则重复操作。这样就避免了修改密码的随机性。3)密码比较判断模块该模块的功能是将键盘输入的密码与设定的密码进行比较,若密码正确,则开锁;若不正确,则密码输入次数计数单元计数,如达不到3次,返回键盘扫描模块;若计数已达3次,则调用报警模块。4)显示模块该模块的功能是显示,由于是分屏显示数据,所以需要调用各显示子程序。5)报警模块该模块为了保证安全性,当密码输入的次数超过3次,就会发出报警,以便引起人们的注意。6)程序流程图初始化键盘扫描输入密码确认程序开锁成功开始输入次数加1次数3?报警程序返回NYNY密码正确?4 硬件电路调试本系统采用了较8051系列功能更强大的STC89C52单片机作为本次设计的核心元件,其外接16个按钮组成44矩阵键盘;显示、控制、报警等电路模块均通过各端口与单片机相连,以实现密码锁的输入、报警等功能。该单片机采用高密度、非易失性存储技术生产,能兼容MCS-51指令系统,其应用更灵活。4.1单元功能电路调试 电路能否正常工作,首先元器件的好坏是个关键。本系统由电源电路、键盘电路、报警电路、显示电路、电子锁控制电路和单片机电路组成,所以,对单个模块的调试及功能测试是不可少的环节: 1)键盘电路采用44矩阵键盘输入,这种接口方式适用于按键数量较多的场合。也正是因为有16个按键,所以他们之间的连接线比较多,行线、列线的交点是这部分的关键。矩阵键盘搭建好之后,用万用表测试过各条行线和列线,均为导通状态。 2)报警电路此部分构成比较简单,给三极管的基极接上低电平之后,蜂鸣器响。 3)显示电路采用共阴极的数码管,其公共阴极接电源,其它管脚接低电平后,8段数码管均能被点亮,这也说明数码管这一元器件是好的,能正常工作。至于74HC138芯片它的输出即为输入,在电路中起到缓存、驱动作用,实际测试之后,它的各管脚均完好。 4)单片机电路整个电路的核心部分,它连接其他各电路模块,因此接线在这里显得极为重要。用万用表测试过单片机的各个引出脚,均与外部电路模块导通,连线方面没有问题。 4.2联机调试 单片机芯片内输入所编写的程序之后,我们对系统进行了软硬件的结合工作,其碰到的主要问题就是接触问题。虽然系统的不稳定性是客观存在的,是不能完全避免的,但是经过长期的系统调试,可能是此单片机芯片已适应了整个电路的结构和运行模式,目前整个系统的运作已相当稳定。 在系统调试过程中,碰到的主要问题有: 1)显示问题,数码管的段选和位选问题数码管的位选分别接在38译码器的8个输出上数码管是共阴的,所以只要位选给高电平1,相应的位就会被点亮。译码器的输入为二进制,3个输入端分别接P10,P11,P12,这三个口分别表示3位二进制数,二进制数最大为111输出是十进制。8个输出引脚刚好对应数码管的8个位选,例如输入是101,十进制数就表示5,也就是第5只脚高电平,在芯片上就是Y5输出1,世纪能看到的就是数码管的第5位点亮了。同样的道理如下:u 点亮第0位,给P12,P11,P10赋值000,写程序:P1=0x00u 点亮第1位,给P12,P11,P10赋值001,写程序:P1=0x01u 点亮第2位,给P12,P11,P10赋值010,写程序:P1=0x02u 点亮第3位,给P12,P11,P10赋值011,写程序:P1=0x03u 点亮第4位,给P12,P11,P10赋值100,写程序:P1=0x04u 点亮第5位,给P12,P11,P10赋值101,写程序:P1=0x05u 点亮第6位,给P12,P11,P10赋值110,写程序:P1=0x06u 点亮第7位,给P12,P11,P10赋值111,写程序:P1=0x07如果要把所有数码管全部点亮,就用动态扫描,动态扫描其实就是在很短的时间内将07位全部都点亮一遍,利用人眼的余晖,可以看到8位同时点亮。 2)键盘的输入问题因为键盘是矩阵键盘,分行线和列线,用P00P03分别接矩阵键盘的行线,P04P07分别接矩阵键盘的列线,因为一个按键的状态是由行线和列线共同决定,因此写程序比较复杂,而且还有一个问题就是当键盘按下去时人的手会轻微的抖动,扫描程序会误认为按下去多次,解决这个问题的办法只能是用软件实现,在按键时加一个延时程序,经过多次试验,得出延时设为8ms比较适中,理论上说在按键松手后应该还有松手检测,即确认按键是否真的松开,这样就万无一失了,但在实际过程中,不加松手检测也没出过错,试验多次也没出问题,因而把松手检测部分省略掉提高程序的运行速率。3)程序的下载问题本设计中程序的下载采用的是STC-ISP下载工具。单片机上电是通过USB供电。刚开始由于本人对此工具的掌握不是很透彻程序的下载遇到障碍。本设计的硬件设计下载部分是由串口通信芯片MAX232来完成的,下载线用的是USB转串口通信,在一般默认情况下windows操作系统里是不带USB转串口的驱动程序的,因此在下载程序之前要先安装驱动程序。在下载的时候有时计算机运行速率跟不上下载的速率设置太高的话也会下不进去,但是一般来说都可以的。4)系统的具体操作和执行过程,在此以表格形式说明。表4-1系统工作表键盘输入数码管显示输出蜂鸣器状态 此刻系统状态按下复位键数码管从左往右依次显示 “HELLO-”蜂鸣器无声闭锁状态,等待用户输入密码输入内置正确密码“012345”数码管从左往右依次显示密码蜂鸣器唱歌“世上只有妈妈好”表示密码正确开锁状态 输入密码错误数码管从左往右依次显示密码 蜂鸣器无声闭锁状态输入密码错误次数累计三次数码管从左往右依次显示密码,待蜂鸣器关闭后又回到初态蜂鸣器长鸣闭锁报警5 改进方法5.1 电路方面的改进 当今社会中电子锁的设计真可谓是五花八门,分别有数字密码锁、指纹密码锁、刷卡锁、酒店锁、只能密码锁、电控锁等。本设计是一个数字密码锁,相对于已有的电子密码锁,硬件设计中还有有很多不足之处,比如密码的显示部分,用数码管只能一位一位来显示数字和字母,而且显示起来很不方便;密码的设计部分也有改进的方法。 1)显示部分的改进 采用LCD液晶显示器来代替数码管显示。用液晶显示器的好处是可以显示中文或英文来提醒具体应该如何操作,还可以设置更多位的密码。一般在设计中应用12864液晶显示器比较广泛。 2)密码设计的改进要加强电子锁的防盗功能,密码的设计还可以采用指纹识别、人脸识别、体温识别、掌纹识别、以及刷卡识别等。由于时间关系和个人所学知识的有限性,只能设计出数字密码锁。3)控制功能的改进在本设计中,由于经费问题没有设计密码锁的其他控制功能。在实际应用中,电子密码锁还可以设置语音模式切换功能、控制系统强制复位功能、非法闯入报警功能(即入侵感应功能,在门上锁的状态下,有人破锁而入时,会发出强力的报警音。)、数字密码控制功能、反锁功能、语音音量调节功能、系统故障自动巡检功能、火灾报警功能(在室内如果温度达到75左右,将会发出强力的报警音,同时锁会自动开启)、开门记录、双重锁定功能(外部强制锁定:在内部不能开启,适用于外出时,防止有人入侵)联机管理、弱电提醒当电量不足时,在启动开门时,会有美妙的音乐提示、USB数据接口功能等。 5.2 软件方面的改进 在本设计的软件编写中,由于时间原因,编写的程序只能实现开锁功能,至于退格,删除,确认这些功能键都没设置。密码修改也没能实现。 改进方法,在原来44矩阵键盘的基础上,加上四个独立键S17,S18,S19,S20。原来的矩阵键盘用来输入密码,分别对应0-9,A-E,十六个字符,因为没有独立键盘的时候操作非常不方便。独立按键中加了管理员解密这一功能,管理员解密就是当输入密码三次出错后密码锁会被锁定,这时只有按下管理员解密这一按键,并且输入内置的密码才能开锁。独立按键功能说明见表5-1。表5-1 独立键盘功能说明按键功能S17返回S18删除S19确认S20管理员解密把独立按键加上以后,再配合程序的设计,改进后的电子密码锁的系统工作过程如表5-2所示。表5-2系统工作表键盘输入数码管显示输出蜂鸣器状态此刻系统状态按下复位键数码管从左往右依次显示 “HELLO-”蜂鸣器无声闭锁状态,等待用户输入密码输入内置正确密码“012345”并按下确认键数码管从左往右依次显示密码蜂鸣器唱歌“世上
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年生物科技行业生物制药市场前景与创新药研发趋势报告
- 2025年人居家居行业市场需求与设计创新研究报告
- 2025年软件行业开源软件应用前景研究报告
- 2025年智能硬件行业智能穿戴设备市场研究报告
- 2025年能源行业新能源市场前景研究报告
- 2025年医疗器械行业医疗器械研发与医疗器械市场趋势分析报告
- 猎头从业资格考试及答案解析
- 招标从业资格考试培训及答案解析
- copd题库护理及答案解析
- 南通中医院护理考试题库及答案解析
- 2022燃煤机组耗差计算方法
- 食品公司原辅料及包装材料验收规范
- 新闻播读培训课件
- 《蔚来汽车发展》课件
- 装配钳工试题库及答案
- 新手必看保安证考试试题和答案
- 脓毒性休克护理要点
- 海洋空间资源开发与国家安全教学课件-2024-2025学年人教版(2019)高中地理选择性必修三
- 个人信息保护法亮点解读
- 《往复式压缩机制造监理技术要求》
- 《护士输血流程》课件
评论
0/150
提交评论