


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录摘要IAbstractII1 课题研究背景意义及内容11.1 课题研究的背景意义11.2 主要内容22 方案论证与选择32.1 方案的对比介绍32.1.1方案一32.1.2 方案二42.1.3 本方案设计53 系统总体设计方案63.1总体设计63.2系统性能描述64系统硬件结构与实现74.1 AT89C52单片机简介74.1.1 AT89C52的总体概述74.1.2 主要性能参数74.1.3 功能特性概述74.1.4 AT89C52单片机的自身外围电路原理图94.2 单片机的电源部分104.3 X25045芯片的原理及与AT89C52的接口电路114.3.1 X25045芯片简介114.3.2X25045工作原理124.3.3 X25045芯片的功能特性124.3.4 X25045的读写时序图134.3.5 X25045看门狗电路设计154.3.6 X25045芯片的编程164.3.7X25045芯片SPI总线接口技术应用174.4 驱动芯片ULN2003的原理特性184.4.1 ULN2003概述与特点184.4.2 ULN2003驱动芯片与继电器接口的常见问题184.4.3 单片机与ULN2003的外围接口电路194.5 MAX7219与LED的相关介绍194.5.1 MAX7219的特性概述194.5.2MAX7219的工作原理204.5.3 MAX7219硬件电路设计204.5.4 MAX7219工作时序及其寄存器224.5.5 显示器与寄存器数据位的对应关系234.5.7 MAX7219的编程技术244.6 继电器的设计以及与单片机的接口设计274.6.1 电路设计原理图274.6.2 继电器电路工作原理284.6.3 电路设计说明284.7 报警电路的设计以及与单片机的接口设计28471 电路设计原理图284.7.2 报警电路的功能及其原理294.8 键盘的设计以及与单片机的接口设计294.9 系统的原理图305 软件部分315.1 主程序设计流程315.1.1 电子密码锁的软件设计315.2 分块程序设计流程325.3 显示部分的流程图335.4部分中断服务处理子程序336 系统的抗干扰措施357 系统调试与结果分析367.1 调试环境367.2调试结果与分析总结367.3 系统的调试中出现的问题与解决办法37结束语38致 谢39参考文献4042 摘要介绍了一种基于单片机和X25045芯片电子密码锁。将该电子密码锁加入到某设备中的某一环节中去,就可以实现在规定的时间内使设备正常的工作,超过此时间后则使设备停止正常的工作。文中比较了几种不同的设计方案,详细描述了该方案设计优点之处。给出了系统的硬件设计的总体方案,提出了系统设计研究要解决的几个关键性问题。简要地概述了各个芯片的功能特性,重点地介绍了单片机的、X25045和 MAX7219芯片的功能特性。画出了各个芯片的外围接口电路的硬件设计原理图,分析了各个模块电路设计中的一些常见问题以及给出系统的软件设计方案的流程图和部分主要的程序。为了保证该电子密码锁能够稳定的工作而采取了一些列的硬件抗干扰和软件抗干扰的相关措施.总结了调试过程中各种常见问题,提出了有建设意义的改进措施。调试运行的结果表明硬件电路设计良好,软件设计方案安全可靠,值得广泛的推广。关键词:AT89C52单片机 X25045 可擦除存储器 驱动芯片MAX7219AbstractThis paper introduces a password lock based on single-chip microcontroller and x25045. If put this electronic password lock into a certain equipment of a particular session, then can made the equipment within the stipulated time normal work, when over the time it will enable the equipment to stop their normal work. Compared with several different design programs, it detailed describes the advantages of this design program. This paper also describes the system hardware design of the overall program, and raised several key issues of the system design. A brief overview of the various chip features, focus on the functional features of SCM, X25045 and MAX7219 chip. Depict hardware design circuit diagram of the various external interface chip, Analysis of some common problems when the various modules of the circuit design and given out flow chart to the software design program of the system and part of the main procedure. To ensure that the electronic code to work stably take out some measures related to the hardware anti-jamming and software anti-jamming. Summed up some common problems of the debugging process, raise a meaningful improvement measures.Commissioning of the operation results show good hardware design, software design safe, reliable, and deserves to be widely promoted. Keywords: AT89C52 single-chip microcontroller X25045 Electrically erasable programmable Rom Driver chip MAX72191 课题研究背景意义及内容1.1 课题研究的背景意义随着社会物质财富的日益增长,安全防盗以及诚信问题已成为社会问题。而锁自古以来就是把守门户的铁将军,人们对它要求甚高,既要安全可靠地防盗,又要使用方便,这也是制锁者长期以来研制的主题。弹子锁由于结构上的局限已难以满足当前社会管理和防盗要求,随着计算机技术和微电子技术在工程中的应用日趋广泛,电子密码锁是一种电子保安产品,早在本世纪50年代后期,瑞士己将电子密码锁应用与车库大门上。60年代,美国率先使用的电子自动提款机也应用了电子密码锁。70年代末期,我国亦开始了电子密码锁的研制和试生产。随着科学技术的发展与成熟,在此基础上发展起来的电子密码锁无论是在抗入侵、使用简单、保密效果好和微功耗等方面,还是在实现新的时代环境下为建设和谐社会,发展节约型和环保型经济等方面都有很大的帮助和贡献。今天的电子密码锁电子自动智能控制系统中应用最为普遍的电子产品之一,是工业控制、商业贸易,也是随着新技术的出现而不断革新的前沿性产品。在日常生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。为满足人们对锁的使用要求,增加其安全性, 用密码代替钥匙的密码锁应运而生。在我门今天建设和谐社会,发展节约型和环保型经济的浪潮中电子密码锁也得到了广泛的应用。在我们当今的社会的一些商品交易中,购买设备一般采取分期付款的方式,但是存在一些客观或者主观等方面的问题,商家在卖出设备后,很难在规定的时间内收取剩余的设备款项,因此,商家必须花大量的时间和精力来追讨剩余的货款基于此情况下可以利用X25045的特性设计出硬件锁,将该锁加入到设备的某个环节中去,就可以实现在规定的时间内使设备正常工作,超过此时间则是设备停止工作,以次达到追收剩余贷款的目的,这样可以给商家带来很多方便,同时也是社会诚信的一种推动力,此电子密码锁还可以广泛的应用的一些酒店客户管理,以及一些工业设计等各个方面。该电子密码锁性能有:1该电子密码锁的保密性好,由于采用4位密码,随机破解密码码率很低,并能随时更改密码,就避免因工作人员的变化而使电子密码锁的安全性下降。 2具有密码错误输入保护,当你三次输入错误密码后系统就会发出报警信号并封闭主控电路。 3该电子密码锁在前人的基础上采用了一种性能可靠的芯片-X25045芯片,这样就可以防止系统掉电后密码的丢失,给系统造成巨大的损失。 4次电子密码锁的结构简洁,故障率低,而且采用独立小键盘密码输入或修改操作就更加的简便。5其通用性强,可根据实际的需要,安装在不同的设备及其工控工程中。 6. 本电子密码琐的设计简单、实用且成本低,可以广泛的得到推广,具有美好 的前景 1.2 主要内容 利用美国Xicor公司的新型产品X25045芯片,以及AT89C52单片机,通过键盘来设定分级密码,同时用户通过键盘来输入密码,然后通过MAX7219芯片来驱动LED显示,如果密码正确就进入相应的服务处理程序,单片机通过uln2003芯片来驱动继电器工作,以此来控制负载的工作,如果密码不正确单片机会驱动绿色的发光二级管点亮来构成一个报警电路来提示用户。 主要研究的内容是:(1)AT89C52单片机、X25045、ULN2003、MAX7219 各个芯片的外围电路的接口设计,以及个芯片与单片机的接口设计。(2)ULN2003怎样驱动继电器工作。(3)MAX7219怎样驱动LED显示。(4)密码是怎么设定。(5)怎样实现人机对话。(6)怎样防止恶性的试探密码。(7)怎样解决掉电保护。(8)ULN2003是否可以驱动继电器(9)独立小键盘的设计。(10)对各个芯片的软件编程设计。2 方案论证与选择2.1 方案的对比介绍2.1.1方案一该电路的设计思路可简单的总结为:上锁前,先由键盘设置密码,开锁时,键入所设置好的密码号,由单片机系统接收后,与所设置的密码进行比较,若键入的密码正确,则起动电磁阀驱动电路,打开锁栓,反之,若键入的密码不正确,则闭锁电磁阀驱动电路,锁栓无法打开,且蜂鸣器发出“嘀嘀声”。如果丢失或者忘记密码,必须先用钥匙清零后,才可将锁栓打开。根据此思路,实现该方案的硬件电路如图1所示。图1电路结构框图单片机最小系统该部分采用MSC - 51 之8031 芯片作为主芯片,外扩2864 芯片作为程序及数据存储器芯片,使微机最小系统的结构简化。键盘及显示键盘及显示采用扩展8155 芯片的方式实现,8155 芯片的A、B 口驱动两片BIC8718 芯片用于驱动8 位7 段LED 数码管,使使用者在设置密码时显示所设置的密码数,显示时间为5 秒,如果想终止显示,可按中止按钮。显示结束后,往后的操作不再显示所设密码,除非重新设置密码时。键盘采用8155C口的Pc1 、Pc2两条口线与A口的8 条口线组成,共有16个键位,分别为:09 十个数字键、设置键、设置结束键、清零键、重试键、终止显示键、开锁键。上电键和上锁键独立于8155 口线之外,因此,该设备的总键数为18 个。 80318155BIC8718振荡及驱动电路键 盘LEDBIC871电磁阀驱动电路外部扩展存储器2864上电复位电路图 1 电路结构框图此方案的总结:该装置的密码位数为18 位,灵活多变,被非使用者解码的可能性极小,即使“清零”,仍须用专用钥匙才能将锁打开,不失为一种较好的方案。但是也存在一定的不足之处系统没有掉电保护的功能,这样系统一旦掉电后就回丢失密码的相关信息,而且8031单片机已经被淘汰,其性能不能很好的满足系统设计的要求。2.1.2 方案二基于两组编码状态机的耦合逻辑设计。图2为一对耦合编码状态的示例 0100000101000010000010000000100001100000010100001000000010010011001000101(a) (b)图 2 一对耦合编码状态图2一个锁心编码状态机的示例图2 中(a) 和(b) 是两个相互独立的状态机,小圆圈对应状态机的某个确定状态, 圈内4 bit 长的二进制字串为该状态的编码, 图中弧线为状态转移线, 是单向不可逆的; 弧线上数字为对应的状态转换序号。两组状态机在输入解锁意图码的驱动下单向分时步进, 当输入错误的意图码时, 两组状态机耦合时出现干涉。实现用两组状态机在该接触点的编码做逻辑“与”运算, 结果是否为“0000”来判断。若非“0000”, 将立即给出自毁信号, 使电子安全密码解锁不能继续工作, 从而实现了其“误码锁定”功能。输入一位正确的解锁意图码, 就能得到一次正确的耦合运算( “与”) 结( “0000”) , 逐位鉴别均通过, 意味着解成功, 同时输出一个控制信号。以下是系统设计硬件原理图如图3所示: 启动复位电路过去状态判断电路AVR 单片 机稳压电路晶振电路74HC07自毁电路驱动控制电路负载密码输入电路图 3 系统设计硬件原理图总结:基于微机械加工工艺的微型机械安全密码锁, 由于微机械组件加工、组装等方面的困难, 实现成本高。本文介绍的新型电子安全密码锁具有与他一致的密码鉴别原理,由于全电子实现, 具有设计实现简便、密码装定灵活、制造成本低廉等优点。但是, 从安全性角度考虑, 本型电子安全密码锁系统在后续执行器的接口点上, 存在着“单点失效”的安全性隐患, 也就是有可能从该点旁路电子安全密码锁。对此, 在实际应用时, 应根据具体情况, 采取相应的措施。2.1.3 本方案设计采用X25045芯片,以及AT89C52单片机,ULN2003,MAX7219,LED,继电器等组成:密码输入电路;密码设置电路;启动复位;报警电路;输出显示电路来实现密码的设定和随时地更该密码控制系统的工作,实现人机对话对话的界面。在系统上电后,可以通过键盘随时的修改,设定密码,以及设定、修改定时的时间参数。当系统定时到后报警电路会给客户提示定时时间已经到了,如果客户不能通过键盘来正确的输入第二级密码,系统就会通过单片机的P2.4口输出高电平通过ULN2003放大且反向后来驱动继电器触头由常闭到常开的动作,负载就不能正常的工作,如果客户正确的输入了第二级密码后系统会进入第二级定时工作,以及第三级定时工作,如果三级定时都能完成后,系统就进入永久正常工作的状态。3 系统总体设计方案3.1总体设计MCU采用Atmel公司的AT89C52单片机,它的P2.0、P2.1、P2.2、P2.3分别与X25045的片选端、串行输出、串行时钟和串行输入相连,二者的RESET引脚相连。X25045内部E2PROM的读写操作,是通过X25045的串行外围接口(SPI)总线实现的,由于AP89C51内部没有SPI总线接口控制器,因此通过AP89C52的P2.0、P2.1、P2.2、P2.3分别模拟SPI总线的数据输出、串行时钟、数据输入时序来实现对X25045的操作。按键输入部分由mode、inc、dec、enter键组成,用来完成密码和定时时间的设定;LED显示部分采用4位LED显示密码和定时时间及相关的控制信息;输出部分由8位并行口P2输出,经驱动电路驱动继电器工作,当P2口输出低电平时,继电器线圈得电工作。如果采用单刀双掷电器,根据触点的断开与闭合关系,有256种输出状态,相应的就有256种密码,把继电器的接触点接入产品或设备的相应环境中,便可控制其工作状态,这其中只有一种密码才能使产品或设备正常工作。如果采用两个8位并行口,则密码可达65536种,大大提高了硬件锁的可靠性。报警输出部分为发光二极管,正常工作时,二极管熄灭,当到达规定的定时时间时,二极管以一定的频率闪烁,提醒用户已到支付剩余贷款的时候了。硬件方框图如下图4所示:MCUAT89C52LED显示驱动动继电器编码输出负载报警系统X25045键盘输入图 4 硬件方框图3.2系统性能描述该电子密码锁的性能特点:1保密性好,由于采用4位密码,随机破解密码码率很低,并能随时更改密码就避免因工作人员的变化而使电子密码锁的安全性下降。 2错误密码输入保护。三次输入错误密码系统就会发出报警信号并封闭主控电路。 3采用X25045芯片可以防止掉电密码丢失。 4结构简洁,故障率低,采用独立小键盘密码输入操作简便。 5通用性强,可根据需要,安装在不同的设备上。 6. 本方案简单实用且成本低。4系统硬件结构与实现4.1 AT89C52单片机简介4.1.1 AT89C52的总体概述AT89C52 是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含8k bytes的可反复擦写的只读程序存储器(PEROM)和256 bytes 的随机存取数据存储器(RAM),器件采用ATMEL公司的高密读、非易失性存储技术生产,与标准 MCS-51 指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大,AT89C52 单片机适合于许多较为复杂控制应用场合。 4.1.2 主要性能参数与MCS-51 产品指令和引脚完全兼容 8k字可重擦写Flash闪速存储器 1000次擦写周期 全静态操作:0Hz24MHz 三级加密程序存储器 2568 字内部 RAM 32个可编程IO 口线 3个16位定时计数器 8个中断源 可编程串行UART 通道 低功耗空闲和掉电模式 图 5引脚如图5所示: 图 5 单片机引脚图4.1.3 功能特性概述 AT89C52 提供以下标准功能:8k字Flash闪速存储器,256字内部RAM,32个IO 口线,3个16位定时计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时AT89C52可降至0Hz的静态逻辑操作,并支持两种软件可选的电工作模式。空闲方式停止CPU的工作,但允许RAM,定时计数器,串行通信口及中断系统继续工作。掉电方式保存 RAM 中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。 P0 口:P0口是一组8位漏极开路型双向IO 口,也即地址数据总线复用口。作为输出口用时,每位能吸收电流的方式动8个TTL逻辑门电路,对端口P0写l时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低 8 位)和数据总线复用,在访问期间激活内部上拉电阻。在 Flash 编程时,P0 口接收指令字。而在程序校验时,输出指令字,校验时,要求外接上拉电阻。 P1 口:P1 是一个带内部上拉电阻的8位双向IO口,P1的输出缓冲级可动(吸收或输出电流)4个TTL逻辑门电路。对端口写l通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(ILI)。与AT89C5l不同之处是,P1.0和P1.1还可分别作为定时计数器2的外部计数输入(P1.0T2)和输入(P1.1T2EX)。参见表1。Flash 编程和程序校验期间,Pl 接收低 8 位地址。P1.0和P1.1的第二功能如下表1所示:引脚号功能特性P1.0T2(定时/计数器2外部记数脉冲输入),时钟输出P1.1T2EX(定时/记数2埔获/重装触发和方向控制)表 1 P1.0和P1.1的第二功能表P2 口:P2 是一个带有内部上拉电阻的8位双向 IO 口,P2 的输出缓冲级可动(吸收或输出电流)4个TTL逻辑门电路。对端口P2写l,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(ILI)。在访问外部程序存储器或 16 位地址的外部数据存储器(例如执行 MOVXDPTR 指令)时,P2 口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行 MOVXRI 指令)时,P2口输出P2锁存器的内容。Flash 编程或校验时,P2亦接收高位地址和一些控制信号。 RST:复位输入。当振荡器工作时,RST 引脚出现两个机器周期以上高电平将使单片机复位。 EAVPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000HFFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位 LB1 被编程,复位时内部会锁存EA端状态。如 EA 端为高电平(接 Vcc 端),CPU 则执行内部程序存储器中的指令。XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。定时器 0 和定时器 1,定时器 2:定时和计数功能由特殊功能寄存器TMOD的控制位C/T 进行选择这两个定时/计数器有4 种操作模式通过TMOD的M1和M0选择两个定时/计数器的模式0、1和2都相同模式3不同如下所述:模式0:将定时器设置成模式0时类似8088定时器即8位计数器带32分频的预分频器,模式0工作方式下定时器寄存器配置为13 位寄存器当计数从全为1翻转为全为0时定时器中断标志位TFn置位当TRn=1同时GATE=0或INTn=1时定时器计数置位GATE时允许由外部输入INTn该13位寄存器包含THn全部8个位及TLn的低5位TLn的高3位不定可将其忽略置位运行标志TRn不能清零此寄存器模式0 的操作对于定时器0及定时器1都是相同的两个不同的GATE 位TMOD.7 和TMOD.3分别分配给定时器0及定时器1模式1:除了使用了THn及TLn全部16位外其它与模式0相同模式2:此模式下定时器寄存器作为可自动重装的8 位计数器TLn ,TLn 的溢出不仅置位TFn而且将THn内容重新装入TLnTHn内容由软件预置重装时THn内容不变模式2 的操作对于定时器0及定时器1是相同的模式3:中定时器1停止计数效果与将TR1设置为0 相同。此模式下定时器0 的TL0 及TH0作为两个独立的8位计数器,模式3时的定时器0逻辑TL0占用定时器0的控制位C/T GATE TR0 INT0 及TF0 TH0 限定为定时器功能计数器周期占用定时器1的TR1及TF1此时TH0 控制定时器1中断模式3可用于需要一个额外的8位定时器的场合定时器0工作于模式3时80C52看似有3个定时器/计数器当定时器0工作于模式3时定时器1可通过开关进入/退出模式3,它仍可用作串行端口的波特率发生器或者应用于任何不要求中断的场合中断:AT89C52 共有6个中断向量:两个外中断(INT0 和 INT1),3个定时器中断(定时器 0、1、2)和串行口中断。这些中断源可通过分别设置专用寄存器IE的置位或清0来控制每一个中断的允许或禁止。IE也有一个总禁止位EA,它能控制所有中断的允许或禁止。表2 中断允许标志寄存器(IE)EA-ET2ESET1EX1ET0EX0表2 中断允许标志寄存器(IE)EA=0时,禁止所有中断 EA=1时,各中断的允许或禁止取决于各中断控制位的状态时钟振荡器: AT89C52 中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和 XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器。外接石英晶体(或陶瓷谐振器)及电容Cl、C2 接在放大器的反馈回路中构成并联振荡电路。对外接电容C1、C2 虽然没有十分严格的要求,但电容容量的大小会影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性,如果使用石英晶体,推荐电容使用30pF10pF,而如使用陶瓷谐振器建议选40pF10F。 4.1.4 AT89C52单片机的自身外围电路原理图下图6是单片机的自身外围电路。AT89C52采用12.000HZ的晶振来提供时钟频率,/VPP在设计的过程中考虑电磁干扰就加上一个0.01UF旁路电容,增加了系统的抗干扰能力。电源部分利用LM7805稳压芯片来提供稳定的+5V电压。图 6 单片机自身外部原理图4.2 单片机的电源部分 单片机的电源部分采用LM7805芯片来设计完成,为系统提供稳定的+5V电压,供系统稳定且正常的工作。由于系统是要+5V的直流电工作,所以我门要将交流变为直流,因此需要在引入外部电源是加上整流滤波电路,考虑高平信号的干扰,在设计的过程中要防止干扰的问题,故在稳压芯片LM7805滤波电容,这样就可以得到稳定的+5V电压,保证系统稳定的工作。其电路原理图如图7所示:图 7 电源部分原理图4.3 X25045芯片的原理及与AT89C52的接口电路4.3.1 X25045芯片简介X25045是一种将可编程看门狗、电压监控、E2PROM集于一体的多功能CPU指控芯片。该芯片是美国Xicor公司的新型产品,具有体积小、占用单片机系统资源少等优点,应用于系统中可以简化单片机系统的设计,并完善其性能。该芯片为双列直插式8脚封装,相应的引脚功能如表3所示。表2 X25045 引脚功能引脚号引脚名称功能说明1CS/WDI片选输入/看门狗输入2SO串行输入3WP写保护输入4VSS地5SI串行输入6SCK串行时钟输入7RESET复位输入8VCC电源电压表3 X25045 的引脚功能X25045引脚如图8所示:图8 X25045引脚图4.3.2 X25045工作原理 X25045内含5128的串行E2PROM,可以直接与微控制器的I/O口串行相接。X25045内有一个位指令寄存器,该寄存器可以通过SI来访问。数据在SCK的上升沿由时钟同步输入,在整个工作期内,必须是低电平且必须是高电平。如果在看门狗定时器预置的超时时间内没有总线的活动,那么X25045将提供复位信号输出。 X25045内部有一个“写使能”锁存器,在执行写操作之前该锁存器必须被置位,在写周期完成之后,该锁存器自动复位。 X25045还有一个状态寄存器,用来提供X25045状态信息以及设置块保护和看门狗的超时功能。指令名及指令格式如表4所示。指令名指令格式操作WREN00000110设置写使能锁存器(允许写操作)WRDI00000100复位写使能锁存器(禁止写操作)RDSR00000101读状态寄存器WRSR00000001写状态寄存器READ0000A8011把开始于所选地址的存储器中的数据读出WRITE0000A8010把数据写入开始于所选地址的存储器表4 X25045指令及其含义4.3.3 X25045芯片的功能特性X25045主要实现以下4种功能:(1)上电复位控制。在系统刚开始上电时,RESET引脚引出有效的复位信号,并至少保持200ms统可靠复位。(2)电源电压监测。当监测到电源电压低于内部门槛电压VTRIP时,RESET引脚引出有效的复位信号,直到电源电压高于内部门槛电压VTRIP,且至少保持200ms,复位信号才撤消,使系统恢复正常工作。(3)看门狗定时器。芯片内部的状态寄存器的WDO、WDI是看门狗定时设置位,通过写状态寄存器指令WRSR修改这两个标志位,就可以实现3种定时时间选择或关闭定时器。(4)串行E2PROM。芯片具有采用CMOS工艺制造的512字节串行E2PROM,它的每个字节可擦写10万次以上,内部数据可保存100年以上,具有抵功耗、长寿命、可编程锁定等功能。X25045设计以下3种保护方式防止误写:WP写保护引脚,当引脚被拉低时,内部存储单元状态寄存器都禁止写入;存储区域写保护模式,通过对状态寄存器的BL1、BL0位的设置,可以选择对不同存储区域的写保护;在进行任何写操作之前都必须打开写使能开关,而且在上电初始化或写操作完成后写使能自动关闭。通过这几种方式,可有效地防止误写操作。X25045内部有一个8位指令寄存器,该寄存器可以通过引脚SI来访问,数据在串行时钟输入的上升沿由时钟同步输入。另外,对芯片的所有操作都需要通过对该寄存器的写命令来完成。其中的操作主要有:设置写使能锁存器允许写、复位写使能锁存器禁止写、读写状态寄存器,从所选地址开始的存储器中。在执行写操之前,写使能锁存器必须被置位,在写操作完成后该寄存器必须被复位。X25045有一个状态存储器,可以用来提供X25045的状态信息以及设置块保护和看门狗的超时功能。WTP位表示X25045是否在向E2PROM写数据。该位为1,表示正在进行写操作,此时不能向其写数据;反之,则没有进行写操作,可向其写数据。WEL位是写使能锁存器的状态位,可由指令进行复位和置位操作,写使能锁存器被复位。时向其写操作被禁止由WREN指令可以对状态寄存器中的BL0、BL1、WD0、WD1进行设置。BL0和BL1位确定E2PROM的块保护地址范围;WD0和WD1位是看门狗超时功能设定位,可设置不同的周期(典型值1.4s、600ms、200ms),当WD0和WD1同时为1时,功能被禁止。4.3.4 X25045的读写时序图以下X25045的读时序图:(a) 读E2PROM的时序(b) 读状态寄存器的时序 以下X25045的写时序图:(a)写使能锁存器的时序(b)字节写操作的时序X25045中有5128的串行E2PROM,通过X25045的、SCK、SI、SO等引脚控制对X25045的读写,X25045的读写操作过程及时序前面已作了详细介绍,这里重点讨论单片机对X25045的编程。 首先置位写使能锁存器,然后发送写操作指令,紧接着发送E2PROM的地址和需写入的数据,在输入数据之后将置高,一般经2ms的延时,则数据被写入E2PROM中,也可以通过检测状态寄存器的WIP位来判定写操作是否完成,若WIP位为高,表示写操作正在进行,需继续检测,一直到WIP位变低为止,这时对X25045的编程工作即告完成。4.3.5 X25045看门狗电路设计X25045硬件连接图如图9所示。X25045芯片内包含有一个看门狗定时器,可通过软件预置系统的监控时间。图2电路中,CPU的复位信号共有3个:上电复位(C3、R1),人工复位(S1、R1)和Watchdog复位(C3、R1),通过或门综合后加到RESET端。C3、R1的时间常数不必太大,有数百微秒即可,因为这时CPU的振荡器已经在工作。图9 X25045看门狗电路硬件连接图看门狗定时器的预置时间是通过X25045的状态寄存器的相应位来设定的。如表5所示,X25045状态寄存器共有6位有含义,其中WD1、WD0和看门狗电路有关,其余位和EEPROM的工作设置有关,表5 X25045状态寄存器。D7D6D5D4D3D2D1D0XXWD1WD0BL1BL0WELWIP表5 X25045状态寄存器WD10,WD0=0,预置时间为1.4s。WD10,WD0=1,预置时间为0.6s。WD11,WD0=0,预置时间为0.2s。WD11,WD0=1,禁止看门狗工作。看门狗电路的定时时间长短可由具体应用程序的循环周期决定,通常比系统正常工作时最大循环周期的时间略长即可。编程时,可在软件的合适地方加一条喂狗指令,使看门狗的定时时间永远达不到预置时间,系统就不会复位而正常工作。当系统跑飞,用软件陷阱等别的方法无法捕捉回程序时,则看门狗定时时间很快增长到预置时间,迫使系统复位。4.3.6 X25045芯片的编程#include reg52.hsbit cs=P20;/*片选信号由P1.2产生*/sbit sck=P21; /*时钟信号由P1.3 产生*/sbit si=P22; /*SI由P1.0产生*/sbit so=P23; /*SO由P1.1产生*/sbit c=ACC7; /*定义位变量*/bdata unsigned CHAR com;void tran() /*发送一字节数据子函数*/ unsigned char i; for(i=0; i8; i+) ACC=com; /*将数据放入a中*/ si=c; sck=0; /*sck产生一个上跳变*/ sck=1; com=com1; /*左移一位*/ return; main() com=0x06; /*发写读使能命令*/ cs=0; tran(); cs=1; com=0x01; /*发写状态字命令*/ cs=0; tran(); com=0x00; /*定时1.4s*/ tran(); cs=1;.;系统正常运行的程序部分 需要注意的是,在程序正常运行的时候,应该在适当的地方加一条喂狗指令,使系统正常运行时的定时时间达不到预置时间。系统就不会复位。喂狗指令如下:main() .;系统正常运行的程序部分 cs=0; /*产生cs脉冲*/ cs=1; 4.3.7 X25045芯片SPI总线接口技术应用 SPI(Serial Peripheral Interface,串行外设接口)总线系统是一种同步串行外设接口,允MCU与各种外为设备以串行方式进行通信。外围设备包括简单的 TTL移位寄存器(用作并行输入或输出口)、复杂的LCD显示驱动器或A/D转换器等。SPI系统可以这直接与各个厂家生产的多种标准的外围设备接口,它使用4条线即串行时钟线(SCK)、主机输入、从机输出输出数据线MISO(简写为SO)、主机输出、从机输入数据线MOSI9简写为SI)和低电平有效的从机选择线SS(或OE)。由于SPI系统总线只需34根数据线和控制线既可扩展具有SPI接口的各种I/O器件,而并行总线扩展方法需要8根数据线、816位地址线、23位控制线,因此,采用SPI总线接口可以简化电路设计,节省很多常规电路中的接口器件和I/O口线,提高设计的可靠性。SPI总线可以在软件的控制下构成各种复杂或简单的系统:利用SPI总线可在软件的控制下构成各种系统。如1个主MCU和几个从MCU、几个从MCU相互连接构成多主机系统(分布式系统)、1个主MCU和1个或几个从I/O设备所构成的各种系统等。在大多数应用场合,可使用1个MCU作为控机来控制数据,并向1个或几个从外围器件传送该数据。从器件只有在主机发命令时才能接收或发送数据。其数据的传输格式是高位(MSB)在前,低位(LSB)在后。SPI总线接口系统的典型结构如图1所示。在把SPI与各种不同行I/O芯片相连时,必须使用每片的允许控制器,这可以用MCU的I/O端口来控制。此时应特别注意这些串行I/O芯片的输入特性。 (1)输入芯片的串行数据输出是否有三态控制。平时末选中芯片的输出端口应处于高态。若没有三态控制,应外加三态控制门,否则MCU的MISO端只能连接一个输入芯片。 (2)输出芯片的串行数据输入是否允许控制器,即只有在该芯片允许SCK脉冲再把串行数据输入该芯片:芯片仅只时,SCK对芯片无影响。若没有允许控制端,应在外部用门电路对SCK进行控制后,再加到芯片的时钟控制端,或者SOI只连接一个新片,不能在连接其他输入或输出芯片。 一般的MCS-51系列单片机没有SPI接口,这时可用软件来模拟SPI操作,包括串行时钟、数据输入输出。对于不同的串行接口外围芯片,它们的时钟时序不同。X25045与AT89C52单片机就是采用SPI总线接口进行通信的。 4.4 驱动芯片ULN2003的原理特性4.4.1 ULN2003概述与特点ULN2003 是高耐压、大电流达林顿陈列,由七个硅NPN 达林顿管组成。该电路的特点如下:ULN2003的每一对达林顿都串联一个2.7K 的基极电阻,在5V 的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。ULN2003工作电压高,工作电流大,灌电流可达500mA,并且能够在关闭态时承受50V的电压,输出还可以在高负载电流并行运行。ULN2003引脚图如图10所示:图 10 ULN2003 引脚图4.4.2 ULN2003驱动芯片与继电器接口的常见问题ULN2003是集成达林顿管IC,内部还集成了一个消线圈反电动势的二极管,可用来驱动继电器的。它的输出端允许通过电流为200mA,饱和压降VCE 约1V左右,耐压BVCEO 约为36V。用户输出口的外接负载可根据以上参数估算。采用集电极开路输出,输出电流大,故可直接驱动继电器或固体继电器,也可直接驱动低压灯泡。通常单片机驱动ULN2003时,上拉2K的电阻较为合适,同时,COM引脚应该悬空或接电源。一般的情况下单片机可以直接驱动ULN2003,不过ULN2003需要1mA的驱动电流,可以加个1K-2k的上拉电阻由于各种单片机驱动能力都有差别,最好都加加上拉电阻4.4.3 单片机与ULN2003的外围接口电路 如图11所示ULN2003芯片与单片机的P2.4口相连接,由于P2口自身有内置上拉电阻,就不必外加上拉电阻,同样可以保证AT89C52单片机都够驱动ULN2003芯片正常的工作。在实际的电路的设计中可以将闲置的输入口都上拉那样抗干扰的能力更好,但考虑其干扰不是很大,系统连线简单就没有将2-8号引脚上拉。图 11单片机与ULN2003的外围电路4.5 MAX7219与LED的相关介绍4.5.1 MAX7219的特性概述 MAX7219是美国MAXIM公司推出的多功能串行LED显示驱动器,采用3线串行接口传送数据,可直接与单片机接口。它内含硬件动态扫描显示控制,每片可驱动8个LED数码管,因此可直接驱动64段LED条图显示器。显示的数据通过单片机数据处理(如量程标定,线性化,漂移处理等)后送至MAX7219,因而显示结果更加准确可信。 MAX7219是一款串行共阴极数码管动态扫描显示驱动芯片,其峰值段电流可达40mA,最高串行扫描频率为10MHz,典型扫描频率为1.3kHz,仅使用3线串行接口传送数据,可直接与单片机接口,用户可以方便的修改其内部参数以实现多位LED显示。它内含硬件动态扫描显示控制电路,每片芯片可驱动8位共阴极LED或64独立的LED。MAX7219能够驱动8个LED,可方便地对每位LED进行独立控制、刷新、不需要重写整个显示器寄存器。 外围电路仅需一个电阻即可设定峰值段电流,可用于亮度调节,同时也支持软件方式调整显示亮度。通信方式选用串行数据方式,可与任何一种单片机方便的接口,仅使用单片机的3个I/O口即可完成8位LED数码管的现实和驱动。 可设置为低功耗模式,此模式下单片机仍可对其传送数据和修改控制方式,而且
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025北京新能源车指标租赁及服务保障协议合同
- 2025年度生产线生产线设备安装劳务外包合同
- 说明文阅读课件
- 红酒的基本知识培训课件
- 语表五级小鸭子课件
- 语文知识培训加盟课件
- 诗词鉴赏说课课件
- 人力资源招聘流程模板及候选人评估标准
- 红河化妆知识培训课件
- 商业地产策划服务协议
- 2025云南昆明巫家坝建设发展有限责任公司及下属公司第三季度招聘23人笔试备考试题及答案解析
- 2025年分步重复光刻机项目发展计划
- 2025年探伤工(二级)重点难点考试试卷
- (正式版)DB15∕T 385-2020 《行业用水定额》
- 村级财务业务知识培训课件
- 药品停产管理办法
- 2025年《临床输血技术规范》
- 2025年江苏无锡离婚协议书
- 人员管理办法格式范本
- 北京员工待岗管理办法
- 2025年国家电投校园招聘笔试考点考试题库及答案
评论
0/150
提交评论