密码锁设计方案.doc_第1页
密码锁设计方案.doc_第2页
密码锁设计方案.doc_第3页
密码锁设计方案.doc_第4页
密码锁设计方案.doc_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

密码锁设计方案第1章 绪论1.1 课题背景密码锁是锁的一种,开启时用的是一系列的数字或符号。密码锁的密码通常都只是排列而非真正的组合。部分密码锁只使用一个转盘,把锁内的数个碟片或凸轮转动;亦有些密码锁是转动一组数个刻有数字的拨轮圈,直接带动锁内部的机械。此单片机设计(密码锁)是一种能防止多次探密码的基于单片机的密码锁设计方案,给出了该单片机密码锁的硬件电路和软件程序,同时给出了单片机型号的选择,硬件设计,软件流程图,汇编语言源程序等内容。密码锁应用非常广泛,如生活中的密码箱等;到取款机取款时插入卡后要输入个人设定的密码;银行里的密码柜,再比如核武器在发射时也有密码的等等。很多行业的许多地方都需要密码锁,但普通密码锁的密码容易被多次试探而破译。我们的设计给出了一种能防止多次试探密码的密码锁设计方法,利用单片机控制。因为单片机不但具有体积小,成本低,控制灵活,便于产品化等特点,而且单片机具有新的发展,具体主要体现在单片机片内资源越丰富,用它构成的单片机控制系统的硬件开销就会越少,产品的体积和可靠性就会越高,所以,使用单片机系统控制密码锁,体积小,成本低,控制灵活,便于产品化,可以防止多次试探,从而有效地克服了上述缺点。1.2 本设计课题的研究现状随着电子技术的发展单片机功能的增强,出现了带微处理器的智能密码锁,它除了具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性。目前发达国家已经大规模地应用智能门禁系统,可以通过多种更加安全,更加可靠的方法来实现大门的管理。但电子密码锁在我国的应用还不广泛,主要出现在保险柜、密码箱、高级宾馆等场所,家居用的较少,究其原因,我认为有以下几点:(1)价格原因(2)厂商的推广力度不够。采用单片机制作的电子密码锁,就克服了以上的两大缺陷。其主要特点为:(1)保密性好。由于采用6位密码,随机破码率很低,并且在密码可能泄露的情况下及时更改密码,避免因人员的更替等特殊情况而使锁的安全性下降。(2)破解保护。连续三次输入错误密码将锁定键盘一段时间。(3)界面简洁,操作简单人性化,故障率低,密码输入操作简便。第2章 方案选择2.1 方案确定密码锁有以下几种类型(1)多拨式最简单的密码锁,常见于低安全设定的单车锁,使用多个拨圈。每个圈的中间有凹位。锁的中心的一条轴,上有数个凸出的齿,用来卡住拨圈。当拨圈转到正确的密码组合,锁便可以打开。这种锁是最容易打开的。很多这类锁根本无需知道密码都能开启。除非它的内部组件造得完美无瑕,否则只要把轴向外拉,其中一个齿便会比其他更为拉紧拨圈。这时轮动被拉紧的拨圈,直至听到小小的卡声,表示这个齿已进入了正确的凹位。重覆这步骤,很快便可以把锁打开。(2)单一转盘式用在挂锁或匣万上的密码锁可以是只有一个转盘。转盘推动背后数个平衡碟片或凸轮。习惯上,开启这种锁时先把转盘顺时针转到第一个数字,然後反时针转到第二个数字,如此直至最后一个数字。凸轮上通常有凹位,当转入正确的密码后,各位成一直线,锁便可以打开。这种密码锁较安全,但亦非全无缺点。例如,部分密码挂锁可以拉紧锁头,然后转动转盘直至不能再动,这样便能把密码找出。亦有些转盘密码锁的数字之间有特定关系,使到密码的组合可能性大为降低。廉价的密码挂锁可以用特别的衬片打开,而无需使用密码。(3)其他设计有些门锁上有一个数字键盘,开启时按序键入一个数字系列。这种锁是使用电子控制,常见于办工室内。优点是只要告诉员工密码便可,无须复制钥匙。它由单片机系统、矩阵键盘、LED 显示器等组成的电子密 码锁。具有开锁、超次锁定、解密、修改、保存密码、用户密码基本的密码锁 的功能,还具有调电存储、声光提示等功能。克服了普通锁需要随身携带钥匙且易丢失、 保密性差的缺点,在宾馆、办公大楼、仓库、保险柜和家庭普遍适用。 本设计中采用的是电子密码锁,基本功能如下: 电源开始后,显示器显示000000; 按#,清除显示器为000000; 更改密码时,先键入新号码再按*,即可建立新号码; 键入号码,再按D开门键,若号码与密码相符,则门会打开,否则显示器会清 除为000000; 键盘设计要求如图2-1 123A456B789C*0#D 图2-1 键盘分布图2.2 设计框图基于单片机的电子密码锁主要由单片机最小应用系统电路、键盘接口电路、数码显示电路、密码存储电路、开锁控制电路组成。各电路有其特有功能,以下将分别论述,系统功能框图如下图2-2单片机键盘输入复位晶振电源输入是否有按键按下开锁密码存储报警开锁显示图2-2 系统功能图本章小结本章主要阐述密码锁的种类和设计思路。对于密码锁主要讲述了3种密码锁的种类以及差别,并对确定的方案加以陈述,通过本章论述,使整个设计思路变的清晰,有章可循第3章 硬件设计3.1 单片机简介一、单片机的基础知识目前世界单片机的生产厂商很多,如Intel,Motorola,Philips,NEC,ADM,Zilog等公司,其主流产品有十几个系列,几百个品种。尽管其个具特色,其称各异,但作为集CPU,RAM,ROM(或EPROM),I/O接口,定时器/计数器,中断系统为一体的单片机,其原理大同小异。现以Intel公司的系列产品为列,说明个系列之间的区别。Intel公司从其生产单片机开始,发展到现在,大体上可以分为3大系列:Mcs-48系列,Mcs-51系列,Mcs-96系列。二、单片机的结构与发展单片机出现的历史并不长,它的产生与发展和微处理器的产生与发展大体相同。因此,单片机的发展阶段可以分为4个阶段。第1阶段,(1974-1976):单片机初级阶段。此阶段的单片机采用双片的形式而且功能比较简单。此时推出的8位单片机F8,只包含了8位CPU,64B RAM,一个定时/计数器和两个并行口的3851芯片才能组成一台完整的计算机。第2阶段(1976-1978):低性能单片机阶段。此阶段的单片机已经成为一台完整的计算机,但内部不够丰富。以Intel公司生产的MCS-48为代表,片内集成了8位CPU,8位定时/计数器,RAM和ROM等,但无串行口,中断系统也比较简单,片内RAM和ROM容量较小且寻址范围不大于4KB.它把单片机推向市场,促进单片机的变革。第3阶段(1978-1982):高性能单片机阶段。此阶段的单片机品种多,内部资源丰富,功能强。以Intel公司生产的MCS-51系列为代表,片内集成了8位CPU,16位定时/计数器,串行I/O口,多级中断系统,RAM和ROM等,片内RAM和ROM容量加大,寻址范围可达64KB。第4阶段(1982年-现在):8位单片机的巩固发展及16位,32位单片机推出阶段。其最大特点是增加了内部资料,实时处理能力更强。三、单片机的发展趋势(1)单片机的发展趋势是:向高性能化,大容量,微型化,外围电路内装化等方面发展。 采用双CPU结构,以提高处理速度和处理能力。 增加数据总线宽度,以提高数据处理速度和处理能力。 采用流水结构。指令以队列形式出现在CPU中,从而具有很快的运算速度。 串行总线结构。(2)存储器的发展 增加存储容量。片内RAM可达256B。片内存储器存储容量的增大有利于外围扩展电路的简化,从而提高产品的稳定性,降低产品的成本。 片内EPROM开始到EPROM平方化。 程序保密化。(3)片内I/O口改进一般单片机都有较多的并行口,以满足外围设备,芯片扩展的需要,并配有串行口,以满足多机通信功能的需要.并配有串行口,以满足多机通信功能的需要 提高并行口的驱动能力. 增加I/O口的逻辑控制功能 特殊的串行接口功能,为单片机构成网络系统提供更便于利用的条件四、单片机的特点(1)小巧灵活,成本低,研发周期短,易于产品,能利用它方便的组装成各种智能式测控设备及各种智能仪表,很容易满足仪器设备即智能化又微型化的需求(2)可靠性高,使用的温度范围宽(3)易扩展控制能力强(4)指令系统相对简单,较易掌握且指令中有较丰富的逻辑控制功能指令,能较方便地直接操作外部I/O设备五、单片机的应用目前单片机的应用已深入到国民经济的各个领域,对各个行业的技术,改造和产品的更新换代起到了重要的推动作用,由于单片机的特点决定了单片机的应用领域,:智能器仪表,机电一体化,实时控制,民用电子品等方面(1)单片机在智能仪器仪表的应用。单片机广泛地应用于实验室,交通运输工具,计量等各种仪器仪表中,使仪器仪表智能化,提高它们的测量速度和测量精度,加强控制功能,简化仪器仪表的硬件结构,便于使用,维修和改进.单片机在该领域的应用,不使传统的仪器仪表发生根本性的变革,也给传统的仪器仪表行业的改造带来了曙光和美好的前景.(2)机电一体化是机械工业发展的重要方面。机电一体化产品是集机械技术,微电子技术,自动化技术和计算机技术于一体,具有智能化特征的机电产品.能发挥它的体积小,可靠性高,控制能力强,现场安装灵活方便特点,大大提升了机器的功能,提高了机器的精度,自动化和智能化水平.(3)单片机在实时控制领域的应用单片机也可广泛地应用于各种实时控制系统中,测量和控制工业上过程控制中的各种物理参数,如转速,位移,压力,流量,等,将测量技术,自动控制技术和单片机技术相结合,能充分发挥数据处理和实时控制功能,使系统工作于最佳状态,提高系统的生产效率和产品的质量(4)在军工领域的应用利用可靠性高,适用的温度范围广,能适应各种恶劣的环境的特点,单片机可广泛应用于导弹控制,航天飞机巡航系统等领域(5)单片机在分布式多机统中应用分布式多机系统具有功能强,可靠性高的特点(6)在民用电子产品中的应用单片机在民用电子产品中的作用,能明显提高产品的性能价格比,提高产品在市场上的竞争力。单片机的应用意义远不限于它的应用范畴或由此带来的经济效益,更重要的是它已从根本上改变了传统的控制方法和设计思想。是控制技术的一次革命,是一座重要的里程碑,本次设计采用的是8051单片机。六、单片机芯片的特性及说明(1)主要特性:它与MCS-51 兼容,有4KB字节可编程闪烁存储器,寿命:1000写/擦循环,数据保留时间为10年。全静态工作时在0Hz-24Hz之间,内部RAM是128b*8位,有32可编程的I/O线,两个16位定时器/计数器,5个中断源(2)管脚说明:51单片机引脚如图3-1图3-1 单片机引脚图VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写1时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址1时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入1后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。3.2 内部时钟电路内部方式的时钟电路如下图3-2所示。利用MCS-51内部的高增益反相放大器,在XTAL1和XTAL2引脚上外接定时元件,内部振荡。定时元件一般采用石英晶体和电容组成的并联振回路。晶体可以在1.212MHZ之间任选,电容可以在530pF之间选择,电容C1和C2的大小可起频率微调的作用,电容大小要和晶体的容性负载阻搞相匹配,否则不易起振。图3-2 内部时钟电路图3.3 手动复位电路复位RST在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引脚时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。复位后P0P3口均置1引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。当复位脚由高电平变为低电平时,芯片为ROM的0000H处开始运行程序。本系统采用的是手动复位电路,。手动复位电路图如3-3所示:图3-3 手动复位电路图3.4 键盘接口电路方案的确定键盘是单片机系统中最常用的人机联系的一种设备,它由若干个按键组成,用户通过键盘向 CPU 入数据或命令以实现简单的人机通信。 对键盘的识别可分为两类:一类是由专门的硬件电路来识别(如 2376、74C922),它使用起来方便,但需要价格昂贵的芯片,单片机系统中一般不采用;另一类靠软件来识别 ,它结构简单,价格便宜,应用灵活。本设计中查询的方法识别键,优点是电路简洁,节省硬件,抗干扰能力强,应用灵活,缺点是占用较多的 CPU 时间资源。非编码键盘可以分为两种结构形式:独立式键盘和行列式键盘。本次设计中采用的是行列式键盘,可节省 I/O 口线。其工作原理是:行线 P1.0P1.3 是输入线,CPU 通过其电平的高低来判别键盘是否被按下。依次使列线 P1.4P1.7 中的一根输出为低电平,则只有与之对应的键 按下时,才能使行线为低电平。键盘接口电路图如图3-4所示:图3-4 键盘接口电路图3.5 数码管数码显示电路方案的确定七段数码显示器如图3-5所示:图3-5 七段数码显示器显示电路主要由 6 个共阳型七段数码管(SM4105)、6 只型PNP型三极管、一片74LS138 3-8线译码器以及一个7447 七段译码器组成。电路结构简单,性能稳定,使用方便。七段显示数码管(动态)工作原理:逐个地循环点亮各位显示器,也就是说在任一时刻只有 1 位显示器在显示 。LED动态显示的优点是用较少的端口,可以扩展多位LED显示器。缺点是过多的占用CPU的时间。除了LED动态显示,还有一种是LED静态显示。LED静态显示的优点是不占用CPU的时间,缺点是占用过多的输出端口。采用动态显示的数码管为了使人看到所有显示器都在显示,就得加快循环点亮各位显示器的速度(提高扫描频率) ,利用人眼的视觉残留效应,给人感觉到与全部显示器持续点亮的效果一样。一般地,每秒循环扫描不低于50次。数码管显示电路的工作原理:数码管显示时,P0.0P0.3 根据程序输出高电平或低电平,送到 7447 译码器的四个输入端,经过7447译码后由7个输出端输出,输出信号经过限流电阻(防止数码管因电流过高而损坏)送至数码管的阴极。同时,单片机的 P0.4-P0.6根据要求输出高电平或低电平,送到74LS138 的三个输入端,经译码后由输出端输出,此时,74LS138的输出端只有一位为0,使其中的一只三极管导通,引入电源,驱动与其对应的数码管,数码管工作。数码管的各发光二极管根据对应的高电平或低电平发光或不发光。每只数码管依次循环,就完成了发光电路的设计,本设计采用动态数码显示器。它的内部二极管的连接方式(共阳极)如下图3-6所示:图3-6内部二极管的连接方式(共阳极)LED数码显示器有两种连接方法:共阳极接法:把二极管的阳极连接在一起构成公共阳极,使用时公共阳极接+5V,每个发光二极管的阴极通过电阻与输入端相连。当阴极端输入低电平时,七段发光二极管就导通点亮,而输入高电平时则不点亮。共阴极接法:把二极管的阴极连接在一起构成公共阴极,使用时公共阴极接地,每个发光二极管的阳极通过电阻与输入端相连。当阳极端输入高电平时,七段发光二极管就导通点亮,而输入低电平时则不点亮。 本设计中采用的是0.5时共阳极LED数码显示器,用来显示当前正在播放的曲目号。发光二极管的导通电压为2V左右,电流为510mA,加在发光二极管与电阻之间的电压为5V,由此可算出阻值。电阻值 = (两段电压-发光二极管电压)/电流R1R6为限流电阻,避免烧坏发光二极管。得出电阻范围:300R1R6600设计中取330本设计采用的是共阳极LED显示器。数码管显示电路原理图如下3-7所示:图3-7 数码管显示电路原理图3.6 CT7447介绍适用于七段字形共阴极显示管的译码器集成电路有CT7448,CT74LS48等型号,适用于共阳极七段管的译码器有CT7447,CT74LS47等型号。7447引脚图如下图3-8所示: 图3-8 7447引脚图现以显示译码器CT7447为例作较详细的讨论。CT7447的逻辑符号示于图中:D、C、B、A:是BCD码输入信号,ag:译码输出,低电平有效/:1.熄灭信号输入。当= 0(有效)时,输出ag均为高电平1信号(全灭);2.灭零输出信号。当= 0时, = 0。 :试灯信号输入。当=0)且= 1(无效)时,不论DA状态如何,ag七段全亮。:灭零输入信号(不显示0,其它数码正常显示)。= 0(=)时,不显示数码0。3.7 74L 138译码器的运用在中规模集成电路中译码器有几种型号,使用最广的通常是74138,其是一个3到8的译码器,下图是其逻辑符号及管脚排布,下表中列出了该器件的逻辑功能,从表中可以看出其输出为低电平有效,使能端G1为高电平有效,/G2,/G3为低电平有效,当其中一个为低电平,输出端全部为1。74L138图如下图39所示:图3-9 74L138图3.8 码存储电路方案的确定密码存储电路主要由 EEPROM93C46 组成。(1)93C46 是一种存储器可以定义为 16 位ORG 引脚接 Vcc或者定义为8 位ORG引脚接GND的1K位的串行 EEPROM 每一个的存储器都可以通过DI引脚或DO引脚进行写入或读出,器件可以经受1,000,000 次的写入/擦除操作片内数据保存寿命达到100年器件可提供的封装有DIP-8 SOIC-8或TSSOP-8。(2)93C46是一个有1024位内含工业标准微处理器的非易失的存储器。93C46可以选择为16位或8位结构。当选择16位结构时,93C46有7条9位的指令用来控制对器件进行读、写和擦除操作;当选择8位结构时,93C46有7条10位的指令来控制对器件进行读、写和擦除操作。93C46的所有操作都在单电源上进行,当执行任何的写操作时内部的升压电路将提供高压给芯片。指令、地址和写入的数据在时钟信号SK的上升沿时由DI引脚输入,DO引脚除了从器件读取数据或进行写操作后查询准备/繁忙(ready/busy)的器件工作状态外,平常是高阻态的。准备/繁忙(ready/busy)是开始了一个写操作后选择器件CS为高电平后从DO引脚读的用来测定期间工作状态的信号,DO位低电平则表示写操作还没有完成。当DO为高电平时则表示器件可以输入下一条指令,此时如果有需要,可以在DI引脚移入一个高电平,DO会进入高阻态,DO引脚会在时钟SK的下降沿时进入高阻态,将DO引脚恢复高阻态值得推荐在DI和DO合用一个I/O口来读/写的应用中。所有送往器件的指令格式为一个高电平1的开始位,一个2位或4位的操作码,写入数据时的6位(当选择8位结构时为7位)以及16位数据(当选择8位结构时为8位)。(3)93C46的操作指令如下表: 读操作指令(READ)在接收到一个指令和地址(从DI引脚在时钟驱动下输入)之前,93C46的DO引脚是高阻态的。接收到读指令和地址后,DO引脚先输出一个虚拟的第电平,然后数据根据时钟信号移位输出(高位在前)。数据在时钟信号(SK)的上升沿时输出并经过一定的时间后稳定(tpDO或tpDI)。 写操作指令(WRITE)在接收到写指令、地址和数据后,片选引脚(CS)不片选芯片的时间要必须大于Tcs-min。片选引脚(CS)在下降沿的时候,器件开动自动时钟去擦除并把数据存放到指定存储器。在器件进入自动时钟的模式后时钟信号引脚(SK)的信号不是必须的93C46的准备?繁忙状态可以选择器件并测试数据输出引脚DO得到。因为器件有在写入前自动清除的特性,所以没必要在写入之前将存储器该地址的内容擦除。 擦除操作指令(ERASE)在接收到擦除指令和地址以后,片选引脚(CS)不片选芯片的时间要必须大于Tcs-min。片选引脚(CS)在下降沿的时候,器件开动自动时钟,擦除指定存储器。在器件进入自动时钟的模式后时钟信号引脚(SK)的信号不是必须的。93C46的准备/繁忙状态可以选择器件并测试数据输出引脚(DO)得到。一旦清除了,该位就回到逻辑1的状态。 擦除/写入允许(EWEN)和禁止(EWDS)操作指令93C46在上电时是默认写禁止的。任何在上电和写禁止(EWDS)指令后的写入操作都必须先发送写允许(EWEN)指令。一旦设置了写允许,它会持续有效直到断电或发送一条写禁止指令。写禁止指令用来禁止对93C46的写入和擦除操作,同时也可以防止意外的对器件进行写入和擦除。数据可以照常从器件中读取,论是写允许还是写禁止状态。 全部擦除(ERAL)在接收到全部擦除指令后,片选引脚(CS)不片选信号的时间要必须大于Tcs-min。片选引脚(CS)在下降沿的时候,器件开动自动时钟擦除存储器的所有内容。在器件进入自动时钟的模式后时钟信号引脚(SK)的信号不是必须的。93C46的准备/繁忙状态可以选择器件并测试数据输出引脚(DO)得到。一旦清除了,所有位都回到逻辑1的状态。 写全部操作指令(WRAL)在接收到写全部指令后,片选引脚(CS)不片选芯片的时间要必须大于Tcs-min。片选引脚(CS)在下降沿的时候,器件开动自动时钟把数据内容写满器件的所有存储器。在器件进入自动时钟的模式后时钟信号引脚(SK)的信号不是必须的。93C46的准备/繁忙状态可以选择器件并测试数据输出引脚(DO)得到。没有必要去在写全部之前把存储器内容擦除。93C46引脚定义如下图3-10所示:图3-10 93C46引脚定义图Vcc:电源引脚,+5V。GND:地线。CS:片选信号。在两条相临指令执行中,CS 必须最少产生 500NS 的低电平,以指明前条指令的结束。DI:数据输入端 DI 用于在串行时钟 SK 的同步下输入起始位,操作码地址和写入数据 。 DO:数据输出端。数据输出端 DO 用于在读方式中,在串行时钟 SK 的同步下输出读出的数据。SCK :时钟信号,所有操作码、址码、数据位均在 SCK 信号的上升沿输入或输出,SK 信号的最高频率为 1MHz。ORG:存储器结构选择接口,当ORG接Vcc时,存储器为16位结构。当ORG接GND时,存储器为8位结构。当ORG悬空时,内部的上拉电阻把存储器选择为16位结构。3.9 开锁控制电路方案开锁控制电路主要由整流二极管、继电器、三极管等组成。其优点是结构简单,成本低,操作简便。开锁控制电路的原理:当 P2 口输出“0”时,连接 VCC 的 10K 电阻将三极管的基极钳位在高电平,三极管导通,继电器流过电流,开始动作,继而开锁。开锁控制电路图如下图3-11所示: 图3-11 开锁控制电路图本章小结本章主要介绍了硬件电路的设计,主要包括单片机控制单元、数码管显示单元、输入单元、存储单元。单片机控制单元主要包括AT89C51单片机的详细介绍,内部控制和各个接口电路以及译码器的介绍。通过本章的论述,可全面了解本设计的硬件设计第4章 子密码锁软件系统设计4.1 程序功能(1)主程序功能:主要完成初始化、设置中断向量、检查有无按键按下,以及调用显示等。(2)键盘扫描及识别子程序功能:键盘采用查询方式,放在主程序中,当没有按键按下时,单片机循环主程序,一旦有键按下,便转向相应的子程序处理,之后再返回。(3)调用存储程序功能:比较密码时,需要读 93C46 程序,将存储在芯片内的数据读到 RAM 中,然后和输入密码相比较,当修改密码时,需要把输入的密码保存到 93C46 中。按键分布图如下图4-1所示图4-1 按键分布图(4) 显示子程序功能:当识别到C键时,可显示密码,当需要清除显示器时,可调用 显示程序,使数码管显示000000。(5) 编码设计:(6) 各地址 RAM 的分配:20H ADR4;EEPROM93C46 的地址;21H FLG0;判断 93C4600 地址的内容是否为 01(已设定密码),00 表示93C46 中未存密码,01 表示已存有密码;22H ;寄存器;30H35H;密码存储地址;36H38H;显示器地址;3CH ;93C46 读/写存放高 8 位数据地址;3DH ;93C46 读/写存放低 8 位数据地址;3EH ;寄存器。 4.2 程序框图()主程序框图如下图4-2所示:图4-2主程序框图(2)键识别子程序框图如下图4-3所示:按键值与密码相同吗是否是是否否是否是否是是否按C消除抖动至TABLE取按键值是否按* 载入按键值载入按键值显示按键值键盘扫描令开锁动作清 除设定新密码清除显示密码是否按D按键放开否是否按#图4-3 键识别子程序框图(3)显示子程序框图如下图4-4所示:是否密码地址传送给R0C键是否放开延 时返 回调用显示子程序图4-4 显示子程序框图(4)设定新密码程序框图如下图4-5所示:是否标志位是否为1 将密码存入93C46 01-03H93C46 00地址写入01H延 时返回清除显示值存入密码地址图4-5 设定新密码程序框图(5)密码比较子程序框图如下图4-6所示:是否按键值与密码值比较密码是否相同开 锁延 时返回清除图4-6 密码比较子程序框图(6)掉电存储子程序框图如下图4-7所示:93C46初始化依ACC值跳至相关地址读写写使能写禁止图4-7 掉电存储子程序框图本章小结本章主要介绍了整个设计的程序流程图。程序流程图是设计编程的总体思想,方便系统的了解程序的框架结构。通过本章的阐述,可对整个设计的软件部分一个具体的了解。第5章 软件调试5.1 软件调试方法软件调试与所选用的软件结构有关,如果采用模块程序设计技术,则逐个任务进行调试。对于模块结构程序,要一个个子程序分别调试。调试时,一定要符合入口条件和出口条件,调试可用单步运行和断点运行方式,通过检查用户系统的CPU现场情况、RAM的内容和I/O口的状态,检测程序执行结果是否符合设计要求,有无死循环错误、有无机器码错误以及转移地址的错误,同时还可以发现用户系统中存在的硬件设计错误和软件算法错误,各程序模块调试通过后,则可以把相关功能块连在一起进行总调,这个阶段若有故障,可以考虑各子程序运行时是否破坏了现场、缓冲单元、工作寄存器是否正常等等,若系统是在开发机的监控程序下运行时,还要考虑缓冲单元是否和监控程序的工作单元发生冲突。5.2 软件调试环境一 、Keil C51简介Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。(1)Keil C51开发系统基本知识: 系统概述:Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍Keil C51开发系统各部分功能和使用。 Keil C51单片机软件开发系统的整体结构,C51工具包的整体结构。其中uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及C51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。(2)使用独立的Keil仿真器时,注意事项: 仿真器标配11.0592MHz的晶振,但用户可以在仿真器上的晶振插孔中换插其他频率的晶振。 仿真器上的复位按钮只复位仿真芯片,不复位目标系统。 仿真芯片的31脚(/EA)已接至高电平,所以仿真时只能使用片内ROM,不能使用片外ROM;但仿真器外引插针中的31脚并不与仿真芯片的31脚相连,故该仿真器仍可插入到扩展有外部ROM(其CPU的/EA引脚接至低电平)的目标系统中使用。二、 Proteus软件简介 Proteus软件是英国Labcenter electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。 (1)Proteus软件具有其它EDA工具软件(例:multisim)的功能。这些功能是: 原理布图。 PCB自动或人工布线。 SPICE电路仿真(革命性的特点 ) (2)电路功能仿真:在Proteus绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在Proteus的原理图中看到模拟的实物运行状态和过程。Proteus是单片机课堂教学的先进助手。Proteus不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。课程设计、毕业设计是学生走向就业的重要实践环节。由于Proteus提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台。(3)随着科技的发展,“计算机仿真技术”已成为许多设计部门重要的前期设计手段。它具有设计灵活,结果、过程的统一的特点。可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。相信在单片机开发应用中Proteus也能茯得愈来愈广泛的应用。使用Proteus 软件进行单片机系统仿真设计, 是虚拟仿真技术和计算机多媒体技术相结合的综合运用,有利于培养学生的电路设计能力及仿真软件的操作能力。实践证明,在使用 Proteus 进行系统仿真开发成功之后再进行实际制作,能极大提高单片机系统设计效率。因此,Proteus 有较高的推广利用价值。目前Proteus的最新版为7.7 sp2,今年将推出8.0版本,增加DSP系列及ARM cortex处理器。本章小结本章主要介绍了软调试过程中,应用到的工具及调试环境。详细的说明了各软件的功能和使用技巧。还讲述了在调试过程中主要遇到的问题及解决方法。对调试的整个过程,进行了一个系统的概述。通过本章,我回顾了自己在设计中犯下的错误,丰富了自己的实践经验。对解决问题的方法不断的总结,对自己的将来的工作一定会有很大的帮助和提高。结 论一、 主要工作及结论(1)熟悉AT89C51单片机功能及工作特性,掌握其接口扩展方法。(2)对键盘和显示器进行选型比较,得出各种型号优劣比。(3)采用面向对象的思想,分层次、分模块构建设计的总体框架。二、 存在的问题(1)电子电路的设计中对各种影响因素的考虑不够完全,比如在对过电压情况的处理中未作防范措施。(2)系统设计不够优化,有待改善。比如系统的超量程信号直接由单片机送入报警电路,没有设计保护电路再入单片机处理后送入报警电路。(3)没有扩展更多电路,如日历时钟电路、通讯接口电路等。(4)对各种实用芯片价格了解不够,选择上任有欠缺。这些都为我今后的学习和工作留下了积极的影响。致 谢过两个多月的忙碌和工作,本次毕业论文设计已经接近尾声,作为一个本科生的毕业论文,由于经验的匮乏,难免有许多考虑不周全的地方,但是在导师的谆谆教导下,以及周围同学的一起努力下,最终还是顺利完成了本次的设计任务。通过此次设计,我在软、硬件设计与测试方面有很大收获。 感谢学院和计算机系提供的良好的开发环境和设备。 感谢我的导师,徐秋景老师在我毕业设计的各个阶段,给我提出了许多宝贵的建议,不厌其烦的为我解答一个又一个的疑问,在我整个毕业设计的基础知识指导与设计思想方面,给了我很大的帮助。没有他的支持与帮助,我无法顺利完成毕业设计。他严谨的治学态度和渊博的知识储备,不但令我敬佩,同时也给我留下了深刻的印象。 感谢各位热心的同学在我的需求分析、总体设计及程序测试阶段对我的帮助。感谢学院实训楼的管理员老师为我们的毕业设计提供的方便。感谢我所使用的参考文献的编写及翻译者,他们的研究与探索,使我的毕业设计能够顺利地完成。参考文献1 于殿泓. 王新年单片机原理与程序设计实验教程M西安:西安电子科技大学出版社,2007. 82 赵文博. 刘文涛单片机语言C51程序设计M北京:人民邮电出版社,2005. 103 周航慈. 单片机应用程序设计技术M. 北京:北京航空航天大学出版社,2011. 24 李朝青. 单片机原理及接口技术M. 北京:北京航空航天大学出版社, 2005. 105 孙育才. MCS-51系列单片微型计算机及其应用M. 东南大学出版社, 2004.66 沈红卫. 单片机应用系统设计实力与分析M. 北京:北京航空航天大学出版社,2003.7 Nishino S F. Paoli G C,Spain J C. Aerobic degradation of dinitroto-luenes and pathway for bacterial degradation of 2,6-dinitrotoluene Volume 66,2006.8 Kennes C,W M Wu,L Bhatnagar et al. Anaerobic dechlorination and mineralization of PCP and 2,4,6-trichlorophenol by the methanogenic PCP-degrading granules Volume 44,2004.9 彭为. 单片机典型系统设计实例精讲M. 北京:电子工业出版社,2006.10 潘永雄. 新编单片机原理与应用M. 西安:西安电子科技大学出版社,2003.11 童诗白. 华成英. 模拟电子技术基础M. 北京:高等教育出版社,2000.12 樊昌. 曹丽娜. 通信原理M. 北京:国防工业出版社,2007.附录1 译文单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。单片机也被称为微控制器(Microcontroller),是因为它最早被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。早期的单片机都是8位或4位的。其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端1的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可用它来做一些控制电器一类不是很复杂的工作足矣了。我们现在用的全自动滚筒洗衣机、排烟罩、VCD

温馨提示

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

最新文档

评论

0/150

提交评论