《基于单片机的智能密码的硬件和软件系统设计》8100字(论文)_第1页
《基于单片机的智能密码的硬件和软件系统设计》8100字(论文)_第2页
《基于单片机的智能密码的硬件和软件系统设计》8100字(论文)_第3页
《基于单片机的智能密码的硬件和软件系统设计》8100字(论文)_第4页
《基于单片机的智能密码的硬件和软件系统设计》8100字(论文)_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

基于单片机的智能密码的硬件和软件系统设计TOC\o"1-3"\h\u23412一、前言 126198(一)选题背景和意义 17470(二)智能密码锁设计 228509二、总体设计 223834(一)智能密码锁设计要求 219892(二)总体设计方案 3231362.1单片机控制密码锁原理图 3136012.2电子密码锁原理框图 43586三、系统硬件设计 417827(一)AT89C51单片机 47906(二)硬件电路构成 4322411.复位电路 478852.LCD显示模块 5181263.矩阵键盘 784494.声音提示模块 815295.继电器控制模块 932203四.软件系统设计 924019(一)主程序模块 929746(二)键盘扫描子程序 109958(三)密码设置子程序 118641(四)显示模块子程序 1223286(五)报警子程序 1318936五.PROTEUS仿真调试 149537六.总结 15前言(一)选题背景和意义随着当代社会的蓬勃发展,我们对安全的需求也将愈来愈高,大部分人更加关注电子产品的人性化设计。锁具是在广大家庭生活中普普通通的物品,它的来源可追溯至古代人类社会中财产私人化的产生过程,由其产生发展到今天,经历了很长的时期,技术逐渐向高科技化、信息化发展,已经很多年的发展史了,因此它在人们的生活中一直扮演着十分关键的角色。在安全科技防范方面,传统的机械式密码控制器已经被带有报警系统的智能密码控制器所逐渐取代,而这些新型密码锁解决了传统机械式密码控制器的密钥数量过小、安全稳定性较差的弊端,也使得智能密码控制器不管从技术上还是在稳定性上都提高了一一步。随着电子技术和计算机技术的逐步提高,尤其是单片机的问世,为人们的日常生活中增添了以越来越多的单片机为基本系统的设备。因此,单片机为人们提供了微处理器的智能密码管理系统,它不仅具备了传统电子密码管理系统的基本功能外,同时还引入了智能管理、系统存储等新功能,因而使密码管理系统具备了高度的安全性、可靠性,在实际生活中使用得越来越普遍。另外,由于单片机的实现方式具有体积较小、价格相对低廉、功能多样、操作简便、应用领域广泛等优点,为人们的日常生活提供了很大的方便,所以,设计研究对于基于单片或微型计算机的智能密码锁设计来说是非常有必要,并极具现实意义的。(二)智能密码锁设计由于技术之限,之前发明的智能密码控制器,其品种并不算很多,最基本的功能就是只能通过最简易的模拟电子开关来完成的,制作过程简易而且很不可靠,但后来就是通过单片机来完成的,其密码简便,易破解。从当前来看,和美国这种发达国家相比,我国的智能密码锁技术还是相对落后的。在美国,智能密码锁的品种早已非常完善,技术水平也已经相当领先,并且在各个领域都获得了应用。随着单片机与传感器技术的迅速发展,人们越来越追求产品多样化的功能以满足日常需要。因此,将智能密码锁技术应用于银行业务时,其最基本的功能就是“授信”,即被“授信”的人员有权存取钱财。广义上讲,银行的“授信”大致包含了这样三种层次的内涵:1、授与他人进行担保权,如利用担保柜、投保箱和投保柜等;2、授与他人支出权限,如出入金库、运钞车和存放室;3、授于与他人的流通权限,如自行存取款。就目前而言,智能密码锁的运用大多集中在此二种层次上。就智能密码锁及其它们的科技发展方面而言,即使上面提到的授权技术再高明,都应该由"锁具"来作为构成部分,从而完成打开、关闭的功能,并同时承担其实体保护功能,抵挡得住或者尽量延缓别人故意的攻击行动,让智能密码锁起到最大的作用。随着电子元件的逐步蓬勃发展,智能电子密码输入控制器也产生了很多的新种类,功用越来越强,应用也越来越便利,而且信息安全保密度也更强了,从过去的单密码输入方式进一步发展到了现在的,输入密码加传感器件,从而做到了更为真实的电子密码功能,但除非所提供密码功能与电子钥匙中的一模一样,否则是打不开门的。本设计就基于51单片机为核心及其它硬件软件来设计的智能密码锁,贴近于人们的日常生活,满足人们在日常生活的需求。二、总体设计(一)智能密码锁设计要求本设计中智能密码锁,应该能满足以下要求:(1)为避免输入密码时被他人偷看,因此输入密码时在LCD画面上出现*号;(2)在正常使用密码功能时,能够用LCD1602显示器表示open,出错使用密码功能时会表示error,正在使用密码功能时会表示inputpassword;(3)本设计具有16位的矩阵键盘,其中包括0-9的数字键、*、#和A,B,C,D的功能键;(5)此外,该设计具备报警功能,当输入密码出错时蜂鸣器就会自动报警,提示用户密码输入错误;(6)密码可以自定义修改(只支持六位密码),在更改密码时,功用户必需重新录入密码功能,以防止旧密码被误使用。(二)总体设计方案本设计采用AT89C51单片机作为本设计的核心元件,是因为单片机能够灵活的承载运行编程语句和拥有丰富的IO接口,再加上工作人员操控的正确性,来实现最基本的密码锁控制。该设计的外部电路是通过外接输入按键实现密码功能的进入和对一些特殊操作的控制之后,通过外接LCD1602液晶屏幕进行显示功能的。其原理如图2.1所示:2.1单片机控制密码锁原理图我这次的设计主体主要是由单片机、矩阵按键、液晶显示屏和密码储存等多个部分组成。同时还有矩阵按键,它可以用来提供数字密码和完成各项限制功用的实现方式,使用者可以透过接口单片机的矩阵键盘输入密码,之后再透过单片机对使用者所提供的秘密和自身所储存的秘密加以对比,以此确定秘密是不是准确,进而透过限制接口的高低电平到开锁集成电路或是告警集成电路中开锁或是告警。实际上,只是把单片机控制器的负荷由继电器换成电子密码锁的电磁石结构吸合线圈便可,当然也可以由继电器的常开接点去操控电磁铁结构吸合线圈。此外,本设计共有两部分组成,即硬件管理系统部门和管理软件管理系统部门。其软硬件功能组成主要由计算机电源设备进入部门、按键进入部门、密码储存部门、一键复位部门、晶振部门、屏幕显示部门、报警部门、开锁部门等构成,而应用软件部门则相应的由应用软件主程式、初始化程式、LCD指示程式、键盘扫描程式、开关程式、密码功能设定程式、EEPROM读取程式和延时处理程序等构成。其原理框图如图2.2所示。2.2电子密码锁原理框图三、系统硬件设计(一)AT89C51单片机单片机AT89C51是一款带四K字节FLASH储存器的低电流低电压高机能CMOS8位微处理器。其功能强大,并且它有二百五十六字节片内数据储存器、三十二个I/O口、两个十六位定时/计数器、一个中断结构、一个双全工串行接口、片内振荡、时钟电路、蜂鸣器以及复位电路等。(二)硬件电路构成1.复位电路电脑每一次启动或工作,CPU和操作系统中的任何部分都一定要有某个固定的初值,即为恢复状况。图3.1为单片机模块复位集成电路仿真图。图3.1复位电路单片机的RST接口是高电平有用。单片机模块在接上电源瞬间为C3充电,RST接脚端就会形成正向脉冲,如果RST中断维持在二个机械时间(大概10ms)以上的高电平,单片机模块控制器就可以恢复工作。当单片微型计算机正常工作后,若还要重新恢复工作,只须再按下电源开关,单片微型计算机就可以再次变成复位状态。2.LCD显示模块2.1LCD1602显示器LCD1602A是一款工业文字式液晶显示器,可以同步表示16x2,即三十二个文字的。液晶显示模组现已变成了不少电子设备的重要应用元素,如在计量器、万用表、电子表和一些家用电子设备中均都可以看见,表现的内容大多是数值、专用文字和图像信息。在单片机的人机交互用户界面中,最常见的输入输出方案通常有下列几类:感光管、LED数码管、液晶显示屏。感光管和LED数码管较为常见,但软硬件功能构成都比较简单。在单片机控制系统中应用晶液显示器作为输入输出元件具有如下一些好处:因为液晶体显示屏的每一点在接受信息后都要始终维持着那种颜色和光度,恒定的发光,所以并不会像阴极射线管显示屏(CRT)一般。而且液晶显示屏都是数字式的,与单片机控制系统的连接比较简单安全,使用比较简单。液晶显示器使用在展示屏表面的阴极上检测液晶分子状况来实现显示屏的目的,在称重工作方面比同样屏幕容积的传统展示屏要轻得多。相比来说,由于液晶显示屏的功率大部分耗费在其内置的阴极和驱动器IC上,所以耗电量比其它显示器都要少得多。2.2引脚说明第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL是液晶显示屏的比较度调整端子,当接正电时比较度最弱,接地时比较度最大,若比较度过高则会形成"鬼影",在应用时可透过一只十K的电势器调整比较度。第4脚:RS为寄存器选项,在高电平时选用数据寄存器、低电平时选用命令寄存器。第5脚:R/W为读写信号线,高电平时执行读动作,低电平有效时执行读写操作。当RS需要与R/W共同为低电平时才能输入指令和显示位置,但如果RS也是低电平R/W为高电平时只能读忙信号,而当RS为高电平R/W则为低电平有效时才能读写数据。第6脚:E端是使能端,当E端必须从高电平跳过变为低电平才有效操作时,由液晶模块进行指令。第7~14脚:D0~D7,为8个双向数据线。第15脚:背光源正极。第16脚:背光源负极。2.31602LCD的RAM地址映射以及标准字库表LCD1602液晶模块内置的文字发生寄存器中大约储存了一百六十个各种类型的点阵文字图像,其中文字图有:阿拉伯数码、英文字母的大小来写、最常见的文字、以及日文假名等,而每一种文字图都有一种稳定的代号。它的读写操作、显示器和光标的控制,都是利用指令程序来完成的(说明:1为高电平,0为低电平)。命令为1:高清显示器,指令码一H,光标复位在地址的零H地方。指令2:将光标恢复,光标恢复到原高度零H。命令3:光标和显示器工作模式的设置I/D:光标移动方向,高电平右移,低电平有效左移。S:显示器上的每个文字是不是可以左移或是右移。高电平指示为正确,而低电平则没有。指令式4:显示器开关控制。D:控制器整体指示的开和关,高电平值有效说明开呈现,低电平值有效说明闭呈现。C:调节光标的开和关,高电平值有效指向有光标,低电平值有效指向无光标。B:调节光标有无点亮,高电平值有效闪亮,低电平值有效不闪亮。命令5:光标或显示屏偏移S/C:在高电平时移动显示屏的文字,在低电平有效时移动光标。指示6:功能选择指示DL:在高电平时为四位总线,低电平值有效时为八位总线。N:低电平值有效时为单行表示,高电平时为双行表示。F:低电平值有效时表示五X七的点阵点文字,高电平时表示五X十的点阵点文字(这些模块是DL:高电平时为八位总线,低电平时为四位总线)。指令7:字符发生器RAM地址设置。指令8:DDRAM地址设置。指令9:读取忙信号和光标位置。BF是忙标志位,如果高电平代表忙碌,此时模块系统就无法接收命令或是数据信息,而如果是低电平则有效代表不忙碌,模块系统也可以接收相应的指令和数据。指令10:写数据。指令11:读数据。液晶模组是一个慢显示器部件,所以在运行每条指示以前都必须先确定系统的忙标识是低电平,指示为不忙,否则此指示将作废。在显示字符时要先进入显示字符位置,也就要提示模块在那里显示字符。1602内部显示地址如图3.2所示:图3.21602内部显示地址液晶的基本原理是利用液晶的物理特点,并利用电流对其颜色指示范围加以控制,有了电流即有颜色表示,如此就能够表现出图像。液晶显示屏由于具备了厚度设计较薄、适用于大型的嵌入式集成电路直接驱动、以及容易达到完全彩色显示的优点,目前现已被运用于手提计算机、数字摄像机、PDA移动通信工具等多个应用领域。液晶显示模块如图3.3所示。图3.3液晶显示模块3.矩阵键盘3.1.矩阵键盘概述一个键和一个键盘,都必须经过连接电路与CPU相连接,CPU才能够通过查看网络连接状况和中断的方式知道有没有按键被按下,从而检查是什么按键被按下。不论是查找方法还是中断方法,都需要用到单片机的I/O口,但因为内嵌式单片机I/O口较小的因素,在操作系统中需要使用较多按钮,为了可以更合理更有效地使用内嵌式单片机设计的I/O口,人们通常通过矩阵按键的方法来完成较多按钮的实现。本产品设计就使用了行列式键盘,同样又可以减小键盘在和单片机连接时所占据的I/O连线的数量,当键盘特别多的时代,一般选择了这种方式。每一条水平(行线)与垂直于线(列线)的相交处并不连接,只是透过某个键来连接,使用这个行列式的矩阵构造只需N条行线和M条列线,就可以构造有N×M个按钮的键盘。在这种行列式矩阵键盘程序而非键盘程序编码的单片机控制系统中,按钮程式首先进行等待按钮和确定有无触键按下的程式段。3.2.4×4矩阵键盘的工作原理在矩阵键盘中,各条水平线与下垂线在相交处并不发生联系,而只是透过同一个按钮加以联系。如此,一根接口线(如P1口)就能够组成4*4=16个按钮,比之直观地将终端线用作按钮多出了一倍,而且线数越多,效果对比越鲜明,如图3.4所示。因此看来,当所要求的按钮数较多时,采用矩阵法来制作按钮也是很合适的。3.3.扫描原理将各个键都分成水准与下垂的二端连接,所以说如果扫描码是下垂的入,那么就表示着那一行中所接受到的扫描码就是1个bit,而读出扫描码的则是水平,扫描的基本动作就是首先进入扫描码,然后再去读出所输入的值,通过比对之后就可以了解是什么键被按下。由于这个按钮为机械式的开关,在键盘被按下时,键盘会晃动一小段时间后才平稳,为防止被单片机错误判断为多次输入了同一个键盘,所以我们就需要当检测到所有的键盘都被按下,使键盘以达到平衡状态,然后再去重新判读所按下的键盘时,就能够使整个键盘的动作进入平稳。图3.44x4矩阵键盘4.声音提示模块蜂鸣器,是由一体化材料组成的电子产品讯响器件,通过直流压力直接供电,应用在电脑、印刷机、复印机、报警器、电子产品玩具、汽车等电子设备、电话机、定时器等电子产品中作探测仪件。;蜂鸣器大致包括高压电式蜂鸣器和低电气式蜂鸣器二个类型。压电式蜂鸣器压电式蜂鸣器一般由多谐振荡器、压电传感蜂鸣片、电子阻抗匹配器及其共鸣箱、机壳等制成。多谐振荡器通常由结晶管或集合电路所组成。它在接上开关电源后,多谐温度传感器会起振,形成1.5~2.5kHZ的音频讯号,通过电阻配合设备带动压电传感蜂鸣片发射,而压电传感器蜂鸣片由锆钛酸铅或铌镁酸铅压电传感器复合塑料所构成。电磁式蜂鸣器电磁式蜂鸣器主要由振动器、电磁输入线圈、磁石、震动覆膜,以及外壳等构成。接通电源后,由振动装置所产生的声音讯号电流通过电磁线圈,使电磁线圈内部所产生的磁性。鸣声器驱动集成电路通常都包括这样的一些组成部分:一条充气三极管、一只鸣声器、以及一只限流电阻。蜂鸣器是声音元器件,在其二端使用直流输出输出电压(有源蜂鸣器)或是方波(无源蜂鸣器)就能够发音,其重要技术参数是外型规格、发音方位、工作输出电压、工作频段、工作输出电流、驱动方法(直流输出/方波)等。它们都应该按照需求来选用,蜂鸣器报警如图3.5所示。图3.5声音报警5.继电器控制模块磁继电器一般是由铁心、输入线圈中心、衔铁、触点阀簧等所构成的。若给输入线圈二端加一定的电流,则输入线圈中间也将通过一定的输出电流,从而产生了电磁效应,衔铁也将在与电磁铁相互吸引的影响下,通过回位弹簧的牵引力吸向铁心,从而带动了衔铁的动接点和静接点吸合。当输入线圈断开电后,电磁的吸力自然也随即消失了,衔铁就会在弹簧的反推动力回到原先的部位,使动接点与原先的静接点同时松开。通过这种吸合、松开,进而实现了在集成电路实际工作中的导通、截断的主要目的。而关于继电器保护中的"常开、常闭"接点,应该这么来区别:继电器保护输入线圈未接通时处在切断状况的静触点,叫做"常开触点";保持在接通状态下的静触点,称为"常闭触点"。电路设计中继电器室通常使用PNP型三极管驱动器,在额定电流阀值超过规定范围时,当单片或微型计算机会把较高电平值跳转变成较低电平值有效时,使充气三极管与导通继电器开关相吸合,继电器起开关的功能,就可以控制驱动器负荷,继电器控制如图3.6所示。图3.6继电器控制负载电路四.软件系统设计(一)主程序模块该设计由主程式、初始化程式、液晶显示屏程式、按键扫描程式、键盘功能程式、密码设置程式、EEPROM读取程序与延时程序等所组成。一般程序设计流程如图4.1所示:图4.1主程序的流程图(二)键盘扫描子程序由以下流程图中可看到,其按键辨别程序主要是利用逐行扫描法来判断是否是有键按下,当操作人员在某一列选择按键按下时,系统会自动判断按下的是哪一种键。在本设计中,以P1.0~P1.3为行输出口,以P1.4~P1.7为列输出口。初始化时将P1.0~P1.3值赋为零,将P1.4~P1.7赋为一,然后CPU就开始扫描P一端口,当P一值不为零xf零时,除了有按键被按下,也否责没有按键被按下。实际应用中,为了防止由于按键的抖动而造成一个键同时按下去被当做为二个或二次以上处理,就必须先执行按键的消抖程序设计,方法就是当有键闭合时,必须先延迟一段时间再确定是不是有键已经闭合。其流程图如图4.2所示。图4.2键盘扫描程序流程图(三)密码设置子程序因为产品设计都是分模组化进行,所以子程序也是整套应用软件体系的一部分,子程序不仅能够将程序化整为零,将其的复杂性简洁化,同时也便于读取,编辑等,因为每职能模块中都有其本身的子程序,而原本产品设计中都是用LCD表示数据,于是需要用到屏幕显示子程序,产品设计中使用的是矩阵按键,于是就用到了按键扫描显示子程序,比如还有显示与初始化子编程、用LCD忙检查子程序、禁用状况提醒子程序、打开状况提醒子程序、密码输入出错与更改状况提醒子程序、密码输入出错后的状况表示子程序等。密码修改子程序流程图如图4.3所示。图4.3设置密码子程序流程(四)显示模块子程序因为在设计中,必须能够提示密码录入页面、密码输入信息、密码正确后显示页面内容、密码错误后显示错误页面内容和更改与密码有关网页内容等的信息,从而必须通过多个显示子程序来表示不同的信息。虽然显示子进程繁多,不过因为其显示原理都相同。而且显示模块子程序主要是按照LCD1602的命令和引脚功能来编写的,因此程序逻辑上比较简单。其显示字符流程图如图4.4所示。图4.4显示字符程序流程图(五)报警子程序报警子编程的基本原理很简单,它是当用户在输入密码信息或出错频率超过系统所规定要求的最高授权频率时,不断地向蜂鸣器输出脉冲,并使其不断发声。同时,由于CPU一直以来都在给蜂鸣器供电脉冲,而无暇办理诸如密码扫描等的特殊事务,也就是说,当蜂鸣器还在告警的时候就已经完全屏蔽了按键的使用。图4-9是报警子程序流程图。图4.5为报警子程序流程图。图4.5报警子程序流程图五.PROTEUS仿真调试通过设计,在Proteus中绘制出完整的模拟电路图,并且在Keil软件中编写出相关功能的代码,将它们结合起来联合仿真一步一步的来确保编程的准确性和可行性。Keil软件和Proteus软件都是在单片机系统具体工程设计中常常使用的软件系统,经过它们的统一模拟与设计调试,可

温馨提示

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

评论

0/150

提交评论