毕业设计(论文)-基于单片机的液晶显示密码锁的设计与实现.doc_第1页
毕业设计(论文)-基于单片机的液晶显示密码锁的设计与实现.doc_第2页
毕业设计(论文)-基于单片机的液晶显示密码锁的设计与实现.doc_第3页
毕业设计(论文)-基于单片机的液晶显示密码锁的设计与实现.doc_第4页
毕业设计(论文)-基于单片机的液晶显示密码锁的设计与实现.doc_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

华科学院HUAKE INSTITUTE OF TAIYUAN UNIVERSITY OF SCIENCE & TECHNOLOGY全套设计加扣 3012250582 毕业设计(论文)题目:基于单片机的液晶显示密码锁设计与实现学 生 姓 名 学 号 班 级 通信102202H 所属院(系) 电子信息工程系 指 导 教 师 2014 年 5 月 20 日太原科技大学华科学院毕业设计(论文)任务书专业:通信工程 时间: 2014年 3 月 4 日学 生 姓 名指 导 教 师设计(论文)题目基于单片机的液晶显示密码锁设计与实现主要研究内容1. 系统的总体分析设计2.系统的软件设计与任务实现3电路的性能稳定性研究方法按照软件开发CMM标准实施,具体包括,需求分析、体系结构设计、模块设计、数据库设计等相关设计。主要技术指标(或研究目标)1对单片机深入的研究;2基于AT89C52进行了系统硬件设计;3熟悉51单片机开发板的各个模块;4运用C语言高效完成电子密码锁的设计;主要参考文献1 杨学昭.单片机原理接口技术.第一版M.西安西安电子科技大学出版社2009103-1242 冯文旭 单片机原理及应用.第1版M北京:机械工业出版社.2008137-1553ATMEL公司AT89C51的技术手册M20004周航慈单片机应用程序设计技术M北京航空航天大学出版社2000189-2145高文华数字电路与逻辑设计M电子工业出版社200937-56太原科技大学华科学院毕业设计(论文)基于单片机的液晶显示密码锁设计与实现摘 要随着人们的生活水平提高,如何实现家庭防盗这一问题也变得尤其突出,传统的机械锁由于其构造简单,安全性能低,无法满足人们的需求。随着电子产品向智能化和微型化的不断发展,单片机已成为电子产品研制和开发中首选的控制器,所以具有防盗报警功能的电子密码控制系统逐渐代替传统的机械式密码控制系统,克服了机械式密码控制的密码量少,安全性能差的缺点。通过单片机编写密码程序来控制。LED屏1602A可以实时显示当前信息。当输入密码正确时,对应的指示灯亮,并且提示正确信息;当密码不正确时,另一个对应的指示灯亮且并且发出声音报警。本设计以单片机AT89C52作为密码锁监控装置的检测和控制核心,分为主机控制和从机执行机构(本设重点介绍主机设计) ,实现钥匙信息在主机上的初步认证注册,根据51单片机之间的串行通信原理,这便于对密码信息的随机加密和保护。而且采用键盘输入的电子密码锁具有较高的优势。采用数字信号编码和二次调制方式,不仅可以实现多路信息的控制,提高信号传输的抗干扰性,减少错误动作,而且功率消耗低;反应速度快,传输效率高,工作稳定可靠等。软件设计采用自上而下的模块化设计思想,以使系统朝着分布式,小型化方向发展,增强系统的可扩展性和运行的稳定性.测试结果表明,本系统各项功能已达到本设计的所有要求。关键词:单片机,报警,电子密码锁,AT89C52Electronic coded lock based on MCU design and implementationAbstractWith the improvement of peoples living standards.it has become particularly prominent about how to achieve Anti-theft family. The traditional mechanical lock has such shortcoming as simple structure.Low security.it cant meet peoples demands.As electronic products are developing towards intelligence and minimization.single-chip computers(SCM) have become the first choice for controllers in the development of electronic products. Therefore.the electronic anti-theft alarm function password control system and gradually replace the traditional mechanical password control system.Overcome the low mechanical password control password and the shortcomings of poor safety performance.Password program written by single chip microcomputer to control. LED 1602 a can real-time display current information.Digital tube can always display the current input of six digits.When you enter the password correctly.the corresponding indicator light and the corresponding indicator light and sound alarm.This design with the single chip processor AT89C52 as a combination lock monitoring device to detect and control the core, divided into host control and from machine actuators (this focus on main equipment design).to achieve the key information on the hosts initial certification, according to the principle of serial communication between 51 single-chip microcomputer, which is handy for the random password information encrypted and protected. And using the keyboard electronic combination lock has the advantages of high. Adopting digital signal encoding and secondary modulation mode, not only can achieve more road information control, improve the signal transmission of anti-jamming, reduce errors, and low power consumption; Reaction speed.high transmission efficiency, stable and reliable work.etc. Software design USES the top-down modular design ideas, in order to make the system toward the distributed, miniaturized direction development.enhance the system scalability and running stability. Test results show that the system functions has reached to all requirements of this design.Keywords: AT24C01power-down storage,Matrix.keyboard,Display circuit,Alarm circuitII太原科技大学华科学院毕业设计(论文)目 录第1章 绪 论 1 1.1课题背景和意义 1 1.2 本设计需要解决的问题 1 1.3 本设计的研究方法 2 1.4 设计方案论述 2 1.5 工作原理 3 第2章 外围硬件电路的设计 5 2.1 硬件的基本组成 5 2.2 硬件介绍 5 2.2.1 单片机概述 5 2.2.2 AT89C52引脚功能说明 9 2.2.3 AT89C52芯片内部结构 10 2.2.4 LCM1602显示器 12 2.2.5 晶振电路 15 2.2.6 矩阵键盘 16 2.2.7 蜂鸣器电路设计 18 第3章 系统软件设计 19 3.1 系统程序设计流程 19 3.2 数码管显示子程序设计 20 3.3 键盘扫描子程序设计 21 第4章 调试 22 4.1 调试软件环境简介 22 4.2 实验板调试效果图 22 第5章 总结 26 致 谢 28 参考文献 29 附 录 30 I第1章 绪 论1.1课题背景和意义在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。密码锁具有安全性高、成本低、功耗低、易操作等优点。在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。随着人们对安全的重视和科技的发展,许多电子智能锁(指纹识别、IC卡辨认)已在国内外相继面世。但是这些产品的特点是针对特定的指纹和有效卡,只能适用于保密要求的箱、柜、门等。而且指纹识识别器若在公共场所使用存在容易机械损坏,IC卡还存在容易丢失、损坏等特点。加上其成本较高,一定程度上限制了这类产品的普及和推广。鉴于目前的技术水平与市场的接收程度,电子密码锁是这类电子防盗产品的主流。在科学技术不断发展的今天,电子密码防盗锁作为防盗卫士的作用也日趋重要。本设计采用89c52单片机作为电路控制的核心单元,设计了一款具有本机开锁和报警功能的电子密码锁。即简单又实用。1.2本设计需要解决的问题本设计的任务采用单片机89c52作为单片机的核心单元,利用单片机串行发射、接收等功能而设计的一款具有本机开锁和报警功能的电子密码锁。主要分为以下几个部分:1)设置密码将事先编好的密码程序存储在EPROM中,用户通过密码选择键进行选择。具体操作过程如下:首先按下密码输入键,然后按下确认键即可。2)密码显示为了帮助用户确认是否有键按下,特在电路中设置了数字显示电路;而为了防止密码外泄;显示时,并不是显示用户按下的数字符号,而是以一个特定的字母符号提醒用户是否有键按下。有键按下,就会显示出字符“*”,没键按下,则不会显示字符。这样既巧妙的提醒了用户又保护了用户密码,此乃本设计可靠性优点之一。3)密码错误报警当用户键入正确密码后,在按确认键,便会自动开锁。当用户键入错误密码次数超过三次时,系统就会自动报警,由扬声器发出报警声。系统会长期报警不止。此乃安全可靠性之一。1待解决的问题是实现遥控开锁,当此锁用于私家车库或仓库时,用户可以不用上车,只要手执遥控器,键入正确密码,便会自动开锁;如果密码错误,同样也会报警。还有实现声控开锁,这种开锁方式在于方便且快速,比遥控式开锁的遥控器方便携带又怕丢失遥控器。但声控式容易被别人模仿。有一定的失密性。1.3 本设计的研究方法本设计主要采用的芯片有89c52单片机主控芯片,外接LED液晶显示等。在设计系统中主要由单片机系统、矩阵键盘、液晶显示、密码存储和报警系统组成。设置开锁密码,利用软件与硬件结合的方法来实现。系统能完成本机开锁、超次锁定基本的密码锁的功能。除上述基本的密码锁功能外,还具有掉电存储、声光提示等功能,依据实际的情况还可以添加遥控功能。本系统成本低廉,功能实用。1.4 设计方案论述对于电子密码锁而言,可以采用典型的数字电路控制,数字电路有它的特点,比如设计简单,但是就实用而言,还是没有单片机应用的广泛,下面将两种方案做一对比,以确定更佳的方案。方案一:采用数字电路控制。用以74LS112双JK触发器构成的数字逻辑电路作为密码锁的核心控制,在外围电路外接输入键盘用于密码的输入和一些功能的控制,外接LED屏、LED灯以及蜂鸣器用于显示作用。共设了9个用户输入键,其中只有1组4个是有效的密码按键,其它的都是干扰按键;如果用户输入密码的时间超过10秒(若用户觉得不便,还可以修改)电路将报警20秒,若电路连续报警三次,电路将锁定键盘,防止非法操作。采用数字电路设计的方案好处就是设计简单但控制的准确性和灵活性差,故不采用。原理图1.1:- 2 -太原科技大学华科学院毕业设计(论文)图1.1数字电路密码锁方案方案二:采用一种是用以AT89c52为核心的单片机控制方案。选用单片机AT89c52 作为本设计的核心元件,利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,实现基本的密码锁功能。在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接LED用于显示作用。其原理如下图1.2所示:图1.2 单片机密码锁控制方案1.5 工作原理 本系统共有两部分构成,即硬件部分与软件部分。其中硬件部分由键盘输入部分、复位部分、LED显示部分、晶振部分、开锁部分组成,软件部分对应的由主程序、初始化程序、LED显示程序、键盘扫描程序、启动程序、关闭程序、建功能程序、密码设置程序、EEPROM读写程序和延时程序等组成。第2章 外围硬件电路的设计2.1 硬件的基本组成 单片机89c52,12Mhz晶振,LCM1602A液晶显示屏,24C02掉电存储,矩阵键盘,开锁控制电路,单片机复位电路,电源模块等。2.2 硬件介绍2.2.1 单片机概述单片机也被称作“单片微型计算机”、“微控制器”、“嵌入式微控制器”。单片机一词最初是源于“Single Chip Microcomputer”,简称SCM。随着SCM在技术上、体系结构上不断扩展其控制功能,单片机已不能用“单片微型计算机”来表达其内涵。国际上逐渐采用“MCU”(Micro Controller Unit)来代替,形成了单片机界公认的、最终统一的名词。为了与国际接轨,以后应将中文“单片机”一词和“MCU”唯一对应解释。在国内因为“单片机”一词已约定俗成,故而可继续沿用。1(1)单片机的发展历史如果将8位单片机的推出作为起点,那么单片机的发展历史大致可以分为以下几个阶段:第一阶段(19761978):单片机的探索阶段。以Intel公司的MCS-48为代表。MCS-48的推出是在工控领域的探索,参与这一探索的公司还有Motorola、ZILOG等。都取得了满意的效果。这就是SCM的诞生年代,“单片机”一词即由此而来。第二阶段(19781982):单片机的完善阶段。Intel公司在MCS-48基础上推出了完善的、典型的单片机系列MCS-51。它在以下几个方面奠定了典型的通用总线型单片机体系结构:1.完善的外部总线。MCS-51设置了经典的8位单片机的总线结构,包括8位数据总线、16位地址总线、控制总线及具有多机通信功能的串行通信接口。2.CPU外围功能单元的集中管理模式。3.体现工控特性的地址空间及位操作方式。4.指令系统趋于丰富和完善,并且增加了许多突出控制功能的指令。第三阶段(19821990):8位单片机的巩固发展及16位单片机的推出阶段,也是单片机向微控制器发展的阶段。Intel公司推出的MCS-96系列单片机,将一些用于测控系统的模数转换器、程序运行监视器、脉宽调制器等纳入片中,体现了单片机的微控制器特征。第四阶段(1990至今):微控制器的全面发展阶段。随着单片机在各个领域全面、深入地发展和应用,出现了高速、大寻址范围、强运算能力的8位/16位/32位通用型单片机,以及小型廉价的专用型单片机。目前,单片机正朝着高性能和多品种方向发展,今后单片机的发展趋势将是进一步向着CMOS化、低功耗化、低电压化、低噪声与高可靠性、大容量化、高性能化、小容量、低价格化、外围电路内装化和串行扩展技术。随着半导体集成工艺的不断发展,单片机的集成度将更高、体积将更小和功能将更强。单片机主要有如下特点:1.有优异的性能价格比。2.集成度高、体积小、有很高的可靠性。单片机把各功能部件集成在一块芯片上,内部采用总线结构,减少了各芯片之间的连线,大大提高了单片机的可靠性和抗干扰能力。另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合在恶劣环境下工作。3.制功能强。为了满足工业控制的要求,一般单片机的指令系统中均有极丰富的转移指令、I/O口的逻辑操作以及位处理功能。单片机的逻辑控制功能及运行速度均高于同一档次的微机。4.低功耗、低电压,便于生产便携式产品。5.外部总线增加了I2C(Inter-Integrated Circuit)及SPI(Serial Peripheral Interface)等串行总线方式,进一步缩小了体积,简化了结构。6.单片机的系统扩展和系统配置较典型、规范,容易构成各种规模的应用系统。单片机的应用由于单片机具有显著的优点,它已成为科技领域的有力工具,人类生活的得力助手。它的应用遍及各个领域,主要表现在以下几个方面:1.单片机在智能仪表中的应用。2.单片机在机电一体化中的应用。3.单片机在实时控制中的应用。4.单片机在分布式多机系统中的应用。5.单片机在人类生活中的应用。单片机已成为计算机发展和应用的一个重要方面,另一方面,单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能通过单片机来实现了。这种用软件代替硬件的控制技术也称为微控制技术,是对传统控制技术的一次革命。A:由单片机组成控制器的结构和特点: 单片微型计算机是微型计算机发展中的一个重要分支,是把构成一台微型计算机的主要部件如中央处理器(CPU)、存储器(RAM/ROM)和各种功能I/O接口集成在一块芯片上的单芯片微型计算机(Single Chip Micro Computer),简称单片机.由于它的结构与指令功能都是按工业控制要求设计的,且近年来单片机着力扩展了各种控制功能如A/D、PWM等,因此我们更多时候称其为一个单片形态的微控制器(Single Chip Micro Controller),或直接称其为微控制器(Micro Controller)。B:用单片机组成的微机控制系统具有以下特点:1.受集成度限制;片内存储器容量较小,一般片内ROM小于48K字节,片内RAM小于256字节;但可在外部进行扩展,如MCS51系列单片机的片外可擦可编程只读存储器(EPROM)、静态随机存储器(SRAM)可分别扩展至64K字节。2.可靠性高;单片机芯片本身是按工业控制环境要求设计的,其抗噪声的能力优于一般通用CPU;程序指令及其常数、表格固化在ROM中不易破坏;常用信号通道均在一个芯片内,故可靠性高。3.易扩展;片内具有计算机正常运行所必须的部件,芯片外部有许多供扩展用的总线及并行、串行输入/输出端口,很容易构成各种规模的微机控制系统。4.控制功能强;为了满足工业控制要求,单片机的指令系统中有极丰富的条件分支转移指令、I/O口的逻辑操作以及位处理功能。一般来说,单片机的逻辑控制功能及运行速度均高于同一档次的微处理器。5.一般的单片机内无监控程序或系统管理软件,软件开发工作量大。但近年来已开始出现了片内固化有BASIC解释程序及FROTH操作系统的单片机,使单片机系统的开发提高了一个新水平。 此外,单片机成本低、集成度高、控制功能多,可灵活地组装成各种智能控制装置,并能有针对性设计成专用系统,解决从简单到复杂的各种需要,实现最佳的性价比。特别是单片机与传统机械产品相结合,使原有机械产品的结构简化、控制智能化。如数控机床就是典型实例。近年来,单片机发展极快,其产量占微机产量的70%以上。目前,至少有50个系列400余种机型,性能和结构各不相同,INTEL、MOTOROLA、ZILCG等公司都有系列单片微型计算机。国内普及的几乎都是INTEL公司的产品。可以预言在当今信息化社会中,单片机担负着重大的使命,必将对科技的革新起到重要作用! AT89C52具有如下特点:AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。2 图2.1 AT89C52芯片引脚图其主要功能特性: 兼容MCS51指令系统 8k可反复擦写(1000次)Flash ROM 32个双向I/O口 256x8bit内部RAM 3个16位可编程定时/计数器中断 时钟频率0-24MHz 2个串行中断 可编程UART串行通道 2个外部中断源 共6个中断源 2个读写中断口线 3级加密位 低功耗空闲和掉电模式 软件设置睡眠和唤醒功能 AT89C52提供以下标准功能:功能包括8K字节Flash闪速存储器,256字节内部RAM,对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。AT89C52主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(3239 脚)被定义为N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。32.2.2 AT89C52引脚功能说明VCC:电源电压,GND:地。P1 口:P1 是一个带内部上拉电阻的8 位双向I/O 口, P1 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。与AT89C51 不同之处是,P1.0 和P1.1 还可分别作为定时/计数器2 的外部计数输入(P1.0/T2)和输入(P1.1/T2EX)参见表2.1。Flash 编程和程序校验期间,P1 接收低8 位地址。表2.1 P1.0和P1.1的第二功能引脚号功能特性引脚号功能特性P1.0T2时钟输出P1.1T2EX(定时/计数器2)P2 口P2 是一个带有内部上拉电阻的8 位双向I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4个TTL 逻辑门电路。对端口P2 写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16 位地址的外部数据存储器(例如执行MOVX DPTR 指令)时,P2 口送出高8 位地址数据。在访问8 位地址的外部数据存储器(如执行MOVX RI 指令)时,P2 口输出P2 锁存器的内容。Flash 编程或校验时,P2亦接收高位地址和一些控制信号。P3 口P3 口是一组带有内部上拉电阻的8 位双向I/O 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3 口将用上拉电阻输出电流(IIL)。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)输出是外部程序存储器的读选通信号,当AT89C51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。当访问外部数据存储器,高有两次有效的PSEN信号。4EA/VPP:外部访问允许。欲使CPU公访问外部程序存储器(地址0000HFFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上12V的编程电压Vpp。XTAL1:振荡器反相放大器及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。2.2.3 AT89C52芯片内部结构(1)数据存储器AT89C52 有256 个字节的内部RAM,80H-FFH 高128 个字节与特殊功能寄存器(SFR)地址是重叠的,也就是高128个字节。(2)定时器2定时器2 是一个16 位定时/计数器。它既可当定时器使用,也可作为外部事件计数器使用,其工作方式由特殊功能寄存器T2CON的C/T2 位选择。定时器2 有三种工作方式:捕获方式,自动重装载(向上或向下计数)方式和波特率发生器方式,工作方式由T2CON 的控制位来选择。在计数工作方式时,当T2 引脚上外部输入信号产生由1 至0 的下降沿时,寄存器的值加1,在这种工作方式下,每个机器周期的5SP2 期间,对外部输入进行采样。若在第一个机器周期中采到的值为1,而在下一个机器周期中采到的值为0,则在紧跟着的下一个周期的S3P1 期间寄存器加1。由于识别1 至0 的跳变需要2 个机器周期(24 个振荡周期),因此,最高计数速率为振荡频率的1/24。为确保采样的正确性,要求输入的电平在变化前至少保持一个完整周期的时间,以保证输入信号至少被采样一次。(3)自动重装载(向上或向下计数器)方式当定时器2工作于16位自动重装载方式时,能对其编程为向上或向下计数方式,这个功能可通过特殊功能寄存器T2CON来选择。复位时,DCEN 位置“0”,定时器2 默认设置为向上计数。当DCEN置位时,定时器2 既可向上计数也可向下计数,这取决于T2EX 引脚的值。当DCEN=0 时,定时器2 自动设置为向上计数,在这种方式下,T2CON 中的EXEN2 控制位有两种选择,若EXEN2=0,定时器2 为向上计数至0FFFFH 溢出,置位TF2 激活中断,同时把16 位计数寄存器RCAP2H 和RCAP2L重装载,RCAP2H 和RCAP2L 的值可由软件预置。若EXEN2=1,定时器2 的16 位重装载由溢出或外部输入端T2EX 从1 至0 的下降沿触发。这个脉冲使EXF2 置位,如果中断允许,同样产生中断定时器2 的中断入口地址是:002BH 0032H。当DCEN=1 时,允许定时器2 向上或向下计数。这种方式下,T2EX 引脚控制计数器方向。T2EX 引脚为逻辑“1”时,定时器向上计数,当计数0FFFFH 向上溢出时,置位TF2,同时把16 位计数寄存器RCAP2H 和RCAP2L 重装载到TH2 和TL2 中。 T2EX 引脚为逻辑“0”时,定时器2 向下计数,当TH2 和TL2 中的数值等于RCAP2H 和RCAP2L中的值时,计数溢出,置位TF2,同时将0FFFFH 数值重新装入定时寄存器中。当定时/计数器2 向上溢出或向下溢出时,置位EXF2 位。(4)时钟振荡器AT89C52 中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1 和XTAL2 分别是该放大器的输入端和输出端。外接石英晶体(或陶瓷谐振器)及电容C1、C2 接在放大器的反馈回路中构成并联振荡电路。(5)空闲节电模式在空闲工作模式状态,CPU 自身处于睡眠状态而所有片内的外设仍保持激活状态,这种方式由软件产生。此时,同时将片内RAM 和所有特殊功能寄存器的内容冻结。空闲模式可由任何允许的中断请求或硬件复位终止。由硬件复位终止空闲状态只需两个机器周期有效复位信号,在此状态下,片内硬件禁止访问内部RAM,但可以访问端口引脚,当用复位终止空闲方式时,为避免可能对端口产生意外写入,激活空闲模式的那条指令后一条指令不应是一条对端口或外部存储器的写入指令。(6)掉电模式在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一条被执行的指令,片内RAM 和特殊功能寄存器的内容在终止掉电模式前被冻结。退出掉电模式的唯一方法是硬件复位,复位后将重新定义全部特殊功能寄存器,但不改变RAM中的内容,在Vcc恢复到正常工作电平前,复位应无效,且必须保持一定时间以使振荡器重启动并稳定工作。程序存储器的加密:AT89C52 有3 个程序加密位,可对芯片上的3 个加密位LB1、LB2、LB3 进行编程(P)或不编程(U)来得到。当加密位LB1 被编程时,在复位期间,EA 端的逻辑电平被采样并锁存,如果单片机上电后一直没有复位,则锁存起的初始值是一个随机数,且这个随机数会一直保存到真正复位为止。为使单片机能正常工作,被锁存的EA 电平值必须与该引脚当前的逻辑电平一致。此外,加密位只能通过整片擦除的方法清除。6(7)Flash存储器的编程AT89C52单片机内部有8k字节的Flash PEROM,这个Flash 存储阵列出厂时已处于擦除状态(即所有存储单元的内容均为FFH),用户随时可对其进行编程。编程接口可接收高电压(+12V)或低电压(Vcc)的允许编程信号。低电压编程模式适合于用户在线编程系统,而高电压编程模式可与通用EPROM 编程器兼容。2.2.4 LCM1602显示器现在的字符型液晶模块已经是单片机应用设计中最常用的信息显示器件了。1602型LCD显示模块具有体积小,功耗低,显示内容丰富等特点。1602型LCD可以显示2行16个字符,有8位数据总线D0D7和RS,R/W,EN三个控制端口,工作电压为5V,并且具有字符对比度调节和背光功能。7硬件原理与接口图如图2.2所示:图2.2硬件原理与接口图 1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母大小写、常用的符号和日文的平假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H种的点阵字符图形显示出来,我们就能看到字母“A”。因为1602识别的是ASC码,试验可以用ASC码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如A。8表2.3是1602的16进制ASC码表,其介绍了部分在LED屏幕显示的一些输出的信息,所有的LED显示信息,都是通过ASC码表转换之后显示到屏幕中的。对于LED1602C液晶显示屏,他的工作原理和普通的液晶显示器是相同的。表2.3 (a)1602的16进制ASC码表(a)表2.3 (b)1602的16进制ASC码表(b)接口信号说明1602型LED的接口信号说明如表2.4所示:表2.41602型LED的接口信号说明编号符号引脚说明编号符号引脚说明1VSS电源地9D2Data I/O2VDD电源正极10D3Data I/O3V0液晶显示偏压信号11D4Data I/O4RS数据/命令选择端(H/L)12D5Data I/O5R/W读写选择端(H/L)13D6Data I/O6E使能信号14D7Data I/O7D0Data I/O15BLA背光源正极8D1Data I/O16BLK背光源负极主要技术参数LCM1602型LED的主要技术参数如表2.5所示:表2.5 LCM1602型LED的主要技术参数显示容量16X2个字符芯片工作电压4.55.5V工作电流2.0mA(5.0V)模块最佳工作电压5.0V字符尺寸2.95X4.35(WXH)mm基本操作程序读状态:输入:RS=L,RW=L, E=H 输出:D0D7=状态字读数据:输入:RS=H,RW=H, E=H 输出:无写指令:输入:RS=L,RW=L, D0D7=指令码,E=高脉冲 输出:D0D7=数据写数据:输入:RS=H,RW=L, D0D7=数据, E=高脉冲 输出:无2.2.5 晶振电路晶振电路在单片机电路中晶振的作用非常大,结合单片机内部的电路,产生单片机所必需的时钟频率,单片机的一切指令的执行都是建立在晶振的基础上。晶振利用一种特殊的晶体,在电能和机械能之间相互转化产生共振,提供稳定精确的单频震荡,为系统提供基本的时钟信号。晶振元器件实物图如图2.4所示。9图2.4 晶振元器件晶振即晶体振荡器。是指从一块石英晶体上按一定方位角切下薄片(简称为晶片,石英晶体谐振器,简称为石英晶体或晶体、晶振;而在封装内部添加IC组成振荡电路的晶体元件称为晶体振荡器。其产品一般用金属外壳封装,也有用玻璃壳、陶瓷或塑料封装的。简单应用如下:1通用晶体振荡器,用于各种电路中,产生振荡频率。2时钟脉冲用石英晶体谐振器,与其它元件配合产生标准脉冲信号,广泛用于数字电路中。3微处理器用石英晶体谐振器。4CTVVTR用石英晶体谐振器。5钟表用石英晶体振荡器。 图2.5 晶振电路2.2.6 矩阵键盘 由于设计要求使用矩阵键盘,所以本设计就采用行列式矩阵键盘,同时也能减少键盘与单片机接口时所占用的I/O线的数目,在按键比较多的时候,通常采用这样方法。其原理如下图2.6所示10图2.6行列式键盘电路每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有NM按键的键盘。首先辨别键盘中有无键按下,由单片机I/O口向键盘进行扫描,然后读入行线的状态来判断。方法是:向行线输出全扫描字00H,把全部线列设置为低电平,然后将线列的电平状态读入累加器A中。如果有按键按下,总会有一根行线电平被拉至低电平从而使行线不全为1。判断键盘中哪一个键被按下是通过列线依次被置为低电平后检查行输入状态来实现的。方法是:依次设置行行列低电平时,然后检查所有行线状态,如果全为1,则所按下的键不在此列;如果不全为1,则所按下的键一定就在此列,而且是在与零电平行线相交的交点上的那个键。单片机连接如图2.7:图2.7单片机开发板实物连接图 2.2.7 蜂鸣器电路设计蜂鸣器在此设计主要是为了提供按键提醒,通过一个三极管来提供驱动,蜂鸣器一端接高电平,一端接三极管的发射极,三极管的基极通过一个电阻接I/O口的P2.3,集电极接地。当P2.3口送出低电平时,三极管接通,蜂鸣器接通,发出响声。蜂鸣器电路如图2.8所示:图2.8 蜂鸣器电路 当首次按下键盘时,LED绿灯亮,提示继续输入;当输入错误时黄灯亮,提示输入错误,当三次输入错误时,黄灯灭,红灯亮,蜂鸣器响,提示报警。11- 18 -太原科技大学华科学院毕业设计(论文)第3章 系统软件设计本系统软件设计由主程序、初始化程序、LED显示程序、键盘扫描程序、键功能程序、密码设置程序、EEPROM读写程序和延时程序等组成。123.1 系统程序设计流程主要程序设计流程图如下所示:开始初始化键盘扫描启动程序键盘扫描键功能程序结束关闭程序图3.1 主程序流程图Y初始化按开锁键输入密码确认程序所输入密码正确?Y开锁成功开锁程序输入次数加1次数3?报警程序返回NN图3.2 开锁流程图 为了防止掉电以及其他一些系统不稳定因素导致系统遭到破坏,本系统并未设计用户自定义密码的功能,采用程序直接提供密码,这样,在一定程度上保护了密码锁的正常使用,不会出现掉电数据丢失或将数据保存至24C02掉电存储单元时存储单元损坏导致数据丢失等故障,并且由于系统并没有初始化功能,万一用户忘记密码将会导致系统无法正常使用。3.2 数码管显示子程序设计LED显示器工作方式有两种:静态显示方式和动态显示方式。静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高;动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些。本设计使用动态显示方法。133.3 键盘扫描子程序设计键盘是单片机常用输入设备,在按键数量较多时,为了节省I/O口等单片机资源,一般采取扫描的方式来识别到底是哪一个键被按下。即通过确定被按下的键处在哪一行哪一列来确定该键的位置,获取键值以启动相应的功能程序。查找哪个按键被按下的方法为:一个一个地查找。 先第一行输出0,检查列线是否非全高;否则第二行输出0,检查列线是否非全高;否则第三行输出0,检查列线是否非全高;如果某行输出0时,查到列线非全高,则该行有按键按下;根据第几行线输出0与第几列线读入为0,即可判断在具体什么位置的按键按下。14第4章 调试4.1 调试软件环境简介 调试本程序需要用到KEIL C51,及51开发板一块及其配套的下载烧录软件Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。 C51工具包的整体结构: uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。154.2 实验板调试效果图实验中,对实验现

温馨提示

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

评论

0/150

提交评论