【《基于单片机控制的保险箱密码系统设计和实现》14000字(论文)】_第1页
【《基于单片机控制的保险箱密码系统设计和实现》14000字(论文)】_第2页
【《基于单片机控制的保险箱密码系统设计和实现》14000字(论文)】_第3页
【《基于单片机控制的保险箱密码系统设计和实现》14000字(论文)】_第4页
【《基于单片机控制的保险箱密码系统设计和实现》14000字(论文)】_第5页
已阅读5页,还剩32页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

罗川:罗川:学生简易保险箱密码系统设计PAGE\*ROMANPAGE\*ROMANIV绪论1.1保险箱的简单介绍保险柜是一种由保险柜公司提供的产品,通过直接输入一个保险柜的硬件密码以及信号软件来直接进行硬件密码在电路上的操作,从而使我们能够直接控制一个保险柜中机械控制开关的闭合和机械的启动。基于微型芯片集成控制的电子产品一般可以被细分为不同的不同产品类型,简单集成电路和微型芯片集成器件的产品及其它具有较高的生产成本的低效益电子产品。从其使用经济性和技术实用性的两个角度进行考虑,本文选择了并使用了STC89C51来设计开发一种能够具有电子防盗自动化和报警控制功能的新型自动电子防盗密码锁。密码锁的整体结构设计合理,简单,易于人工操作和容易实现,价格低廉,符合城市居民使用住宅和企业办公密码锁的实际使用安全要求,并且对其具备一定的技术促进和示范推广作用,并拥有一定经济价值[1-4]。(1)系统能够设置0至9位的4到8位密码。密码必须要通过矩阵键盘才能进行输入操作,如果输入的密码是正确的,则继电器会闭合(保证钥匙锁已经被打开)。如果您的密码被锁定为错误,失败了密码的次数将会增加1,蜂鸣器将与之相对应于发生振动多次,同时LCD将会发光,如果将您的密码锁定三次以上,首次锁定时间是在解锁后30秒,在这之后您也就可以再次进行输入密码解锁,当您再次一次输入的密码被锁定为错误第二次,第二次是60秒锁定。当锁定被解除后后,您就可以重新输入密码进行解锁,照此类推。(2)可以通过按按钮重设密码。设置前必须输入旧密码,然后连续两次输入新密码。如果您错误地输入了旧密码,您将直接退出以更改密码,并且错误密码的数量将增加1。(3)密码具有互锁保护功能,锁定后释放密码的时间也具有互锁保护功能。这样可以防止外来者或小偷输入错误的密码并拔下电源,再次插入电源并重新输入密码。(4)输入或重置密码时,您可以返回,重新输入,退出等。1.2保险箱的发展趋势在我们的现实生活和平时的工作中,住所和部门,单位的档案,财务报表的保密性以及某些个人资料的保留大多是通过锁定这种方法解决的。当我们使用传统机械钥匙解锁方式来进行解锁时,人们往往不得不同时携带或使用多个钥匙,这非常不便于使用,并且因为其安全性的问题,使的人们大大减少钥匙的使用。在安全和隐私保护这个领域,随着单片机不间断的发展与创新,市面上出现了许多不同的微处理器式电子密码锁,除了使用它的基本的功能以外,各种人工智能技术和其他的安全方面的功能也被广泛地应用,因此用它使得电子密码的解锁更加安全,并且具备了较高的使用安全性和可靠度。最早的锁是由所有者自己设置的简单防止别人开锁的机制。门上最简单的锁是闩锁。在我老家园中,有一个石锁,但是什么东西都没有,而且就连钥匙都绳子或者铁链捆绑在一起。在商周时期,出现了黄铜锁和只有钥匙的钢质铁锁,并且各种金属锁通过不同的钥匙连接在一起。随着现代科学和技术不断进步,机械锁取得了质的飞跃和长足的进步。现代化的机械锁从被发明后到今天为止已经度过一百多年的历史,不同长度的销钉必须固定在锁芯上,必须要使用适合的圆齿形钥匙才能够打开相应的外线,到后来就演变成电子密码锁,磁力门锁,电子门锁,激光门锁,声音控制门锁。基于这种传统的密钥,加入了一种或几种密码,不一样的声音,不一样的磁场,不一样的声波不一样的照射光波以及不一样的影像。这些信息包括手指指纹,眼睛的瞳孔,都可以用于控制密码锁的打开[2]。中国锁的形成与发展已经历史上进行了数千年,中国锁具的发展,而中国锁的形成与发展通常被认为包括三个时期:初始阶段,发展期和成熟期。相应的最初的时期是从新石器时代到夏商时代。5000年前的中国长江运河文化中,我们的始祖先辈中国人民都已经创造设计出一种安装在半木结构高层建筑上的小型圆形木锁。它的锁可以直接说明这是迄今为止存在世界上最古老的锁第一把锁,可以说明它是当今世界上第一把锁。[2]此类锁为木锁是由人们携带的。其主要发展的历史时期涉及范围从古代春秋战国一直陆续延伸至秦汉,魏晋,南北朝,再之后发展扩大到隋唐唐宋。春秋时代我们已经开始步入了一个新的铁器时代,其中,西周之圆形青铜锁,东汉之圆形金属金银锁,唐代之圆状虾尾形金银锁和宋代之方形财神锁都已经完全具备了很高的制锁技术水平。现代的电子密码锁由于它们机械化的生产,摆脱了我们过去的手动控制方式的束缚。它不但可以进行大规模的生产和批量投入使用,而且还能够进行大规模的生产。同时,它还充分利用了现代科学技术研究制造出了磁力之锁,语音控制锁,远程控制锁,远程红外线锁,超声波锁和电磁波锁。从当前的科学技术水平和国际市场的认可程度上来看,最常见的电子密码钥匙锁键盘主要应用于保险箱,保险柜和自动柜员机。由于近年来随着人们对于产品安全性的高度重视关注和移动信息电子技术的不断进步,国内国外不断发展出现了许多的最新电子智能安全门锁产品(其中包括安全指纹识别,IC安全卡自动识别)。然而,这些商品都具有指纹信息和真实卡片的特征,仅仅可以应用到需要保护的盒子,橱柜,门等。除此之外,指纹读取器在各种公共场所中使用的时侯很难不被损坏,IC卡还有可能会很容易遗漏或者损坏。另外,价格的昂贵也也对这类产品的传播产生了一定的消极作用。考虑到当前的技术水平与市场接受程度,电子键盘型小锁被认为是我国电子防盗产品中最主要的选择。如今,随着现代信息科学和技术的不断进步,电子锁对于防止信息密码被窃取等各个方面的功能也变得愈加重要。电子密码锁主要是结合计算机技术,电子信息技术和数字密码技术的新型高科技机电结合一体化的产品。它具有使用安全性好和易于操作的优势[3]。如今,电子密码锁的发展已经达到了很高的水平,因为近年来电子部件的使用,尤其是单片微型计算机的使用是空前的,无论其功能和稳定性如何,它都允许人眼和指纹在保密方面的认可,语音识别基本上具有电影的效果。国外的发展相对较早,因此应用相对广泛,主要是在较昂贵的家庭装饰,银行,保险箱等应用场合,无论是开发还是引进,该方面在国内的发展也很快,本身在重要位置也有更多的应用程序。由于成本比普通的弹子锁贵,因此在使用的头几年变得越来越少。现在规范化越来越流行,未来的发展也将越来越为公众所接受。由于其特殊的安全功能和双重安全性,它已经拥有了其他弹子锁定器可以无法比拟的安全高度和双重安全性[5],发展前景也很高。1.3本设计将要实现的目标该设计使用单片机作为芯片,与外围电路结合形成一个电子密码系统。如果您的用户在系统中想要直接打开密码锁锁,则必须经由您所提供的按钮和键盘来输入正确密码后再进行打开。如果在系统中密码输入有误,将会自动出现安全信号提示,当在系统中密码输入有误3次后,报警器会发出振动和噪音,这样就可以用来对其进行警告。1.4研究内容及意义本课题主要研究以单片机为核心的密码系统设计,根据以往学过的专业知识并结合相关参考文献,确定总体设计方案,熟悉保险箱的工作原理,了解各部分电子元件的功能和作用,完成学生简易保险箱密码系统硬件电路和软件电路的设计,并根据相关数据制作实物对电路进行仿真。通过本次设计可以使我们对本科所学习的内容有更加深入的理解,本次设计用到了以前所学的电子技术以及程序设计等知识,从中我们可以更加深入的了解保险箱的工作原理和用途,既增强了自身的实践动手能力,又巩固了以前所学的专业知识,接触了以前没学过的新知识,弥补了专业知识上的不足之处,为以后的工作和发展积累了宝贵的经验,对以后的生活和工作有很大的帮助。2设计方案的选择本节主要是介绍了在该系统中所需要使用的各种设备选择与比较,并对其进行了全面的比较以便于选出一个最为适宜该系统的各个元件。2.1方案选择在构建硬件电路之前,有必要完善设计方案,并通过在不同模块之间进行比较来选择最适合该设计的设备,以确保最大程度地发挥该设备的作用。2.1.1主控芯片的选择方案一:主控制芯片使用的芯片是STC89C51单片机,它是由是宏晶科技有限公司生产的低功率消耗,高性能的8位CMOS微处理器。STC89C51微控制器是以MCS-51核心,并且与MCS-51指令完全兼容的。但是,与传统的51芯片微控制器相比,单片机微控制器具有更高的功率升级,因此这种芯片微控制器具有许多特殊功能。例如,该类型的芯片还必须具有4kEEPROM,如果你只是需要在一个电源已经关闭时才能够存储一些数据并且你就不再需要将其作为外部存储单元在芯片上,那么此时就可以直接选择使用这种类型的微控制器内部存储单元。STC89C51由于其易于开发,能够实现在线编程和下载以及它的价格便宜而成为许多人的选择。方案二:其中的一个主控制器的选择需要使用先进的MSP430单片机。MSP430微控制器又被广泛称为单片混合数字信号处理器,它可以使得一个单独的数字芯片之间能够同时地运行集成多个各自芯片具有不同信号特点的数字电路,模块化的信号仿真数字电路和混合微处理器。美国厂商德州仪器(TI)于1996年向中国市场业者介绍了MSP430系列混合微控制器,这系列是一款用于高效率、超低成本功耗16位精简指令集(RISC)中的混合式微信号处理器(高功耗处理器)。我们主要使用此单片机在那些需要充电的便携式设备。但是,开发相对复杂且昂贵,因此,不建议在某些简单设计中使用它。根据上面的描述,考虑到使用的复杂性和开发的费用,我决定使用微控制器STC89C51作为主控制芯片。2.1.2显示器件的选择方案一:显示器我们使用的是LCD160液晶电视显示器,LCD160液晶电视显示屏的主要特点之一是功能强大,它同时可以自动显示16*2个的英文字符,其中每个点的字符数量可以说大是小的包括多个字母,数字,特殊的一些可以自定义的特殊字符或字母标记。每一台新型LCD160显示器的文字显示数据信号均配置为5*7点矩阵,LCD160支持双线并行或双向串行的文字数据信号传输,并且非常容易控制,它的控制原理与市场上的液晶HD44780完全相同。方案二:这款显示器采用LCD1864液晶显示器,它本身拥有一个128×64中文字体库,它是4位/8位并行的,分别拥有双线或3线并行串行接口这两种模式,并且所能够显示的分辨率范围大约为128×64,汉字嵌入了8192个16*16点和128个16*8点的ASCII字符就集。如果我们使用了该模块灵活的用户界面模型和易于实现的操作说明,就可以进入到完整的中文人机交互的图形界面。它能够在图中可以分别显示8×4行,中文矩阵大小为16×16像素,并且能够直观地完成视频图形。虽然LCD1864液晶显示器的功能非常强大,但是由于显示的内容太大,这显然会浪费显示空间,并且使得该液晶的价格非常的昂贵。于以上描述,LCD1602液晶显示器更符合本设计的要求。2.1.3数据储存芯片的选择方案一:数据由EEPROM存储在微控制器中。STC89C51单片机通常具有内部指令EEPROM的读写功能,STC89C51单片机的内部指令EEPROM快速读写内部指令FLAS读写是通过ISP/IAP等读写技术可以达到的,用以快速执行内部指令EEPROM。STC89C51的EEPROM扇区大小为51个英文字节,初始地址为0x2000,大小为2k个字节。方案二:数据使用专门的AT24C02存储芯片。AT24C02是2k位串行CMOSE2PROM,它的内部包含了256个8位字节,CATALYST公司为了极大地减少和提高其设备的成本,是靠采用先进CMOS技术来完成的。AT24C02具有一个16字节的可读性页写缓冲区,这种设备在运行时是通过IIC总线的接口来控制它,使之在系统中具有特殊的书写和保护功能。因为微控制器中的EEPROM在存储数据之前必须擦除整个扇区,因此决定使用AT24C02存储芯片。2.1.4输入键盘的选择方案一:输入设备使用独立的按钮。独立按钮每个按钮对应一个功能,每个按钮必须占用一个I/O端口,因此,单片机需要检测多少个按钮才能每次检测多少次。这样,如果所需的按钮数量比较大,那么单个芯片将占用大量的微机I/O,从而导致其他设备无法连接,从而降低了按钮的响应速度。方案二:输入设备使用矩阵键盘。矩阵键盘将按键的两端分别连接到行和列线,然后用单个芯片将每行和列线连接到微处理机上,并使用程序算法确定所按下的键。尽管这大大增加了编程算法的复杂性和难度,但是却节约了微处理器I/O端口。综合上述的描述,最终还是决定采用矩阵键盘作为输入。2.2本章小结本节主要比较几种不同的解决方案,全面讨论不同类型的组件的优缺点及其在现实生活中的应用,并结合这次的设计要求来选择合适的单片机,显示器和数据存储芯片,用于系统硬件开发。3系统硬件设计系统硬件主要是单片机最小系统部分、电路总体构成以及其中包括电源输出部分、键盘输出部分,密码储存部分在内的各个部分,下面将分别给予介绍。3.1系统硬件整体方案设计3.1.1系统概述本系统设计采用STC89C51单片机作为主控芯片;可通过矩形键盘输入解锁、修改密码等操作;AT24C02用于存储密码锁的账号、密码等数据;LCD160用于显示操作和提示的内容。AT89C51电源AT89C51电源复位电路密码储存晶振电路键盘输入显示电路报警电路图3.1系统框图3.2单片机最小系统模块3.2.1STC89C51的概述STC89C51是本公司基于STC设计制造的8k节可编程模式闪存,是一款高性能、低功耗、高功耗的8位CMOS系列微控制器。虽然我们为STC89C51使用了最为经典的MCS-51内核,但已经对其性能实现了许多新的改善,以便于用户实现一些传统微型通用计算机所不具备需要所能具备的各种芯片处理功能。STC89C51为我们客户提供了非常灵活且高效地可以应用于一台具有多个智能型微处理器8的多个智能单芯片内部智能置换和控制管理系统。它主要需要以下标准的功能特性:一个8k复位闪存,一个512字节的RAM,32位矢量I/O串行端口数据线,一个复位计时器,内置一个4kEEPROM,3个16位矢量计时器/计数器,一个MAX810复位中断电路,4个外部的单级中断,一个同时具有7个单位矢量的4级串行中断端口结构(和一个相当于我们传统51的5个单位矢量的5级中断,同时可与多个串行数据端口相互进行兼容),全双工串行端口。在此之外,STC89C51还提供了一种可以低功耗到0Hz的静态逻辑运算,并同时支撑各种软件中所可选择的省电模式。在待机模式下,处理器就会停止正常工作,但是计时器/计数仪、RAM、断路器及串行端口都能够继续执行。在防止电源故障的状态模式下,将保留随机存放的信息和存储器内容,将自动冻结信息和发生器,并在硬件复位前或者中断之前暂停微控制器的全部工作。其最高工作频率的范围为35MHz,并且除此之外6T/1T还是可选的[6-8]。3.2.2最小系统电路图3.2晶振电路原理图最小型的单片机系统最熟悉且容易被人们理解的技术措辞就是要构成一个能够让单片机按照最低的组件运行。接下来,我将为大家介绍51单片机最小控制器系统所需要的必备组件及其功能。首先,对于每一个电子产品来说,电源都是非常重要的,它为整个系统的执行过程提供了一种新的能量。在本文的设计中,51单片机的实际工作电压范围在4.5V到5.5V之间可以正常工作,我们使用USB电源线将其连接到智能手机。第二种电路就是晶体振荡器的集成电路。它的XTAL1和它的XTAL2分别表示是一种独立的模拟输入和控制输出逆向集成放大器。我们可以直接考虑一个利用这种石英和电晶体将它们分别直接配置到集成片上的时钟振荡器,或者也就是我们可以直接通过外部的一个时钟驱动器件用来进行时钟驱动。图3.2由于使用内部自激时钟控制模型,即使用一个芯片的内部自激振荡发生器定时控制电路以及一个XTAL1和一个XTAL2引线管脚上的外部定时控制组件(其中包括一个石英硅电晶体和两个液晶电容器),内部自激振荡器也同样可以同时进行自激振荡。一般而言,晶体振荡器的工作频率一般可以直接控制在1.2〜12MHz之间即可进行各种选择,甚至也足以可达24MHz或者更高,但是这个频率一旦控制得愈来越高,功耗就可能会随之变得越来更大。该电子实验在一组成功的套件中所需要采用的12M石英晶体结构的电晶体。然后就是自动复位控制电路,复位控制电路主要可以分为:上电自动复位及上电开关自动复位。图3.3所示的二次自动复位控制电路主要类型包括两种简易二次复位电路方式。当上述断电时,电容器两端的最大供电量和电压都不会因此发生突然性的改变。此时,电容器的每个正负极都会被连接至一个RESET,所有的直流电压都直接将它施加至一个电阻器上。RESET的两个输入电压信号为一个高电平,芯片将对其进行高压复位。然后,+5v的输出电源向整个芯片电容器内部进行充电,其中的开源电阻上部分的输出电压逐步向下降低,最终大约为0,芯片正常工作运行,电容器的电源两端分别与两个复位充电按钮一起进行并联。当没有按下断电复位控制按钮时,该控制电路将实现上述上电复位。芯片正常启动运行后,按下一个触摸屏的开关,使用的RST引脚可使显示器变为一个高电平,以此更便于达到手动复位的效果。一般而言,只要一个RST引脚的一个高电平短路保持速度超过10ms,就已经完全可以有效地对其进行有效复位。图中所示的直流复位转换电阻和控制电容均是非常经典的数值,实际的设备生产中我们可以考虑采用相同功率数量级的电阻和电容直接进行复位代替。我们还或许可以自己地进行计算一下RC的实际充电持续时间,或者我们可以在实际需要工作的充电环境中如何进行通过真空放电测量RC的实际充电持续时间,以及如何确保整个微控制器的正常复位工作电路。图3.3为复位控制电路原理图。图3.3复位电路原理图一个完整的STC89C51单片机最小化系统集成电路框图,如下表3.4所示。图3.4STC89C51单片机最小系统3.3LCD1602液晶显示电路设计3.3.1LCD1602的概述LCD160液晶也被我们通常统称为液LCD160字符显示液晶,它们使用的液晶是点阵液晶模组,专门为我们设计的,可以在视频中显示英文字母和数字,符号等。它由几个5×7或5×11点和列矩阵的每个字符位所组合构成,每个字符点和列矩阵的每个字符位都是个可以用来表示一个列的字符,每位之间只可能会保留有一个固定点距的列间隔,并且各列中的字符之间还可能会保留有一个固定点距的行间隔,这在每个字符的的列间距和字符列表中的行间距中它都扮演着一定的表示角色和引导作用,因此,它不能很好地用其表达表示出一个图形。LCD160液晶模块采用HD44780控制器,HD44780具有简单而强大的指令集,可以实现字符移动和闪烁的功能,LCD160和MCU之间的通信可以采用8位或4位并行传输,HD44780控制器由两个8位寄存器,指令寄存器(IR)和数据寄存器(DR)忙标志(BF),显示编号RAM(DDRAM),字符发生器ROMA(CGOROM)字符发生器RAM(CGRAM),地址组成计数器RAM(AC)。IR用于注册指令代码,该指令代码只能被写入而不能被读取,DR用于注册数据,数据通过内部操作自动写入DDRAM和CGRAM,或者从DDRAM和CGRAM读取的临时存储的数据,BF为1时,LCD模块处于内部模式,不响应外部操作指令并接受数据,DDTAM用于存储显示的字符,并且可以存储80个字符代码,CGROM从8位字符代码160和5*10点矩阵生成5*7点矩阵字符,有3种字符,8位字符代码与字符之间的对应关系,CGRAM保留供用户编写特殊字符,它的容量只有64个字节,您可以自定义8个5*7点矩阵字符或4个5*10点,AC可以存储DDRAM和CGRAM的地址,如果使用指令将地址代码写入IR,IR会自动将地址代码加载到AC中,同时选择DDRAM或CGRAM,,LCD160LCD的实物图如图3.5所示。图3.5LCD1602液晶实物图3.3.2LCD1602的工作原理表3-1LCD1602操作指令对应的引脚电平读状态写指令读数据写数据输入RS=L,R/W=H,E=HRS=L,R/W=L,D0-D7=指令码,E=高脉冲RS=H,R/W=H,E=HRS=H,R/W=L,D0-D7=数据,E=高脉冲输出D0-D7=状态无D0-D7=数据无LCD160共有11个命令。MCU可以将这些命令送到LCD160用来完成一些特定的功能,例如清除屏幕,切换显示等。LCD160具有自己的字体库,需要显示时,可以选择直接通过调用字体库对其进行显示,当然,如果您的字体库中已经没有任何字符,则我们可以根据您的需要将自己的字体库中自定义的字符编码写入CGROM,自定义字符的分辨率设置为5*8,但是您仍然可以选择自定义它们,字符的参数有限,需要我们做出合理的安排和设置,您最多也可以选择自定义8个字符,将您所自定义的字符文本或字体编码写入LCD的CGROM后,您即可以任何地随意调用它,调用的方法与正常显示的字符相同。为了控制LCD1602液晶显示器,只要LCD1602处于读取状态操作,写入指令操作,读取数据操作和写入数据操作,对应于引脚电平的特定操作如表3-1所示。上表中,E为一个使用的功能终端,RS则表示为数据寄存器的选择,当RS=H时,就表示已经选择了数据寄存器;例如,当RS=L时,则在其中选择一个指令寄存器。R/W是一条信号线,当\R/W=H时可以执行一个读操作,在R/W=L时可以执行一个写操作。使用时,将D0-D7端口连接至51单片机的P0,以方便信号传输,而VL端口则连接至一台可调节的电位器,当可调电位器的位置改变时,连接到VL的电压也将相应改变,以清晰显示,程度也相应地变化,因此在实践中,应容易地调节电位计而不是固定电阻电阻器,以在不同的电压情况下使用。具体的LCD160电路图如图3.6。图3.6LCD1602电路图3.4AT24C02的介绍3.4.1AT24C02的概述AT24C02是一个2k位程序串行字节CMOSE2PROM,内部字节共计包含有256个8位串行字节。CATALYST的先进技术CMOS的技术极大地有效减少了电子设备的制造成本和设备功耗。AT24C02具有一个8字节的独立页面总线书写设备缓冲区,这台设备不仅是通过一个IIC的总线书写接口正常在线运行,并且还同时具有独立的网页书写和缓存保护文件功能。AT24C02芯片的实际物品图如图3.7所示。图3.7AT24C02芯片实物图AT24C02时钟芯片引脚功能描述见表3-2:表3-2AT24C02引脚引脚名称功能1~3A0、A1、A2当这几个脚都悬空了时,默认值设置为0。在使用AT24C02时,最多至少能够级联8个装置。如果一条总线仅对一个AT24C02进行了寻址,则这三个地址的输入引脚(A0,A1,A2)悬空或直接连接至GND,一条总线仅对一个AT24C02的输入引脚(A0,A1,A2)必需通过引脚连接至GND。4GND接电源地5SDA双向串行数据/地址引脚用于发送或接收设备的所有数据。SDA是漏极开路输出引脚,可以与其他漏极开路输出或集电极开路输出进行线或运算。6SCL串行式时钟的输入引脚是指为设备中的所有数据进行发送或者接收而使用的时钟,它也就是一个输入引脚。7WP若WP与VCC则全部文本均为可编写保护,并且文本仅可以用于读取。例如,在WP与GND,它可以使器件实现正常的阅/写运算。8VCC接+1.8V~6.0V电源3.4.2AT24C02的工作原理AT24C02容量大约为2kb,确划分大约为32页,每页8b,共256b,操作期间主要可以采用两种寻址的操作方式:片外芯片寻址和在片内的子文件地址寻址。(1)芯片寻址:AT24C02的芯片地址设置为1010,地址控制数字格式设置为1010A2A1A0R/W。A2,A1和A0分别是一个可编程的地址选取位。A2,A1和A0引脚分别被连接到一个高电平和一个低电平,以便获得一个确定的三位代码,该代号与设备的地址代码1010形成7位。R/W是一个芯片的读写运算控制位,如果此时这个位数值为0,则代表芯片正在执行读写运算;如果输出值为1,则说明芯片正在进行一次阅读操作。(2)片内子地址寻址:片内的寻址单元可以是从片内子地址中读取或直接写入内部256B中的任何一个,其寻址区域范围大约为00〜FF,共256个寻址区域。AT24C02的读/写运算操作的时序框图设计如下表3.8所示。图3.8AT24C02读/写时序图本文的设计中只使用了一颗AT24C02芯片,所以A0、A1、A2三个引脚直接接GND,WP写保护引脚一般接GND,读写操作更方便。SDA和SCL分别通过两个引脚连接到单片机的两个端口。具体电路框图结构见框图3.9图3.9AT24C02电路图3.5矩阵键盘的设计例如,当您在工作中需要使用更多的按键时,为了有效减少对单片机I/O端口的占用,这些按键通常以矩阵的形式排列,称为矩阵键盘。在矩阵键盘中,每个横纵轴并不直接相交,而是通过一个按钮连接起来。这样一个端口(比如P3端口)可以直接形成4*4=16个按键,也就是直接把一根端口线套在键盘上两次,得到的端口线越多,差别越明显。例如,如果再增加一条线,就可以直接组成一个20键的键盘,但是如果直接使用一条端口线,则只能同时增加一个键(9个键)。从这里我们可以清楚地看到,当所有需要的按键都比较大的时候,使用矩阵的方法来准备键盘是合理的。矩阵式键盘的工作原理图结构如下表3.10所示;图3.10矩阵键盘电路图4*4矩阵式键盘16个按钮相应的功能列表如图3-3所示。表3-3矩阵键盘对应功能表1 23退出输入456修改密码789重新输入输入密码0退格确定3.6蜂鸣器电路的设计图3.12蜂鸣器电路蜂鸣器采用5V电磁有源蜂鸣器。由于蜂鸣器的工作电流往往较大,不能直接用作驱动I/O口的单片机。因此,它们必须由三极管启发式或电路驱动,这里选用的8550三极管是PNP型三极管,与基极串联的1k电阻接单片机的I/O口。当I/O口输出低电平时,三极管导通,蜂鸣器蜂鸣;当I/O口输出低电平信号时,蜂鸣器蜂鸣,此时,当I/O口输出高电平时,晶体管截止,蜂鸣器暂时停止鸣叫。蜂鸣器电路如下图3.11所示。3.7继电器驱动电路设计继电器就是一个受到电源供电的电路控制的元组件。通常,它比较适合广泛应用在那些需要电机进行自动控制的通用集成电路中。简而言之,继电器就有点像是一个“自动开关”,它通过较小的电流输入自动控制较大的电流的输出。因此,继电器系统起到了自动电压调整控制电路,转换控制电路及其自动保护控制电路的重要保护作用。当我们选择使用51单片控主机来设计控制一个继电器时,由于每个单片控主机上的IO口两端口的工作输入和整个工作输出电流大约为4-20mA之间,继电器的工作输入和整个工作输出电流大约为40mA,因此不能直接控制驱动,需要在电路中增加一个放大器的电路。三极管的选择应该要符合:(1)功率PCM:5V*继电器电流的两倍(5*40mA=0.2W);(2)最大集电极电流(ICM):两倍于继电器吸合电流40mA以上;(3)耐压BV(CEO):可选比继电器的工作电压大5V,10V以上。(4)直流放大倍率:取100。图3.12继电器驱动电路本文设计中采用S8550晶体管对其进行放大,驱动电路框图如下3.12所示。例如,当单片机的IO口向二极管输出高电平时,晶体管截止,继电器截止。例如,当单片机的IO口向次级电容输出低电平时,晶体管导通,继电器闭合。3.8本章小节本章主要是对系统硬件整体方案的设计以及各模块电路的设计与介绍。根据设计要求及各元件本身固有特性,合理地设计集成电路。在单片机最小控制系统在进行设计的过程中,为了保证可靠的工作和复位,需要先选择合理的Rc值;为了提高单片机的执行率和速度,晶振元件的一部分比较靠近整个单片机越好;输出电源采用USB接口进行供电。它是利用矩形键盘方式来修改密码,利用LCD160液晶显示器和手机锁定来实现密码的显示,当密码有误后蜂鸣器和LED指示灯都会自动报警。4系统软件设计为方便对应用程序人员进行日常操作维护和系统调试,本系统设计文件中的一个所有系统应用程序都必须是完全采用了一个模块化的系统结构,由一个系统主程序和若干或一个子系统程序共同运行组成,子程序主要包括密码设计子程序和解锁子程序。主程序负责调用每一个报警子程序以同时完成用户密码的正确输入和完成报警信息显示等的功能。4.1软件介绍该设计使用KeilμVision4编程。Keilc51是一种与一家美国公司制造的微机KeilSoftware51系列全部软件兼容的小型微控制器C语言下的软件开发操作系统。与其他各种汇编语言形式相比,C形式语言在其基本功能,结构,可维修性和海量数据的准确可读性等各个方面均使其具有明显性的优势,这样就可能会显得使它更加地简单易于适合人们的快速学习和灵活运用。Keil我们拥有一个完整的系统集成化软件开发系统过程,主要流程包括C语言编译、宏编译、链接、库管理和支持高性能、仿真、调试等,并与整个集成软件开发流程环境(uVision)相结合。Keil的软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果您在设计中使用C语言编写软件,Keil软件是最佳选择,即使您不喜欢使用C语言,但仅通过使用汇编语言来编写软件,它是一个简单的易于实现和使用集成的应用环境和强大的软件仿真和调试工具可以帮助您提高效率。4.2.1总体程序流程图设计主程序的流程框图如下表4.3所示。首先连接好电源,初始化编写程序,然后再在键盘上打印好密码。系统将自动扫描到键盘,然后由启动程序对其进行保护,再次在键盘上写下密码,然后系统将对其进行扫描。和以前一样,执行该应用程序,否则,执行另外一个应用程序,最后结束程序。图4.3主程序流程图4.2.2密码设置流程图设计密码重置设定的具体流程以及框图结构如下文本表4.4所示。然后再次按下报警设置的确定按钮,然后再次重新输入一个旧的手机密码,如果还没有密码错误,将来就会产生累计三个密码错误并重新开始执行手机报警设置程序。如果两次密码输入正确,则用户可以重新输入更改自己的用户密码,确认后,再次重新更改输入的是需要重新更改的用户密码,如果两次重新输入的更改密码相同,则可以确保密码更改成功。图4.4密码设置流程图4.2.3开锁流程图设计解锁流程图如图4.5所示。首先,按下解锁按钮以输出密码。如果输入正确,则解锁成功。如果输入错误累积了三遍,将执行警报程序。图4.5开锁流程图.3部分程序代码***************************************************************/#include<reg52.h> //头文件#include<LCD1602.h>#include<AT24C02.h>#include<KEY.h>#include<INTERRUPT.h>#defineucharunsignedchar //宏定义#defineuintunsignedint#defineulongunsignedlong/**********************变量定义************************/uchara; //存储按键值ucharnum; //记录输入的密码位数ucharnums; //记录重设密码时输入的新密码位数(4~8位)bitin_f; //输入密码的标志bitreset_f; //重设密码的标志ucharerror_num; //密码错误的次数ucharreset_num; //修改密码输入次数uchartime; //记录密码被锁的时间(S)uchartime_num; //记录密码被锁的次数(最大值:8)ulonglow_mima;//解锁密码ucharmima_length;//存储密码长度ulongin_mima;//暂存输入的密码ulongnew_mima;//暂存输入新密码ucharcodeerror[]="PasswordError!";//密码错误ucharcodesucces[]="Unlocksuccess!";//解锁成功ucharcodemimasuo[]="Passwordtolock";//密码以锁ucharcodereset[]="Resetthesucces";//重设密码成功ucharcodeinmima[]="Enterpassword:";//请输入密码ucharcodenewmima[]="Newpassword:";//新密码ucharcodenewmima2[]="ConfirmPassword";//重新在输一遍ucharcodeoldmima[]="Theoldpassword";//旧密码ucharcodeshibai[]="Setupfailed!!!"; //重设密码失败ucharcodekaishi[]="Welcometouse"; //欢迎使用ucharcodekaishi2[]="codedlock"; //密码锁ucharcodedaojishi[]="Removecountdown"; //解除密码锁倒计时/****10的N次方****0*1**2***3****4*****5******6*******7*********8*******/ulongcodePOW[]={1,10,100,1000,10000,100000,1000000,10000000,100000000};4.4本章小结本章主要着重于总体程序流程图的设计,密码设计子程序程序流程图和解锁的程序流程图,以及相应程序的编写。程序中的延迟时间可以根据需要随时更改。在编译源程序之前,系统将自动处理源程序中的预处理部分。预处理命令通常包括文件包含,宏和条件编译。我们合理地使用预处理功能就可以使程序更加容易地进行修改和调试。5硬件的装置与调试设计系统的硬件和软件后,需要组装组件以进行调试,在电子产品的组装过程中,焊接是连接电子元件和电线的主要方法。准备所需的组件后,请使用焊料和电烙铁之类的焊接工具将这些组件手动焊接在一起,然后连接到电源进行调试,以查看电路是否可以正常工作。5.1元器件的选择和测量本产品在设计中使用的元件是:STC89C51单片机,晶体振荡器,电阻器,电容器,排除,按钮,开关,电源插座,电位计,发光二极管,蜂鸣器,传感器,液晶等。您也可以在我国的电子市场上选择购买该类型的组件,通过了解每个组件的引脚和特性然后对其进行焊接操作,这样就可以减少焊接损坏的概率,在进行焊接过程中,请您特别注意检查该类型组件的正负极,电阻和导线上的电容值大小和顺序以及各个芯片引脚。对于有关详细问题,通常我们可以考虑使用万用表来测量电阻比较大小,也就是我们可以通过万用表或者是色环电阻比较仪来判断电阻比较大小。电容器和晶体振荡器的大小通常在组件上标出,组件的正负可以遵循长正负的原则,通过查找信息可以找到某些特殊的组件的正极和负极。有关使用的组件的列表,请参见附录。5.2元器件的焊接和组装焊接一般可以分为三种类型:熔焊,锡(铜)焊及接触性电弧焊[11]。本文将介绍如何使用锡焊机对零部件进行焊接,镀锡机是一种使用少量锡和铅作为焊料的焊接工艺,通常的操作过程是先用铸铁将金属零件和零件的焊料加热,然后将加热的焊料润湿,金属表面凝固形成合金,待焊金属件凝固后,将焊锡连接到待焊金属件上,是最早使用和使用最广泛的焊接方法,现代社会仍占很大的比例。(1)焊接工具及材料1)电烙铁:电烙铁是用于焊接,维修和修理电子产品的最常用工具之一。根据不同的加热工艺方法,电磁炉的加热方式大致可以划分为内部加热法和外部加热法。该焊接采用内部经过高温加热的无线电烙铁,该类无线电磁炉主要包括一个烙铁头,连杆,手柄,端子和电源线组成[9]。它具有体积小,功耗低和热效率高的优点,通电2min后即可使用。2)钳子:根据钳子的功能和形状,可分为尖嘴钳,扁嘴钳,扁嘴钳等。3)镊子:镊子分为尖嘴和圆嘴。这种焊接使用的是尖嘴镊子,该镊子主要用于夹住电线和组件,以防止在焊接过程中移动。4)锡铅焊接原材料:锡铅焊接材料,它是一种容易融化的金属,其熔点要比想焊接好的金属高。5)助焊剂:焊接时使用少量助焊剂,以加快焊接速度并增强金属活性。(2)焊接步骤步骤1:正确地掌握电烙铁的把持姿势,准备好所有的焊接零件,电烙铁和其他的焊接工具,保持所有的焊锡发动机头清洗干净并进行通电加热,将所有的焊锡丝都抓在自己的左手,右手的电烙铁正在为其焊接作好准备;步骤2:对焊接件进行预热,使焊接件及各部件的销钉均匀受热;步骤3:熔化焊料,焊点温度达到要求后,将焊丝放在焊点上。这时,焊锡丝会因烙铁头的高温而熔化,并弄湿焊点。步骤4:取下焊锡丝,待熔融的锡达到一定量时,取下焊锡丝;步骤5:移除电烙铁,当焊点达到要求的润湿范围时,请移开电烙铁,然后可以按照此步骤进行焊接。完成的实际焊接如图5.1所示;图5.1焊接实物图(3)焊接注意事项1)助焊剂的挥发气味有毒。焊接时,焊头与烙铁之间应保持一定距离,并采取保护措施以长期焊接。2)为了避免高温损坏和元件和电路板的变形,烙铁头不应对焊点施加太大的力或热量太长时间。3)焊接材料数量应当适当,过多的焊料不仅可能会严重浪费成本,还可能增加焊接的时间,降低其工作率和速度并容易导致短路;太少的焊料很容易导致软弱的焊接和导线脱落。4)用手握住焊丝时,请勿太靠近焊丝的受热部位,以免烫伤。5)焊接时应确定组件的正极和负极;电路板后面的电源线应尽可能简单,导线之间不应散布和重叠,焊点表面应尽可能清洁。正电源和负电源可以通过不同颜色的电线来区分。5.3电路调试对于电脑系统应用中的各个硬件和内部电路设计的性能测试主要检验目标就是为了准确检测各个硬件电路之间的连接是否可能存在诸如漏焊,短路,断路,误接等焊,某些硬件方向性能和构件的连接位置方向是否正确,以及这个硬件电路设计的方向是否正确。焊锡缺失及组件方向误差的检测技术主要是将一个物理电路板和PCB图上的电路进行比较,并且要仔细地检查每一个组件和引脚是否出现在一个物理的对象上。如果发现不匹配或者不相符,则需要及时重新与其进行比较,以便在确认漏焊情况时及时修复焊缝。采用数码万用表对电源线进行了短路,断路及虚拟焊

温馨提示

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

评论

0/150

提交评论