基于AT89C2051单片机的电子密码锁设计.doc_第1页
基于AT89C2051单片机的电子密码锁设计.doc_第2页
基于AT89C2051单片机的电子密码锁设计.doc_第3页
基于AT89C2051单片机的电子密码锁设计.doc_第4页
基于AT89C2051单片机的电子密码锁设计.doc_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

龙岩学院本科毕业论文(设计)开题报告学院:物理与机电工程学院专业:电子信息工程 课题名称基于AT89C2051单片机的电子密码锁设计姓名蔡金兰学号200402212指导教师张卫平职称学历讲师一、 开展本课题的意义及工作内容:该电子密码锁是一种实用型机,电一体化设计,该设计采用单片机密码识别及信号输出控制,提高了整体电路的稳定性和可靠性,并且简化了硬件电路的设计。由EPROM(24C02)构成的密码存储器可防止主机在断电的时候将用户的设置密码丢失,更增加了其安全系数。该电路主要由两大部分组成,其一是软件控制部分,由烧入AT89C2051芯片的程序来控制电路的工作过程,当芯片检测到外部键盘输入的密码和EPROM中存储的密码不相同时,则计数错误的次数,够满三次则自动报警,而与存储的密码相同则发送开锁信号,实现开锁功能;其二是硬件工作电路,主要由输入键盘、电子锁和报警电路组成,键盘输入部分是用来输入及重置密码的功能,报警电路是当检测到三次输入密码错误时发出报警来实现提示作用的,电子锁主要就是生活中所用到的机械装置,在本次设计中用LED显示来替代。当发出灯亮时来表示开锁功能。二、 课题工作的总体安排及进度:1月28日前:在老师的指导下完成选题工作及提交开题报告2月23日3月8日:初步完成所有资料的搜索,并且整理出电路原理图,分析其可得性及可能存在的问题,向老师请求指导,进行理论上的检测及修改3月9日3月16日:完成硬件电路的连接与调试,并作必要的调整3月17日3月27日:根硬件电路的设计特点及其实现的功能要求完成软件流程图的描画及程序的编写,向指导老师汇报情况并交中期报告3月28日4月8日:主要完成硬件和软件的结合调试,由硬件和软件的部分到总体的连接调试,分析其中的正误与原因4月9日4月15日:主要完成设计论文的编者编写,并向指导老师汇报情况,且交上论文初稿,请求老师给予初步修改4月16日4月22日:主要完成论文的修改,并交上最终的论文4月23日4月25日:将完整的设计再次学习一遍,准备答辩三、 课题预期达到的效果: 该设计是基于AT89C2051单片机的电子密码锁设计,是一种机电一体化设计的实例,其要求当外部键盘输入的密码和存储器中所存的密码相同时则实现自动开锁功能,而当输入三次都是错误时则实现报警功能,具有防止被子多次试探而破解密码的功能,即完善了市场上机械锁的不便又减少的因多试而被破的缺陷四、 指导教师意见:签名: 年 月 日不够填写可续页摘要:该电子密码锁是一种实用型的机、电一体化设计,采用单片机密码识别及信号输出控制,提高了整体电路的稳定性和可靠性,并且简化了硬件电路的设计。由EPROM(24C02)构成的密码存储器可防止主机在断电的时候将用户的设置密码丢失,更增加了其安全系数。该设计是基于AT89C2051的单片机的电子密码锁设计,主要是通过芯片的程序内容来控制电路的工作方式,其中包括AT89C2051芯片,24C02闪存芯片,键盘输入模块,电子锁模块等模块,当AT89C2051检测到有密码输入时就将其和闪存中的密码相比较,如果相同则传送开锁信号到电子锁模块电路,实现开锁功能,而当检测到三次输入密码都不正确时则输出报警信号,同是禁止密码输入功能,即实现了防多次试探的可能性,其安全性能有了明显的提高。关键词:AT89C2051芯片,EPROM(24C02)芯片,电子锁,3*4键盘第一章绪论11背景随着社会物质财富的日益增长和人们生活水平的提高,安全成为现代居民最关心的问题之一。而锁自古以来就是把守门户的铁将军,人们对它要求甚高,即要安全可靠地防盗,又要使用方便,这也是制锁者长期以来研制的主题。传统的门锁既要备有大量的钥匙,又要担心钥匙丢失的麻烦。另外,如:宾馆、办公大楼、仓库、保险柜等由于人员的变动,开锁的钥匙也不再是只有一人拥有。 购得新居的家庭,由于装修施工等入住时也要把原有的锁胆更换,况且钥匙随身携带也诸多不便。随着单片机的问世,出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智化管理、专业分析系统等功能,从而使密码锁具有很高的安全性,可靠性。目前西方发达国家已经大量地应用智能门禁系统,可以通过多种的更加安全更加方便可靠的方法来实现大门的管理。但电子密码锁在我国的应用还不广泛,成本还很高,希望通过不断的努力使电子密码锁能够在我国得到广泛的应用,这也是一个国家生活水平的体现。12电子密码锁本系统采用单片机作控制器,系统工作时,用户通过按键输入8位密码,按下“确认”键后,单片机将输入密码与设定密码进行比较,若密码正确,则发出开锁信号,将锁打开,系统不报警;若密码不正确,则有相应的指示灯闪动,并要求重新输入密码,重新输入密码的次数不能超过3次,若3次输入的密码都不正确,则发出报警信号。锁打开后还可通过按下“修改/重置”功能键,重新设置新密码。参考文献313电子密码锁的特点该技术采用单片机密码识别及信号输出控制,提高了整体电路的稳定性和可靠性,并且简化了硬件电路的设计。由EPROM(24C02)构成的密码存储器可防止主机在断电的时候将用户的设置密码丢失,更增加了其安全系数。该技术中独特的电子锁完善了目前市场上普遍采用的电子锁具有不防撬、容易被破坏的缺陷,将整体的安全系数明显提高。参考文献114键盘式电子密码锁的发展趋势从目前的技术水平和市场院认可程度看,使用最为广泛的是键盘式电子密码锁,该产品主要应用于保险箱、保险柜和金库,还有一部分应用天保管箱和运钞车。键盘式电子密码锁在键盘上输入,与打电话着不多,困而易于掌握,其突出优点是“密码”是记在被授权人脑子里的数字和字符,既准确又可靠,不会丢失(除了忘得(,难以被窃(除非自己泄露)。但是密码不能太简单,太简单了就容易被他人在键盘上试探出来,或者输入密码操作成功率低,造成使用不便。当然,密码又不能太复杂,太复杂了可能自己都糊涂了,或者输入密码操作成功率低,造成使用不便。因此,为了发扬优点、克服弱点,键盘式电子密码也在不断发展中,如“任意设定密码”技术使得被授权人可以根据自己的需要或喜好设定密码,常用常新;而“自动更改密码”技术使得本次输入的密码将自动更改成下次应输入的密码,更改的规律不为他人所知,因而不怕旁观者窥测;独出心裁的“键盘乱序显示”技术使得键盘上的固定键们每次显示出的字符不固定,并用显示的窄小角度只能由操作者正面看得到,因而即使旁观者看见操作动作也难于窥测出密码;“多重密码设定”技术使得单组密码不一定有效,适合多人分权使用,需要输入两组以上的密码才被认可,大大提高了保密性,如果限定输入这些密码的先后顺充不一样或时间区段,则保密性还可提高。在输入密码的过程中,为了限制试探密码的企图,通常输入错误码若干次或若干时间内输入不正确,即“封锁”键盘,不再接受输入操作。总之,尽管新式电子防盗锁层出不穷,但键盘式电子防盗锁仍然“老树发新芽”,不仅在市场上居于主流地位,而且,还经常作为其他类型电子防盗锁的辅助输入手段。参考文献9第二章电路功能及设计思想2 1电路设计的功能要求:211系统设有八位原始密码,使用期间,用户还可以自行更改密码的功能。212当键盘有输入密码时,电路则将输入密码和原始密码进行比较,如果相同则实现开锁,错误则自动刷新,实现允许重新输入功能。213断电后不丢失密码214连续三次输入密码错误将立刻发出报警信号(即防破译功能)。22基本设计思路该设计主要用到AT89C2051芯片和24C02芯片,AT89C2051来控制电路的工作电路,通过AT89C2051编辑程序来实现控制硬件电路的工作方式。实现由键盘输入密码后,AT89C2051扫描输入键,将输入的密码和EPROM中存储的密码进行比较,当相同时即输出开锁信号,即电路实现开锁,而当不相等时则计数错误次数,且显示重新输入状态,三次输入错误则发出报警,其工作的原理方案如下图所示:4*3键盘矩阵LD显示 单 片 机报警 电路EPROM闪存 图2-1设计总体方案图第三章 设计方案论证31基于AT89C2051单片机的电子密码锁设计选择AT89C2051 作为主控制器。其特点如下: 2kB闪存、128BRAM、15根I/O口线、2个16位定时/计数器、5个向量二级中断结构、1个全双工的串行口,具有4. 255. 50V的电压工作范围和12MHz/24MHz工作频率,同时还具有加密阵列的二级程序存储器加锁、掉电和时钟电路等,可掉电保存RAM的内容,故系统掉电时无需增加掉电保护电路。因此,系统硬件设计非常简单。132 采用 CMOS实现的数字电子密码锁设计数字密码锁具有操作简便、保密性的特点, 而采用 集成电路组成数字CMOS锁控制装置, 更兼有电源范围宽、功耗低、工作可靠的优点, 可广泛用于家庭及保险等场合, 是目前比较理想的保安锁具。数字密码锁的实际控制对象是电磁锁的电磁线圈, 可规定线圈断电为落锁或加锁, 线圈通电为开锁。电磁线圈一般为交流线圈( 特殊情况下也可采用直流线圈 ), 可用数字密码电路驱动中间继电器来控制其电流通断。其原理方框图如下所示:6报警器电磁锁电磁锁驱动电路报警器驱动电路 Y N Y内外单键落锁 电路室内单键开锁解除报警密码判别电路室外开锁密码判别电路 Y有效 3位 8位 Y 有效解除密码输入电路室外开锁密码输入电路密码输入计数电路按键电路 图3-1利用CMOS设计的电子密码锁原理方框图33采用nSPTM凌阳单片机的电子密码锁设计nSPTM单片机就是基于SOC的新型的数/模混合的系统级芯片。在一个芯片内集成了单片机数据采集或控制系统所需的模拟和数字外设及其它功能部件。凌阳公司推出的单片机有8位、16位共50多种不同的IC芯片型号及其产品,以适用于不同的应用领域,用户可根据需要选择相应的单片机系统。凌阳单片机顺应了单片机技术的发展趋势,其系统芯片具有集成度高、数/模混合、功能全、低功耗、低电压和易于开发等特点。另外,凌阳单片机还增加了适合于DSP的某些特殊指令;有些系列的单片机还嵌入了LCD控制/驱动和双音多频发生器功能。这些都进一步扩大了单片机的应用范围。 凌阳公司为nSPTM单片机的应用开发提供了较为完善的开发支持工具:硬件工具和软件工具。硬件工具即为nSPTMCPU系统仿真板,用于程序的二进制代码的下载调试;软件工具按其操作系统分为DOS环境下的分立工具和Windows环境下操作的集成工具。开发系统提供了高性能的C语言编译器 Gcc,它采用符合ANSI标准的C语言编程,并提供了C语言的编程函数库(CLib)。开发系统中还提供了凌阳公司推出的按照凌阳音频编码方法进行语音压缩算法的SCAMLib算法库,用于开发和实现芯片的语音功能,从而使得凌阳单片机在数字信号及语音识别应用领域中显示出更大的优越性。1034综合分析由于我们在校学习的单片机是MCS51单片机,而凌阳单片机的指令和MCS51有较大的区别,对于我的这次设计只要求完成信号的检测与控制传输的功能,完全可以使用MCS51单片机来实现,而不需要花大量的时间在学习一种新型单片机上面,所以不采用凌阳单片机来完成。基于CMOS的数字电子密码锁设计主要是因为它的硬件电路比较复杂,其不需要用到程序,单纯的应用多种逻辑电子器件来实现,即可以做到总体设计简单,但是由于其整体使用的是硬件电路,所以总的电路原理比较庞大,而且根据以往的实验经验,我们知道因为硬件电路的可靠性不高,很容易就受到搬拆等过程而使信用降低。MCS51是一个可以比较容易实现的方案选择,但由于我的此次设计用到的只有键盘的输入算法和报警信号的输出两个主要功能模块,所以对于MCS51来说其四十个管脚只用到了一半的管脚,所以在这里我选了和MCS51的功能和指令可以兼容的只有二十个管脚的AT89C2051芯片来完成该设计。第四章 基于AT89C2051单片机的电子密码锁的总体电路设计4基于AT89C2051芯片的电子密码锁设计该电子设计主要内容包括:单片机程序控制、外部扩展存储器、数字输入键盘、终端执行电路、防破译自动报警电路、电压整流及稳压输出等部分组成。其用到的元器件清单如附录1电子密码锁的总体原理图如下图所示: 图4-1 电子密码锁的总原理图该电路采用AT89C2051单片机,该单片机通用性强,性能稳定、适合于设计中小型控制程序。芯片的P1.0P1.6为外置密码键盘的纵向输入线和横向输入线。P1.7口为正常开锁信号控制端,P3.7口为防破译密码告警端。P3.2口为密码存储启动开关。当整体电路供电后,只要按动“KX”键(电子锁电压转换开关),电子锁就会提供反向电压,于是电子锁的锁栓被自动推出锁体。89C2051单片机上电后,便开始检测是否有外部密码输入,如有输入则等待按(#)键盘确认。确认后单片机就立即将输入的密码锁与保存的密码进行比较,比较后如密码相等单片机的P1.7口就会输出一低电平信号(开锁信号),于是Q1正向导通,L1触点吸合,此时便给电子锁的微电机提供了正向电压,于是锁栓被推入锁体内,电子锁被打开。开锁时,单片机P1.7口输出开锁电平信号的时间要与锁栓复位所需要的时间相同。如果单片机检测到输入的密码与保存的密码比较后不相同,便会输出一声较长的提示音。此后假若又连续两次输入错误的密码,单片机的P3.7口会输出低电平信号。由Q2、Q3组成的复合功率驱动电路得到正偏置电压后,就会驱动报警器发出报警声,报警2分钟后单片机的P3.7口停止输出报警信号,单片机又重新开始等待测输入的密码。由Q4、C6、Y1、R10、R11、R12组成“有效按键”提示音,每当键盘中的任何一个键按下后,经单片机确认为有效按键时,单片机的P3.3口就会输出0.2秒的音频信号。此信号经C6、Q4耦合放大后,Y1便发出提示音。当连续2次输入错误密码时,P3.3口输出0.5秒的音频信号以作警告。K1为修改密码启动开关,当需要修改现有密码时,应先输入新的密码,然后按动K1键,单片机就将新输入的密码带替原来的密码。外部存储器(24C02)的作用是保存输入的密码。当每次输入新的密码后,单片机就会通过去时数据线将这组密码写入24C02中。即使停止供电,24C02中所保存的密码也不会丢失。当恢复正常供电后,单片机可随时从24C02中读取保存的密码。其中各模块的工作原理:4 1 AT89C2051芯片模块AT89C2051是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含2K bytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机丰收取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储音元 主要性能指标:。与MCS51产品指令系统完全兼容。2K字节可重擦写闪速存储器。1000次擦写周期。2.76V的工作电压范围。全静态操作:0HZ24HZ。两级加密程序存储器样。128字节内部。个可编程口线。两个位定时计数器。个中断源。可编程串行通道。可直接驱动的输出端口。内置一个模拟比较器。低功耗空闲和掉电模式 PDIP/SOIC1 20 2 19 3 184 175 166 157 148 139 1210 11 RST/VPP VCC (RXD)P3.0 P1.7 (TXD)P3.1 P1.6 XTAL2 P1.5 XTAL1 P1.4 (INT0)P3.2 P1.3 (INT1)P3.3 P1.2 (T0)P3.4 P1.1(AIN1) (T1)P3.5 P1.0(AIN0) GND P3.7图4-2 AT89C2051芯片管脚图411功能特性概述:AT89C2051提供以下标准功能:字节lash闪速存储器,128字节内部RAM,15个/O口,两个16位定时计数器,一个向量两级中断结构,一个全双工串行通信口,内置一个精密比较器,片内振荡器及时钟电路,同时,AT89C2051可降至0HZ的静态逻辑操场作,并支持两种软件可选的节电工作模式,空闲方式停止CPU的工作,但允许RAM,定时计数器,串行通信口及中断系统继续工作,掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有的部件工作直到下一个硬件复位 412引脚功能说明:。VCC:电源电压。GND:地。P1口:P1口是一组8I位双向I/O,P1。2P1。7提供内部上拉电阴,P1。0和P1。1内部无上拉电阻,主查考虑它们分别是内部精密比较器的同相输入端(AIN0)和反相输入端(AIN1),如果需要应在外站接上拉电阻,P1口输出缓冲器可吸收20MA电流并可直接驱动LED。当P1口引脚写入“1”时可作输入端,当引P1。1P1。7用作输入并被外部拉低时,它们将因内部的上拉电阻而输出电流(I1L)。 P1口还在FLASH闪速编程及程序校验时接收代码数据。P3口:P3口的P3。0P3。5是带有内部上拉电阻的7个双向I/O口,P3。6没有引出,它作为一个通用I/O口但不可访问,但可作为固定输入片内比较器的输出信号,P3口缓冲器可吸收20MA电流,当P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口,作输入端时,被外部拉低的P3口将用上拉电阻输出电流(I)。P3口还用于实现AT89C2051特殊的功能,如下所示:表4-1 口引脚功能特性P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外中断0)P3.3INT1(外中断1)P3.4T0(定时/计数器0外部输入)P3.5T1(定时/计数器1外部输入)P3口还接收一些用于Flash闪存储器编程和程序校验的控制信号:。RST:复位输入,RST引脚一旦变成两个机器周期以上高电平,所有的I/O口都将复位到“1”(高电平)状态,当振荡器正在工作时,持续两个机器周期以上便可完成复位,每个机器周期为12个振荡时钟周期。XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。XTAL2:振荡器反相放大的输出端。振荡器特征:XTAL1、XTAL2为片内振荡器的反相放大器的输入和输出端,如下图所示,可采用石英晶体或陶瓷振荡器组成时钟振荡器,如需从外部输入时钟驱动AT89C2051,时钟信号从XTAL1输入,XTAL2应悬空。由于输入到内部电路是经过一个分频触发器,所以输入的外部时钟信号无需特殊要求,但它必须符合电平的最大和最小值及时序规范。413某些指令的约束条件:AT89C2051是经济型低价位的微控制器,它含有字节的Flash闪速程序存储器,指令系统与MCS-51完全兼容,可使用CS-51指令系统对其进行编程,但是在使用某些有关指令进行编程时,程序员须注意一些事项:和跳转或分支有关的指令有一定的空间约束,使目的地址能安全落在T89C2051的字节的物理程序存储器空间内,程序员必须注意这一点。对于字节存储器的AT89C2051来说,LJMP 7E0H是一条有效的指令,而LJMP 900H则为无效指令。(1) 对于LCALL、LJMP、ACALL、AJMP、SJMP、JMPA+DPTR等指令,只要程序员记住这些分支指令的目的地址在程序存储器大小的物理范围内(AT89C2051程序地址空间为:0000H7FFH单元),这些无条件分支指令就会正确执行,超出物理空间的限制会出现不可预知的程序错误。CJNE、DJNZ、JB、JNB、JC、JNC、JBC、JZ、JNZ等这些条件转移指令的使用与上述原则一样,同样,超出了物理空间的限制也会引起不可预知的程序出错,至于中断的使用,80C51系列硬件结构中已保留标准中断服务子程序的地址。图4-3内部振荡电路及外部时钟电路(2) 与MOVX相关的指令,数据存储器AT89C2051包含了128字节内部数据存储器,这样,AT89C2051的堆栈深度局限于内部RAM的28字节范围内,它既不支持外部数据存储器的访问,也不支持外部程序存储器的执行,因此程序中不应有MOVX指令。一般的8051汇编器即使在违反上述指令的约束而写入指令仍对指令进行汇编,用户应了解正在使用的AT89C2051微控制器的存储器物理空间和约束范围,适当地调整所使用的指令寻址范围以适应AT89C2051。程序存储器的加密:AT89C2051可使用对芯片上的两个加密位进行编程(P)或不编程(U)来得到如下表所示的功能: 表4-2程序加密位 LB1 LB2保护类型1UU无程序加密码功能2PU禁止进一步进行FLASH闪速编程3PP同方式2,同时禁止校验 注:加密位只能用片擦除操作进行擦除空闲模式:在空闲模式下,CPU保持睡眠状态而所有片内的外设仍保持激活状态,这种方式由团软件产生,此时,片内RAM和所有特殊功能寄存器的内容保持不变,空闲模式可由任何允许的中断请求或硬件复位终止。P1.0和P1.1在不使用外部上拉电阻的情况下应设置为“0”,或者在使用上拉电阻的情况下设置为“1”。 应注意的是:在用硬件复位终止空闲模式时,AT89C2051通常从程序停止一直到内部复位获得控制之前的两个机器周期处恢复程序执行,在这种情况下片内硬件禁止对内部RAM的读写,但允许对端口若悬河的访问,要消除硬件复位终止空闲模式对端口意外写入的可能,原则上进入空间模式指令的下一条指令不应对端口引脚或外部存储器进行访问。掉电模式:在掉电模式下,振荡器批停止工作,进入掉电模式的指令是最后一条被执得的指令,片内RAM和特殊功能寄存器的内容在终止掉电模式前被冻结,退出掉模式的唯一方法是硬件复位,复位后将重新定义全部特殊功能寄存器但不改变RAM中的内容,在VCC恢复到正常工作电平前,复位应无效,且必需保持一定时间以使得振荡器重启动并且稳定工作。P1.0和P1.1在不使用外部上拉电阻碍的情况下应设为“0”,或者使用外上拉电阻碍的情况下应设为“1”。FLASH闪速存储器的编程AT89C2051是在擦除状态下(也即是所有单元内容均为FFH时)用2K字节的片机EPROM代码存储器阵列进行封装微控制器,其程序存储器是可反复编程的,代码存储阵列一次编程一个字节,一只阵列被编程,如需重新编程一非空(空为FFH)字节,必须对整个存储器阵列进行的擦除。AT89C2051内FLASH闪速存储器的编程和校验电路如图4和图5所示: 5V AT89C2051P3.1 VCC P1P3.2P3.3P3.4P3.5P3.7XTAL1GND RDY/BSY PROGSEE FLASHPROGRAMMING MODES TABLE VIHVPP 图4-4编程电路 5V AT89C2051 VCCP3.2P3.3 P1P3.4P3.5P3.7XTAL1GND VIH SEE FLASH PGM DATA PROGRAMMINGMOCES TABLE TO INCREMENT VIHADDRESS COUNTER图4-5编程电路位到000H,并在XTAL1引脚上出现正跳变脉冲时进行加1计数。内部地址计数器:AT89C2051内部包含一个EPROM编程地址计数器,它总在RST上升沿到来量复方法:要对AT89C2051进行编程,推荐用以下方法;1、在VCC和GND引脚之间加上电源设置RST和XTAL1为GND电平其它引脚置空,等待至少10MS以上2、T引脚为高电平,置P3.2引脚为高电平 表4-3方式RST/VPPP3.2/PROGP3.3P3.4P3.5P3.7写数据码12VLHHH读数据码HHLLHH写时钟BIT-112VHHHHBIT-212VHHLL片擦除12VHHLL读签名字节HHLLLL注:1.ROM地址计数器在RST的上升沿复位到000H并由XTAL1引脚正脉冲进行计数2.片擦除需要10MS的PROG脉冲3.编程期间P3.1被拉低来指示RDY/BSY编程和校验方法如下:(1) 在000H地址单元对P1.0P1.7输入数据代码字节,(2) 置RST端为+12V,激活编程,(3) 使P3.2跳变一次来编程EPROM阵列中的一字节或者加密位,写字节周期是自身定时的,一般需时1.2MS(4) 当校验已编程的数据,使RST从+12V降到逻辑电平“H”,置P3.3P3.7引脚到正确的电平即可从P1口读入新的数据字节。(5) 对下一地址单元编程字节,使XTAL1引脚正脉冲跳变一次使地址计数器加1,在P1口输入新的数据字节。(6) 重复5至8,可对整个2K字节阵列全部编程,直到目标文件结束。(7) 下电次序:(8) 置XTAL1为低“L”电平(9) 置RST为“L”电平(10) 置空所有其它I/O引脚(11) 关闭VCC电源数据查询:AT89C2051具有写周期结束的数据查询功能,在写周期期间,对最后写入的字节尝试读效令P1.7写入数据的操作结束,当写周期完成,全部输出端的真实数据有效,同时下一个周期开始,数据查询可在写周期被初始化的任一时刻开始。READY/BUSY:字节编程的进度可通过“RDY/BSY”输出信号监测,编程期间,P3.1引脚在P3.2变为“H”后被拉低来指示“BSY”,P3.1在编程结束后被再次拉高“H”来指示“RDY”。程序校验:如果加密位LB1,LB2没有进行编程,则代码数据可通过校验数据据线读取; 使RST从“L”变为“H”复位内部的地址计数器为000H。 对代码数据加上正确的控制信号即可在P1口引脚上读取数据。 XTAL1引脚步跳变一次使内部地址计数器加1。 从P1口读取下一个代码字节 重复3到4步骤,即可将全部单元的数据读取加密位有可真接校验,加密的校验可通过对存器的校验和写入状态来验证。芯片擦除:利用控制信号的正确组合并保持P3.2引脚10MS的你电平即可将PEROM阵列(2K字节)和两个加密位整片擦除,代码阵列在片擦除操作中将任何非空单元写入“1”可被再编程之前进行。读片内签名字节:除P3.5几须被拉成逻辑低电平外,读签名字节的过程和单元000H、001H及002H的正常校验相同,返回值意义如下:(000H)=1EH声明产品由ATMEL公司制造。(001H)=21H声明为89C2051单片机。编程接口:FLASH闪速阵列中的每一代码字节进行写入且整个存储器可在控制信号的正确组合下进行擦除,写操作周期是自身定时的,初始化后它将自动定时到操作完成。42 AT24C02串行E2PROM的读写 I2C总线是一种用于IC器件之间连接的二线制总线。它通过SDA(串行数据线)及SCL(串行时钟线)两根线在连到总线上的器件之间传送信息,并根据地址识别每个器件:不管是单片机、存储器、LCD驱动器还是键盘接口。4.2.1 I2C总线的基本结构采用I2C总线标准的单片机或IC器件,其内部不仅有I2C接口电路,而且将内部各单元电路按功能划分为若干相对独立的模块,通过软件寻址实现片选,减少了器件片选线的连接。CPU不仅能通过指令将某个功能单元电路挂靠或摘离总线,还可对该单元的工作状况进行检测,从而实现对硬件系统的既简单又灵活的扩展与控制。I2C总线接口电路结构如图1所示。图4-6 12C总线接口电路结构图 4.2.2双向传输的接口特性传统的单片机串行接口的发送和接收一般都各用一条线,如MCS51系列的TXD和RXD,而I2C总线则根据器件的功能通过软件程序使其可工作于发送或接收方式。当某个器件向总线上发送信息时,它就是发送器(也叫主器件),而当其从总线上接收信息时,又成为接收器(也叫从器件)。主器件用于启动总线上传送数据并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从器件。I2C总线的控制完全由挂接在总线上的主器件送出的地址和数据决定。在总线上,既没有中心机,也没有优先机。总线上主和从(即发送和接收)的关系不是一成不变的,而是取决于此时数据传送的方向。SDA和SCL均为双向I/O线,通过上拉电阻接正电源。当总线空闲时,两根线都是高电平。连接总线的器件的输出级必须是集电极或漏极开路,以具有线“与”功能。I2C总线的数据传送速率在标准工作方式下为100kbit/s,在快速方式下,最高传送速率可达400kbit/s。4.2.3 I2C总线上的时钟信号在I2C总线上传送信息时的时钟同步信号是由挂接在SCL时钟线上的所有器件的逻辑“与”完成的。SCL线上由高电平到低电平的跳变将影响到这些器件,一旦某个器件的时钟信号下跳为低电平,将使SCL线一直保持低电平,使SCL线上的所有器件开始低电平期。此时,低电平周期短的器件的时钟由低至高的跳变并不能影响SCL线的状态,于是这些器件将进入高电平等待的状态。当所有器件的时钟信号都上跳为高电平时,低电平期结束,SCL线被释放返回高电平,即所有的器件都同时开始它们的高电平期。其后,第一个结束高电平期的器件又将SCL线拉成低电平。这样就在SCL线上产生一个同步时钟。可见,时钟低电平时间由时钟低电平期最长的器件确定,而时钟高电平时间由时钟高电平期最短的器件确定。4.2.4 数据的传送在数据传送过程中,必须确认数据传送的开始和结束。在I2C总线技术规范中,开始和结束信号(也称启动和停止信号)的定义如图2所示。当时钟线SCL为高电平时,数据线SDA由高电平跳变为低电平定义为“开始”信号;当SCL线为高电平时,SDA线发生低电平到高电平的跳变为“结束”信号。开始和结束信号都是由主器件产生。在开始信号以后,总线即被认为处于忙状态;在结束信号以后的一段时间内,总线被认为是空闲的。 图4-7 EPROM数据传送时序图I2C总线的数据传送格式是:在I2C总线开始信号后,送出的第一个字节数据是用来选择从器件地址的,其中前7位为地址码,第8位为方向位(R/W)。方向位为“0”表示发送,即主器件把信息写到所选择的从器件;方向位为“1”表示主器件将从从器件读信息。开始信号后,系统中的各个器件将自己的地址和主器件送到总线上的地址进行比较,如果与主器件发送到总线上的地址一致,则该器件即为被主器件寻址的器件,其接收信息还是发送信息则由第8位(R/W)确定。在I2C总线上每次传送的数据字节数不限,但每一个字节必须为8位,而且每个传送的字节后面必须跟一个认可位(第9位),也叫应答位(ACK)。数据的传送过程如图3所示。每次都是先传最高位,通常从器件在接收到每个字节后都会作出响应,即释放SCL线返回高电平,准备接收下一个数据字节,主器件可继续传送。如果从器件正在处理一个实时事件而不能接收数据时,(例如正在处理一个内部中断,在这个中断处理完之前就不能接收I2C总线上的数据字节)可以使时钟SCL线保持低电平,从器件必须使SDA保持高电平,此时主器件产生1个结束信号,使传送异常结束,迫使主器件处于等待状态。当从器件处理完毕时将释放SCL线,主器件继续传送。当主器件发送完一个字节的数据后,接着发出对应于SCL线上的一个时钟(ACK)认可位,在此时钟内主器件释放SDA线,一个字节传送结束,而从器件的响应信号将SDA线拉成低电平,使SDA在该时钟的高电平期间为稳定的低电平。从器件的响应信号结束后,SDA线返回高电平,进入下一个传送周期。I2C总线还具有广播呼叫地址用于寻址总线上所有器件的功能。若一个器件不需要广播呼叫寻址中所提供的任何数据,则可以忽略该地址不作响应。如果该器件需要广播呼叫寻址中提供的数据,则应对地址作出响应,其表现为一个接收器。4.2.5总线竞争的仲裁总线上可能挂接有多个器件,有时会发生两个或多个主器件同时想占用总线的情况。例如,多单片机系统中,可能在某一时刻有两个单片机要同时向总线发送数据,这种情况叫做总线竞争。I2C总线具有多主控能力,可以对发生在SDA线上的总线竞争进行仲裁,其仲裁原则是这样的:当多个主器件同时想占用总线时,如果某个主器件发送高电平,而另一个主器件发送低电平,则发送电平与此时SDA总线电平不符的那个器件将自动关闭其输出级。总线竞争的仲裁是在两个层次上进行的。首先是地址位的比较,如果主器件寻址同一个从器件,则进入数据位的比较,从而确保了竞争仲裁的可靠性。由于是利用I2C总线上的信息进行仲裁,因此不会造成信息的丢失。4.2.6 I2C总线接口器件目前在视频处理、移动通信等领域采用I2C总线接口器件已经比较普遍。另外,通用的I2C总线接口器件,如带I2C总线的单片机、RAM、ROM、A/D、D/A、LCD驱动器等器件,也越来越多地应用于计算机及自动控制系统中。 AT24C02是美国ATMEL公司的低功耗CMOS串行EEPROM,它是内含2568位存储空间,具有工作电压宽(2.55.5V)、擦写次数多(大于10000次)、写入速度快(小于10ms)等特点。电子制作实验室网站提供的AT89C51试验开发板上带有一片AT24C02芯片可以提供试验。图4-9 EPROM与MCS-51芯片的接线图图中AT24C02的1、2、3脚是三条地址线,用于确定芯片的硬件地址。在AT89C51试验开发板上它们都接地,第8脚和第4脚分别为正、负电源。第5脚SDA为串行数据输入/输出,数据通过这条双向I2C总线串行传送,在AT89C51试验开发板上和单片机的P3.5连接。第6脚SCL为串行时钟输入线,在AT89C51试验开发板上和单片机的P3.6连接。SDA和SCL都需要和正电源间各接一个5.1K的电阻上拉。第7脚需要接地。24C02中带有片内地址寄存器。每写入或读出一个数据字节后,该地址寄存器自动加1,以实现对下一个存储单元的读写。所有字节均以单一操作方式读取。为降低总的写入时间,一次操作可写入多达8个字节的数据。4.3 4*3键盘处理模块该键盘处理模块采用的是阵列式的按键,主要采用非编者按码式键盘的处理方法,其接口电路及编程方法如下:非编码式键盘由程序来识别键的闭合并形成代码,除此之外,通常键盘的接口编程还需要解决以下两个基本问题:接触抖动和多键重按。对于接触抖动的解决,可以采用硬件滤波或软件延时的方法,软件延时是由程序控制一个适当长的时间(一般为20MS)后,再判断是哪个键闭休合。多键重按的解决则是采用为断地对键盘进行扫描,直到出现单键闭合的情况才形成代码。对于键盘的识别方法采用的是键盘扫描法,其工作原理图如下所示: 4-10 键盘扫描原理图识别按键闭合的方法是:将全部行线“接地”,然后检查有无列线“接地”,若无“列线”接地,即表示没有按键闭合。当有按键闭合时,由软件进行20MS延时之后再逐行扫描键盘.具体方法是:先将R0”接地”,其他行不“接地”检测是否有列为低电平,若列线为低电平,则闭合键在R0行,其具体位置在列线为低电平的那一列上.如果没有列线为低电平,使R1”接地”,重复上述过程,直到识别出具体的按键位置为止.94.4音频放大模块音频放大电路的主要工作原理即是不AT89C2051芯片检测到有报警需要时,即三次输入密码错误时则将由2051芯片的P3。7口输出的信号通过LM386N1芯片的正输入管脚,然后从输出管脚输出送到扬声器中,形成了音频的放大效果作用。 4-11 音频放大电路4.5电子锁模块电子锁的结构设计如下图所示,它是由:微型变速电机、锁体,万向结、锁栓推动杆、锁栓、限位顶丝等组成。该电子锁的特点为:防撬破坏、开锁力矩大、功耗低。电子锁的工作原理:当给电子锁的微电机反向供电时,电机主要轴通过带动“万向结”使得“锁栓推动杆”逆时针方向旋转,又由于锁栓受到限位顶丝的左右定位(只能前后运动),于是锁栓被推出锁体。当锁栓被推出锁体一定长度后,由于有“限位顶丝”的限制,于是锁栓就无法再被推出,这样锁栓被“锁定到位”。当给微电机正向供电时,电机主轴通过带动“万向结”使得“锁栓被拉回锁体内,还是由于”限位顶丝“的作用,待锁栓被拉回到正常位置后,锁栓停止运动,此时”开锁“过程结束。由上述电子锁的工作原理可知,锁栓是由于“锁栓推动杆“的丝扣反向旋转才被推出锁体的(当停止供电后,锁栓已被自锁),要想让锁栓回到锁体内(开锁),就必需要求”锁栓推动杆“的丝扣正向旋转才能将锁栓拉回锁体内。否则,外界无论采用任何工具都无法将”锁栓“推回锁体。而传统的电子密码锁容易被撬开的缘故就是因为锁栓没有”自

温馨提示

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

评论

0/150

提交评论