毕业论文-单片机智能电子密码锁设计_第1页
毕业论文-单片机智能电子密码锁设计_第2页
毕业论文-单片机智能电子密码锁设计_第3页
毕业论文-单片机智能电子密码锁设计_第4页
毕业论文-单片机智能电子密码锁设计_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

本 科 毕 业 设 计 说 明 书单片机智能电子密码锁Intelligent Electronic Code Lock on Single-chip系(院)名称: 计算机科学与信息工程系 专业班级: 学生姓名: 指导教师姓名:指导教师职称: 目录第1章 电子密码锁概述 .11.1 背景资料.11.1.1 市场前景.11.1.2 密码锁的发展现状及前景.11.2 设计概况.41.3 设计思路.41.3.1 工作原理.41.3.2 可行性论证.5第2章 8051单片机概述 .52.1 8051单片机简介.52.2 8051引脚介绍.62.3 8051内部寄存器 .72.4 89C52芯片.9第3章 硬件设计.133.1硬件电路总体设计.133.2各模块的电路设计.133.2.1复位电路设计.133.2.2晶体振荡电路设计.143.2.3 RS232电路设计.153.2.4按键电路设计.153.2.5数码管电路设计.173.2.6蜂鸣器电路设计.17第4章 软件设计.194.1软件流程图.194.2键盘模块软件设计.204.3 EEPROM存储模块设计.234.4 显示模块设计.23第5章 系统测试.255.1硬件调试方法.255.2软件调试方法.25结 论.27致 谢.28参考文献. .29单片机智能电子密码锁摘要 我国单片机的应用领域主要是工业生产过程控制,数据采集与处理、实时控制及优化控制,主流机型是8位微机。单片机应用带来了巨大的经济效益,提高了效率,降低了成本,提高了产品质量,推动着生产力的发展。在安全技术防范领域,具有防盗报警功能的电子密码锁代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高了一步。随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理等功能。随着人们对安全的重视和科技的发展,许多电子智能锁(指纹识别、IC卡辨认)已在国内外相继面世。但是这些产品的特点是针对特定的指纹和有效卡,只能适用于保密要求的箱、柜、门等。而且指纹识别器若在公共场所使用存在容易机械损坏的特点,IC卡还存在容易丢失、损坏等特点。加上其成本较高,一定程度上限制了这类产品的普及和推广。于是电子密码锁就成为了实际生活中应用最广泛的密码锁。本文介绍的是日常生活中最为常见的电子密码锁, 它是集计算机技术、电子技术、数字密码技术为一体的机电一体化高科技产品.本论文从电子密码锁系统的功能,硬件电路设计,软件设计和硬件调试四部分分别论述这一系统。本系统考虑到电子密码锁成本及体积因素,在设计电子密码锁部分时,以STC89C52单片机为核心,硬件部分结构简单、成本低,软件部分使用电子加密提高锁的安全性,具有比较好的市场前景。关键词 STC89C52 单片机 密码锁 报警 Intelligent Electronic Code Lock on Single-chipAbstract Our country monolithic in tegrated circuit application domain mainly is the industrial production process control,the data acquisition and processing, the real-time control and the optimized control ,the mainstream type is 8 microcomputers. The monolithic integrated circuit application has brought the huge economic efficiency, enhanced the efficiency , reduced the cost , improved the product quality , is impelling the productive forces development . In the safety work guard domain , has security reports to the police the function electronic password lock to replace traditional the mechanical password lock ,overcame the mechanical password to lock the password quantity few ,the secure energy balance shortcoming , caused the password to lock regardless of technically all greatly enchanced one step in the performance .Along with the large scale intergrated circuit technology development , specially monolithic intergrated circuit being published , appeared the belt microprocessor intelligent password lock ,it besides has the function which the electronic password lock ,but also introduced the intellectualized management and so on system.As the Attention of people and technological development, many of the electronic smart lock (fingerprint recognition, IC card identification) has been published one after another at home and abroad. However, these products are characterized by specific and effective fingerprint cards, can only apply to the confidentiality requirements of the boxes, cabinets, doors. In addition,the fingerprint reader is easy to be damaged in the public place and the IC card is easily lost and damaged. Combined with its high cost to some extent, the popularity and promotion of such products is limited.This article describes the most common electronic code lock of the daily life. The electronic password lock is the collection computer technology,the electronic technology, the numerical ciphers technology is a bodyintegration of machinery high tech product. The present paper locks the system from the electronic password the function ,the hardware circuit design , the software design and the hardware design four partsseparately to elaborate this system . The electronic password locks the procedure is compiles with the Clanguage. When design procedure duplicate uses the subroutine to use the technology, locks the secure aspect has used the encryption technology ,the main function by the pressed key input .The hardware partial structuressimple ,the cost is low , the software partial uses electron encryption enhancement locks the security , has the quite good market prospect.Keywords STC89C52 Single-chip Password lock Alarm 引言电子密码锁是一种通过密码输入来控制电路或是芯片工作的现代化工具,从而控制机械机关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片性价值比较高的产品。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。其性能和安全性已大大超过了机械锁,特点如下:1. 保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零。2. 密码可变。 用户可以经常更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降。3. 误码输入保护。当输入密码多次错误时,报警系统自动启动。具有以上优点外,电子密码锁还可以存在电源断电、密码防盗等方面的设计。随着社会的发展和人们生活水平的提高,人们的安全意识也逐步加强,密码锁以其安全性高、成本低、功耗低、易操作等优点具有绝对的市场前景。为了满足社会的需要,本系统设计了一种基于51单片机实现密码的输入、密码不正确后进行锁定等功能的方案,根据要求,给出了该单片机密码锁的硬件电路和软件程序,同时给出了51单片机的介绍、硬件设计、软件流程图、单片机存储单元的分配、汇编语言源程序等内容。根据设定好的密码,采用16个按键实现密码的输入功能,当密码输入正确时,锁模拟灯亮,提示进入开锁状态,此时可以输入新的密码,新的密码将以明码显示,以防止误操作;如果连续三次输入错误,键盘自锁,长报警并配以LED灯闪烁,提示有非法侵入。第1章 电子密码锁概述本章主要介绍了单片机智能电子密码锁的市场前景和发展现状以及本设计的可行性,然后侧重介绍了此设计的硬件设计和软件设计的思路。1.1 背景资料1.1.1 市场前景目前,电子密码锁在国外已大量使用,技术已趋于成熟。在国内这种锁主要出现在保险柜密码箱高级宾馆等场所,家居用的较少,究其原因,我认为有以下几点:1. 价格原因。现在普通的家庭买一把一般的机械锁,价格在几十到一两百左右,而电子密码锁的价格一般在300元以上,进口的甚至要几千元。买一把这样的锁对于一些家庭来说,是很难接受的。2. 厂家的推广力度不够。电子密码锁属于高科新产品,许多的用户根本不知道有这种锁,跟不用说拿它与传统的机械锁比较。而一般的商场也不会经营这种产品,用户即使想买也难以买到。1.1.2 密码锁的发展现状及前景。(1)键盘式电子密码锁电子防盗锁应用于各行各业,其根本的作用是“授权”,即被“授权”的人才可以存取钱、物。从目前的技术水平和市场认可程度看,使用最为广泛的是键盘式电子密码锁,该产品主要应用于保险箱、保险柜和金库,还有一部分应用于保管箱和运钞车。键盘式电子密码在键盘上输入,与打电话差不多,因而易于掌握,其突出优点是“密码”是记在被授权人脑子里的数字和字符,既准确又可靠,不会丢失(除了忘记),难以被窃(除非自己泄露)。但是密码不能太简单,太简单了就容易被他人在键盘上试探出来,或者可能被旁观者窥测出来,造成保密性不足。当然,密码又不能太复杂,太复杂了可能自己都糊涂了,或者输入密码操作成功率低,造成使用不便。因此,为了发扬优点、克服弱点,键盘式电子密码也在不断发展中,如“任意设定密码”技术使得被授权人可以根据自己的需要或喜好设定密码,常用常新;而“自动更改密码”技术使得本次输入的密码将自动更改成下次应输入的密码,更改的规律不为他人所知,因而不怕旁观者窥测;独出心裁的“键盘乱序显示”技术使得键盘上的固定键位每次显示出的字符不固定,并且显示的窄小角度只能由操作者正面看得到,因而即使旁观者看见操作动作也难以窥测出密码;“多重密码设定”技术使得单组密码不一定有效,适合多人分权使用,需要输入两组以上的密码才被认可,大大提高了保密性,如果限定输入这些密码的先后顺序或时间区段,则保密性还可提高。在输入密码的过程中,为了限制试探密码的企图,通常输入错误码若干次或若干时间内输入不正确,即“封锁”键盘,不再接受输入操作。总之,尽管新式电子防盗锁层出不穷,但键盘式电子密码防盗锁仍然“老树发新芽”,不仅在市场上居于主流地位,而且,还经常作为其他类型电子防盗锁的辅助输入手段。(2)遥控式电子防盗锁目前常见的遥控式电子防盗锁主要有光遥控和无线电遥控两类。光遥控又分为红外线遥控和可见光遥控,光遥控利用窄角度的光传输密码,优点是传输信息量可以很大、速度极快、人眼识别不出来,又无法在光路径上(操作者与电子防盗锁主体之间)以仪器捕获信号试图复制,因此保密性极高。无线电遥控的优点也是传输信息量可以很大、速度快、人眼识别不出来,但发射的信号弥散空间,容易被仪器捕获,因此适合采用“变化的密码”,如所谓的“跳码”、“滚码”(均是随机变化而无明显规律),这样即使捕获了当时的信号也无利用、复制的价值。使用遥控式电子防盗锁,需要仔细保管遥控器(即钥匙),而且对某些应用而言,这种钥匙大了一点,可能还要使用特定的电池。(3)卡式电子防盗锁使用各种“卡”作为钥匙的电子防盗锁是当前最为活跃的产品,无论卡的种类如何多种多样,按照输入卡的操作方式,都可分为接触式卡和非接触式卡两大类。值得注意的是,由于安防行业的要求,通常不得使用可靠性差、易被仿制的磁卡。目前接触式卡的技术成熟、价格较低,应用也较为广泛;非接触式卡使用隐蔽、方便,大有后来居上之势。储存信息量大是卡的优势,它不仅作为钥匙,还可载入多项个人信息,特别适合金融业注重“验明正身”的行业特点,而且一卡多用(如入门、开锁、存储、付费等)带来持卡人的便利。使用这类电子防盗锁,需要仔细保管卡(即钥匙),尤其丢失了必须尽快取消该卡的授权。(4)生物特征防盗锁人的某些与生俱来的个性特征(如手、眼睛、声音的特征)几乎不可重复,作为“钥匙”就是唯一的(除非被逼迫或伤害),因此,利用生物特征做密码的电子防盗锁,也特别适合金融业注重“验明正身”的行业特点。由于这种“自生自长、随身携带”的“钥匙”优点突出,因此这种锁很快度过了性能不太稳定、价格昂贵的初始期,变得越来越实用、越来越“特征”,受到人们的普遍欢迎。现今,生物特征技术发展迅速,除了价格因素和尺寸体积因素对普及尚有所限制外,生物特征电子防盗锁在金融业的前景被人们普遍看好。不过,在要求保密性极高的情况下,还不宜单独使用生物特征电子防盗锁,最好是组合其他电子信息作为密码。由于数字、字符、图形图像、人体生物特征和时间等要素均可成为钥匙的电子信息,组合使用这些信息能够使电子防盗锁获得高度的保密性,如防范森严的金库,需要使用复合信息密码的电子防盗锁,这样对盗贼而言是“道高一尺、魔高一丈”。组合使用信息也能够使电子防盗锁获得无穷扩展的可能,使产品多样化,对用户而言是“千挑百选、自得其所”。当然,以上所说的授权技术再高超,都必须由精良的“锁具”担当承载结构部件,实现开启、闭锁的功能,而且承担实体防护作用,抵抗住或尽量延迟破坏行为,让电子防盗锁“软、硬不吃”。一般情况下,锁具防盗的关键是锁身外壳、闭锁的部件(如伸缩的锁舌或锁栓、锁扣盒锁扣板以及依靠电磁力直接闭锁的电磁部件等)的强度(应有足够的机械强度和刚度,能够承受一定数值、一定方向的静压力和冲击力以及力矩)、锁止型式(能承受某些方式和工具的作用)、配合间隙(防止采用机械的、电子的方法探入锁具内部而被开启)和布局(将薄弱的、与锁的开启直接相关的零部件和电路置于壳体保护之下,并且不易被识别出来)。提高电子防盗锁之防护能力的必然途径是报警,在许多场所有人值守、有电视监控,具有报警功能,可以综合物理防范和人力防范两种作用。报警的前提是具备探测功能,根据电子防盗锁的使用场所和防护要求,可选择多种多样的探测手段。在中国的城市中,实现联网报警已经成为对各金融网点的基本要求。根据国内外的实践经验,实行安全防范风险等级很有必要,即依据使用的防盗报警器材的性能、安装布局和人员值守状况等,可以评估被防护物或区域的防护能力,得出风险等级,其中,电子防盗锁的性能至关重要。1.2 设计概况单片机智能电子密码锁主要实现以下功能:(1)密码的输入,密码包括09以及AD以内的任意六位数字(字母)组合;(2)门未开时,LED显示输入状态为“”,以防止旁人恶意窥视;(3)输入密码位数不足六位时确认键不起作用,防止误操作;(4)输入密码位数超过六位时按下确认键要有短报警,提示输入错误;(5)连续三次输入错误,键盘自锁,长报警并配以LED灯闪烁,提示有非法侵入;(6)输入正确后,开锁模拟灯亮,提示进入开锁状态,此时可以输入新的密码,新的密码将以明码显示,以防止误操作。经过分析,设计具备上面所述功能的电子密码锁主要需要解决3个问题: 键盘输入 数码管显示 单片机电路以及密码比较与处理的有关程序设计。1.3 设计思路硬件方面先制作最小系统,然后一个个的将所需模块加上,最后集成、调试。由于系统不是太大,决定硬件部分在一块915万用版上完成;单片机选用STC89C52,原因是内含EEPROM且足以满足需要;键盘使用矩阵式以节省端口。软件方面使用常用的51系列开发软件Keil uVision3,。将整个软件划分为若干模块,分别调试,最后集成。具体软件模块主要有:EEPROM密码存储模块、矩阵键盘识别模块、数码管显示模块、密码匹配模块、密码修改模块等1.3.1 工作原理单片机密码锁由单片机、时钟、键盘、存储器、复位电路、蜂鸣器等单元组成。主要完成与电子锁具之间的通信。电子锁具的组成框图,它也是以51系列单片机为核心,配以相应硬件电路,完成密码的设置、存贮、识别和显示等功能。单片机接受键入的代码,并与存贮在EEPROM中的密码进行比较,如果密码正确,则驱动电磁执行器开锁;如果密码不正确,则单片机通过通信线路报警。1.3.2 可行性论证单片机作为整个硬件系统的核心,它既是协调整机工作的控制器,又是数据处理器。本系统主控制器采用本系统主控制器拟采用51单片机,51单片机是8位单片机具有性能高、价格低、体积小、可靠性高、低电压、低功耗等忧点,可以满足该系统的需要,调试也相对方便。主控制器采用STC89C52单片机。显示模块采用两个4位数码管。输入模块采用44矩阵键盘。密码存储模块采用STC89C52内置EEPROM。实际操作证明,硬件方面,915的万用版足以搭载所需硬件模块;软件方面,按上述方案设计的软件可以实现项目功能要求且与硬件结合良好。综上所属,以上方案和技术路线可行。第2章 8051单片机概述2.1 8051单片机简介8051是MCS-51系列单片机的非常典型的产品,它包含中央处理器、数据存储器(RAM)、定时/计数器、程序存储器(ROM)、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线。8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格,内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用,内部具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。同时内置最高频率达12MHz的时钟电路、4组8位I/O口、两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。本文讨论的单片机智能电子密码锁设计的核心是目前应用极为广泛的51系列单片机,多功能数字钟配置了外围设备,构成了一个可编程的计时定时系统,具有体积小,可靠性高,功能强等特点。不仅能满足所需要求而且还有很多功能可供开发,有着广泛的应用领域。2.2 8051引脚介绍8051单片机有40个引脚(见图1-1),大致可以分为四类:电源、时钟、控制和I/O引脚。以下是单片机引脚的简要说明:1、主电源引脚Vcc和Vss Vcc(40脚):主电源接5V Vss(20脚):接地2、时钟电路引脚XTAL1 和XTAL2 XTAL2(18脚):接外部晶体振荡器的一端。片内是一个振荡电路反相放大器的输出端。 XTAL1(19脚):接外部晶体振荡器的另一端。片内是一个振荡电路反相放大器的输入端。 3、控制信号RST/Vpd、ALE/(/PROG) 、/ PSEN和 (/EA)/Vpp ) RST/Vpd(9脚):复位端。高电平有效,宽度在24个时钟周期宽度以上,使单片机复位。该引脚有复用功能,Vpd为备用电源输入端,防止主电源掉电。 ALE/(/PROG)(30脚):地址锁存信号端。访问片外存贮器时,ALE作低八位地址的锁存控制信号。平时不访问片外存贮器时,该端以六分之一的时钟振荡频率固定输出脉冲。ALE端负载驱动能力为8个LSTTL门。该引脚有复用功能,为片内程序存贮器编程(固化)的编程脉冲输入。 /PSEN(29脚):片外程序存贮器读选通信号端。负载能力为8LSTTL门。 (/EA)/Vpp(31脚):/EA端接高电平时,CPU取指令从片内程序存贮器自动顺延至片外程序存贮。 /EA端接低电平时,CPU仅从片外程序存贮器取指令。该引脚有复用功能,Vpp为片内程序存贮器编程时的编程电压。4、输入/输出引脚P0、P1、P2和P3口 P0.0P0.7(3932脚):访问片外存贮器时作为低八位地址线和八位数据线(复用)。负载能力为8个LSTTL门。P1.0P1.7(18脚): 8位准双向I/O口。负载能力为3个LSTTL门。 P2.0P2.7(2128脚):访问片外存贮器时作为高八位地址线。 P3.0P3.7(1017脚):8位准双向I/O口。负载能力为3个LSTTL门。另外还有专门的第二功能。图1-1 单片机引脚图2.3 8051内部寄存器8051内部CPU是一个字长为二进制8为的中央处理单元,也就是说它对数据的处理是按字节为单位进行的。与微型计算机CPU类似,8051内部CPU也是由运算器(ALU)、控制器(定时控制部件等)和专用寄存器组三部分构成。1 算术逻辑部件(ALU)8051的ALU是一个性能极强的运算器,它既可以进行加、减、乘、除四则运算,也可以进行与、或、非、异或等逻辑运算,还具有数据传送、移位、判断和程序转移等功能。8051ALU为用户提供了丰富的指令系统和极快的指令执行速度,大部分指令的执行时间为1微妙,乘法指令可达4微妙。8051 ALU由一个加法器,两个8为暂存器(TMP1与TMP2)和一个性能卓著的布尔处理器组成。8051的时钟频率可达12MHZ2 定时控制部件 定时控制部件起着控制器的作用,又定时控制逻辑、指令寄存器和振荡OSC等电路组成。指令寄存器IR用于存放从程序存储器中取出的指令码,定时控制逻辑用于对指令寄存器中的指令码进行译码,并在OSC的配合下产生执行指令的时序脉冲,以完成相应指令的执行。3 专用寄存器组 专用寄存器组主要用来指示当前要执行指令的内存地址、存放操作数和指示指令执行后的状态等。它是任何一台计算机的CPU不可缺少的的组成部件,其他寄存器的多寡因机器型号的不同而异。专用寄存器组主要包括程序计数器PC、累加器A、程序状态字PSW、堆栈指示器SP、数据指针DPTR和通用寄存器B等。(1) 程序计数器PC程序计数器PC是一个二进制16位的程序地址寄存器,专门用来存放下一条需要执行指令的内存地址,能自动加1。(2) 累加器A累加器A又记作ACC,是一个具有特殊用途的二进制8位寄存器,专门用来存放操作数或运算结果。在CPU执行某种运算前,两个操作数中的一个通常应放在累加器A中,运算完成后累加器A中便可以得到运算结果。(3) 通用寄存器B通用寄存器B是专门为乘法和除法设置的寄存器,也是一个二进制8位的寄存器,由8个触发器组成。该寄存器在乘法或除法前用来存放乘数或除数,在乘法或除法完成后用于存放乘积的高8位或除法的余数(4) 程序状态字PSWPSW是一个8位标志寄存器,用来存放指令执行后的有关状态。PSW中各位的状态通常是在指令执行过程中自动形成的,但也可以由用户根据需要采用传送指令加以改变。(5) 数据指针DPTR数据指针DPTR是一个16位的寄存器,由两个寄存器DPH和DPL拼成。其中DPH为DPTR的高8为,DPL为DPTR的低8位。DPTR可以用来存放片内ROM的地址,也可以用来存放片外RAM和片外ROM的地址。(6) 堆栈指针SP堆栈指针SP是一个8位寄存器,能自动加1或减1,专门用来存放堆栈的栈顶地址。遵循“先进后出”或者“后进先出”的原则2.4 89C52芯片由于8051的功能强,很多其他公司从INTEL公司得到MCS51的核心技术的授权,生产了种类繁多的8051为核心的单片机,功能或多或少有些变化,以满足不同的需求,其中89C52就是这几年在我国非常流行的单片机,它是由美国ATMEL公司开发生产的。本设计就是采用89C52单片机。图1-2所示是89C52单片机的内部结构。图1-3所示是89C52的外部引脚图。表1-1给出了89C52的引脚定义。(a)44脚塑料四边引出扁平封装/塑料四边欧翅引出扁平封装(b)40脚塑料双列直插封装(c)44脚塑料有引线芯片载体封装(d)89C52的逻辑图12第3章 硬件设计本次设计的硬件电路由单片机主控模块,数码管显示电路,按键电路、蜂鸣器电路等组成。先从总体电路设计入手,然后详细介绍各个部分的设计。3.1 硬件电路总体设计硬件设计是整个系统的基础,要考虑的方方面面很多,硬件设计至关重要,除了实现此设计基本功能以外,主要还要考虑如下几个因素:系统稳定度;器件的通用性或易选购性; 软件编程的易实现性;系统其它功能及性能指标。总体设计框图:根据题目要求系统可以分为以下几个基础模块,如图2所示。单片机蜂鸣器数码管按键电源复位RS232晶振图2硬件总体设计框3.2 各模块的电路设计3.2.1 复位电路设计复位是单片机的初始化操作。单片机开始运行时,都需要先复位,其作用是使CPU和系统中其他部件处于一个确定的初始状态,并从这个状态开始工作。因而,复位是一个很重要的操作方式。但单片机本身是不能自动进行复位的,必须配合相应的外部电路才能实现。复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。图6所示的RC复位电路可以实现上述基本功能。根据应用的要求,复位操作通常有两种基本形式:上电复位和上电或开关复位。本设计采用的是开关复位电路,如图3所示。图3 复位电路3.2.2 晶体振荡电路设计X1和X2分别接单片机的XTAL1和XTAL2口,它们是芯片内振荡器的输入和输出端。本设计的晶体振荡电路采用的是大小为11.0592MHz的石英晶振。该石英晶振和两个60pF的电容并联可以产生单片机的工作时钟,其接线图如图7所示。之所以选取11.0592MHz的石英晶振是因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合。图4 晶振电路3.2.3 RS232电路设计计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式。由于串行通讯方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。在串行通讯时,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯。RS-232-C接口(又称EIARS-232-C)是目前最常用的一种串行通讯接口。本设计的RS232电路图见图5图5 RS232电路RS232是使用异步串行方式传递数据,所谓异步方式是指传递数据的装置之间,彼此的时钟信号可以存在相位差。异步串行通信的数据中每个字符(每帧信息)由4个部分组成:1位起始位,规定为低电0;58位数据位,即要传送的有效信息;1位奇偶校验位;12位停止位,规定为高电平1。3.2.4 按键电路设计在微控制器应用系统中,通常都要有人机对话功能。它包括用户对应用系统状态干预与数据输入,以及应用系统向用户报告运行状态和结果。键盘是人对系统的状态干预及数据输入的最常用的外部设备。嵌入式系统键盘电路的设计应使MCU不仅能察觉是否有键按下,并能识别按下的是哪个键,而且把此键所代表的信息翻译成MCU所能接受的形式。常见的键盘接口有两种方式:独立式和矩阵式。矩阵式按键的工作原理:为了减少I/O口的占用,在键盘中按键数量较多时,通常将按键排列成矩阵形式,在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口就可以构成44=16个按键,比之直接将端口线用于键盘多出了一倍。矩阵式结构的键盘要比独立式的接法复杂,识别也要复杂一些,本设计具体的识别及编程方法如下所述:1、判断键盘中有无键按下:将全部行线置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。若所有列线均为高电平,则键盘中无键按下。2、判断闭合键所在的位置:在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。图6 按键电路3.2.5 数码管电路设计数码管使用条件:a、段及小数点上加限流电阻b、使用电压:段:根据发光颜色决定; 小数点:根据发光颜色决定c、使用电流:静态:总电流 80mA(每段 10mA);动态:平均电流 4-5mA 峰值电流 100mA3.2.6 蜂鸣器电路设计蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,因此需要一定的电流才能驱动它,单片机IO引脚输出的电流较小,单片机输出的TTL电平基本上驱动不了蜂鸣器,因此需要增加一个电流放大的电路。单片机通过一个三极管C8550来放大驱动蜂鸣器,原理图见下图8。SPEAKER端口接在单片机的P0.4口。图8 蜂鸣器电路如图所示,蜂鸣器的正极接到VCC(5V)电源上面,蜂鸣器的负极接到三极管的发射极E,三极管的基级B经过限流电阻R6后由单片机的P0.4引脚控制,当P0.4输出高电平时,三极管T1截止,没有电流流过线圈,蜂鸣器不发声;当P0.4输出低电平时,三极管导通,这样蜂鸣器的电流形成回路,发出声音。因此,我们可以通过程序控制P0.4脚的电平来使蜂鸣器发出声音和关闭。1818第4章 软件设计软件模块主要由键盘模块、EEPROM存储模块、数码管模块等模块组成,以下是各个模块的技术要点、详细介绍以及软件流程图。4.1软件流程图密码锁上电之后即进入待命状态,显示状态为六个0,当输入密码时,显示状态为“-”即屏蔽状态,以防恶意窥探。输入密码不足六位时,确认键无效,防止误操作。超过六位时报警,提示输入有误。当密码输入达到六位时,按下确认键,此时会有两种情况发生:1、输入正确,此时会听到短提示音,同时开锁指示灯点亮,表示锁已打开,此时可以设置新密码(为防止输错,将以明码显示),只要在输入六位新的密码后按下设置键(与确认键是同一按键),新的密码将会存入单片机内,且掉电不会消失;2、输入错误,此时也将听到短提示音,在三次输入不成功时单片机将会发出警报期间键盘自锁,防止试探。 图8 软件流程图4.2键盘模块软件设计本设计设置了16个键,为了节省端口,采用矩阵的方式组织按键,需要考虑到的问题以及详细设计如下:(1)按键开关去抖动键盘是人与微机打交道的主要设备,按键的读取容易引起误动作。可采用软件去抖动的方法处理,软件的触点在闭合和断开的时候会产生抖动,这时触点的逻辑电平是不稳定的,如不采取妥善处理的话,将引起按键命令错误或重复执行。键盘通常使用机械触电式按键开关,其主要功能是把机械上的通断转换为电气上的逻辑关系。也就是说,它能提供标准的TTL逻辑电平,以便与通用数字系统的逻辑电平相容。机械式按键在按下或抬起时,由于机械弹性作用的影响,通常伴随一定时间的触点机械抖动,然后其触点才稳定下来,抖动的时间长短与开关的机械特性有关,一般为5-10ms。在触点抖动期间检测按键的通与断状态,可能会导致判断错误。即按键一次按下或抬起被错误地认为是多次按键动作,这种情况是不允许出现的。为了克服按键触点机械抖动所致的检测误判,必须采取去抖动措施15。本设计采用软件方法去抖动,每隔30毫秒扫描一次按键,将去抖与扫描有机结合到一起。其中间隔时间选择至关重要,既要大于抖动时间又要小于在最快的情况下两次按键之间的间隔时间,这样才能确保每次有效按键被扫到并记录下来,而无效按键被忽略。(2)按键扫描识别函数首先,设置键值缓冲keybuf用于存放键值,经过按键扫描函数处理后将键值放入其中,然后由Getkey()函数获得。系统启动后,每隔30毫秒执行一次扫描函数。下面是详细的按键扫描与获取按键流程:先把行线全部拉成低电平,然后读列线,如果列线仍旧全是高电平,证明无键按下,返回0xff,相当于清键值缓冲,否则进入下一步扫描识别。算法由一个for循环分别将各个行线置低电平,判断列线:假如列线全是高电平,表明目前并没有按键按下,刚才扫描到的可能是干扰信号,此时要返回0xff,清键值缓冲;假如有列线被拉为低电平,说明真正有键按下。接下来进入识别部分,此部分将键值与数字、字母或者功能键一一对应,并返回相应按键信息。void keyscan()uint k; uchar temp; /* * *无键按下返回 * */ P1 = 0xf0; /将行线全部置低电平 temp = P1; /读端口 if(temp & 0xf0) = 0xf0) /判断有没有键按下 keybuf = 0xff; /清键值 return; /* * *有键

温馨提示

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

评论

0/150

提交评论