已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
宁夏大学新华学院课程设计课程名称单片机原理与接口技术姓 名学 号专 业年 级班 级系 别计算机计科系分 数任课教师签字批改日期备 注目 录摘要2Abstract2第1章 绪论 31.1 国内外现状31.2 设计目标3第2章 电子密码锁的系统设计42.1 方案论证与比较42.2 硬件总体设计42.3 控制芯片部分52.4 键盘接口部分62.5 外部存储器电路62.6 小结9第3章 控制系统软件设计103.1 系统软件总体设计103.2 I2C通讯子程序10第4章 系统抗干扰措施144.1 硬件系统设计原则144.2 系统抗干扰措施14第5章 总结与展望16参考文献18电子密码锁的设计与实现摘要:随着电子产品向智能化和微型化的不断发展,单片机已成为电子产品研制和开发中首选的控制器。为了更好地推广单片机在家电领域中的应用,本文介绍一种应用AT89C2051单片机设计的电子密码锁。经实际制作表明该密码锁具有安全、实用、成本低等特点,符合住宅用锁的要求,具有一定的现实意义。关键词: AT89C2051 I2C总线 AT24C02 安全性 密码锁第一章 绪 论1.1 国内外现状目前,最常用的锁是20世纪50年代意大利人设计的机械锁,其机构简单、使用方便、价格便宜。但在使用中暴露了很多缺点:一是机械锁是靠金属制成的钥匙上的不同齿形与锁芯的配合来工作的。据统计,每4000把锁中就有两把锁的钥匙齿牙相同或类似,故安全性低。二是钥匙一旦丢失,无论谁捡到都可以将锁打开。三是机械锁的材料大多为黄铜,质地较软,容易损坏。四是机械锁钥匙易于复制,不适于诸如宾馆等公共场所使用。由于人们对锁的安全性,方便性等性能有更高的要求,许多智能锁(如指纹辨别、IC卡识别)也相继问世,但这类产品的特点是针对特定指纹或有效卡,但能适用于保密要求高且仅供个别人使用的箱、柜、房间,其成本一般较高,在一定程度上限制了这类产品的普及和推广。随着人们生活水平的提高,电子密码防盗锁作为防盗卫士的作用日趋重要。电子密码防盗锁用密码代替钥匙,不但省去了佩戴钥匙的烦恼,也从根本上解决了普通门锁保密性差的缺点。根据国外的统计资料显示,装有电子防盗装置的商业区或居民区盗窃犯罪率平均下降30%左右。目前西方发达国家已经大量地应用这种智能门禁系统,但在我国的应用还不广泛,成本还很高。1.2设计目标 1.用户密码4位:密码通过键盘输入;3.开锁:输入密码正确,确认后,输出开锁信号;4.现场报警功能:超时报警;第二章 电子密码锁的系统设计2.1设计方案论证与比较方案一:卡片式电子密码锁。卡片式电子密码锁,它利用光电耦合的方式,将密码信息从打孔的形式做在卡片上 ,只要将卡片插入锁内,就能将锁打开。如果卡片上密码信息不对,密码锁发出报警声。这种方法是需要卡片做为钥匙,容易被盗和被仿制,安全性不高。方案二:磁卡式电子密码锁,具有功能强、故障率低、可靠性高和工作寿命长等优点,但这种方法的缺点是磁卡容易消磁,对用户造成不必要的麻烦。方案三:用AT89C2051设计的多功能密码锁。以单片机作为微控制器,可以实现基于以上优点,本系统选用该方案作为设计方案。按键有效指示、输入错误、控制开锁、错误报警、密码修改等功能,工作稳定可靠,保密性高,实用性强。2.2 电子密码锁的总体设计图1 电子密码锁的总体框图AT89C2051驱动电路报警电路显示电路键 盘电子密码锁是由以下几个部分组成的,其核心部分是Atmel公司生产的8位AT89C2051单片机作为整个系统的控制中心。包括驱动电路模块,显示电路模块,报警模块和键盘模块。如图所示是一种用AT89C2051控制的电子密码锁的原理图。其主要功能为:可设定4位的密码,从键盘键入正确密码才可更改密码或开锁。输入超时电路就报警。其主要工作原理为:AT89C2051的P1口为键盘扫描口,接着4行4列的键盘即“0、1、2设置、确定”,P2.3和P2.4接AT24C02,对AT24C02读和写数据。P2.7接一个小喇叭,P3.3为按了设置键等输入原密码指示LED控制口,P3.5为开锁信号输出口,P3.4为报警输出口,P3.7为输入新密码LED指示控制口。2.3 电子密码锁的控制芯片选择 CPU是整个控制部分的核心。在考虑经济性和满足需求的前提下,本系统选用Atmel公司生产的8位AT89C2051单片机作为整个系统的控制中心。AT89C2051是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含2K bytes的可反复擦写的Flash只读程序存储器和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度,非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大AT89C2051单片机可为您提供许多高性价比的应用场合。在本系统中,AT89C2051单片机内部的功能单元已经能够满足系统设计需要,不需要系统扩展。图3 AT89C2051的管脚图电子密码锁原理图AT89C2051具有以下的特点: 兼容MCS-51指令系统 2k字节可重擦写闪速存储器 1000次擦写周期 2.7-6.V的宽工作电压范围 全静态操作:0-24MHz 两级加密程序存储器 128*8字节内部RAM 15个双向I/O口线 两个16位可编程定时/计数器 6个中断源 可编程串行UARL通道 可直接驱动LED的输出端口 内置一个模拟比较器 低功耗空闲和掉电模式 2.4 键盘接口部分系统的所有密码设置以及在没有用遥控器开锁的情况下密码的输入都需要由键盘输入。同时采用发光二极管来进行提示操作,使用户操作更加直观和方便。AT89C2051单片机的I/O口线共有15根,能够满足系统设计的需要。键盘接口电路设计系统中键盘的功能主要用于用户输入和修改密码。键盘需要设计12 个按键,其中09数字键用于密码的输入和修改。功能键两个,一个为“确定”键,用于密码输入结束后确认,一个为“设置”键,用于修改密码。键盘采用行列式设计,12个按键排成34矩阵。设计中用单片机P1口的P1.1P1.3接键盘的3根行线,P1.4P1.7接4根列线。原理图如图4。图4 电子密码锁的键盘模块2.5 外部存储器电路为了保证用户密码在系统掉电时不会丢失,本系统采用AT24C02的EEPROM存储器来存储用户密码。电擦除可编程只读存储器EEPROM(Electrically Erasable PROM)是近年来开始被广泛使用的一种只读存储器,它能在应用系统中进行在线改写,并能在掉电的情况下保存数据而不需保证电源,因而完全符合系统的设计要求。虽然EEPROM的擦除时间较长,但这不影响整个系统的功能。在本图5 AT24C02管脚图系统,用户设定的密码就存于EEPROM AT24C02中。AT24C02与单片机之间采用I2C总线通讯方式。I2C总线概述:I2C总线通过两根线(串行数据线SDA和串行时钟线SCL)使挂接到总线上的器件相互进行信息传递。总线使用软件寻址来识别每个器件-控制器,存储器,LCD驱动器,时钟芯片及其它。I2C总线器件完全省去了每个器件的片选线因而使系统的接线极其简洁。典型的系统接线如图6:主发送/接收器从发送/接收器A从发送/接收器BSCLSDAAT89C2051AT24C02图6 I2C总线接线图所示总线上的每一次数据传送活动都是主控器先发送起始信号,然后主控器发送被控器的地址及读写位(1个字节),这之后是主控器等待被控器的应答信号(接着的第九位),再接着就是主控器发送数据给被控器(写被控器)或接收被控器发出来的数据(读被控器),最后由主控器发出停止信号通知被控器结束整个数据传送过程。总线不忙时,数据线和时钟线保持在高电平。数据线(SDA)在下降沿而时钟线(SCL)为高电平时,为起始条件(S);数据线在上升沿而时钟线为高电平时为停止条件(P)。I2C总线协议规定传送的数据长度为8位而每次传送的数据字节数由被控器所限制如AT24C01(128字节EEPROM)规定一次最多可以传送8个字节,AT24C02(256字节EEPROM)规定一次最多传送16个字节。I2C总线的数据传送过程如图7所示: 图7 I2C总线的数据传送过程按照I2C总线协议,总线上非单片机类型的外围器件地址由器件编号地址(高4位D7D4由器件类型决定)和器件引脚地址(D3D1)组成。AT24C01/02的器件编号地址为1010,器件的引脚地址由A2,Al,A0三根硬件地址线决定。例如A2和A1接地,A0接高电平则器件地址为A2H,若A0也接低电平则器件地址为A0H。其格式如图8所示由此可以看出I2C总线上最多可以挂接8片AT24C01/02。1010A2A1A00R/W器件编号地址图8 AT24C02器件的地址组成器件引脚地址(注:器件地址的第0位为读写位,在读数据时由程序自动处理成1,所以该位固定为0) I2C总线由主发送,主接收,从发送,从接收,4种方式组成。每种方式都有典型的数据传送过程而每种数据传送过程都由一些状态处理过程组成。 本单片机系统只存在着一个微控制器AT89C2051,此时I2C总线的数据传送过程要简单得多,不存在总线的竞争与同步,只存在单片机AT89C2051对外围器件的主发送和主接收操作。由于AT89C2051没有专门的I2C接口,所以利用单片机AT89C2051的两根I/O口线来模拟I2C总线的数据传输格式和时序来实现对外围I2C接口器件的数据操作。本系统选用AT24C02 EEPROM是具有2K位或256字节的CMOS EEPROM。AT24C02有一个16字节页写缓冲器,具有1.8伏至6.0伏的电压工作范围,低功耗,1000000编程/擦除周期,100年的数据储存期,可以设定写保护,并且与400KHZ的I2C总线完全兼容,因而完全能够满足系统设计需要。如图9所示,本系统设计是利用AT89C2051的P3.0和P3.1来模拟I2C总线的数据传输格式和时序来实现单片机AT89C2051与EEPROM AT24C02的数据传输。P3.0模拟串行时钟线,P3.1模拟串行数据线。图9 AT24C02与单片机接线图2.6 小结本章详细叙述了电子密码锁系统硬件电路的结构,分析了各个硬件电路的工作原理。在设计硬件电路的同时,充分考虑将软件和硬件结合起来,发挥单片机的智能化优势。简化硬件电路的设计,提高硬件电路的可靠性和稳定性。第三章 控制系统软件设计软件是整个控制系统设计的核心,它具有充分的灵活性,可以根据系统的要求而变化。在硬件结构一定的情况下,只要改变软件就能实现一些不同的功能。单片机所具有的智能功能要由软件来完成。3.1 系统软件总体设计系统上电后首先完成初始化工作,然后按照事先设定好的程序执行。本系己程序是基于单任务机制的。这种机制的应用程序是一个无限的循环,在这循环的过程中调用相应的子程序函数来完成相应的操作。这种机制具有简单直观,易于控制的优点。在本系统中,软件结构应采用模块化设计方法,主要包括主程序,键盘程序,密码比较模块,密码修改程序等等。上电复位后,初始化各端口,标志位和有关寄存器,接着从AT24C02中读入密码,然后开始检测键盘是否有输入,如没有就不断检测,如果有输入就转到相应处理程序。例如按了设置键,则P3.3输出低电平,等输入原密码指示灯LED亮,接着如果输入了正确的原密码并按了确定键,P3.7输出低电平,可以输入新密码指示LED亮,接着输入新密码按确定键,新密码被写入24C02中,P3.3、P3.7输出高电平,等输入原密码指示LED熄灭,可以输入新密码,指示LED熄灭,程序转为复位程序。如果在设置状态,输入了错误的密码并按了确定键,P3.5不断输出高电平报警。上电复位后按数字键6次,或按了小于6次数字键,再按了确定键则比较密码是否对,如果不对,P3.4开锁信号输出口输出低电平,锁不开,这时还可再输入两次,如还不对则P3.5不断输出高电平报警。如果输入对了,P3.4开锁信号输出口输出高电平,锁打开4秒钟后,程序转为复位后。3.2 I2C通讯子程序如前说述,本系统中由单片机AT89C2051的P3.0和P3.1来分别模拟SCL(串行时钟线)和SDA(串行数据线)来实现与EEPROM AT24C02的I2C通讯。EEPROM AT24C02的器件地址为A0H。(一)写操作1.字节写在字节写模式下,主器件发送起始命令和从器件地址信息(R/W位置零)给从器件,在从器件产生应答信号后,主器件发送AT24C02的字节地址,主器件在收到从器件的另一个应答信号后,再发送数据到被寻址的存储单元。AT24C02再次应答。并在主器件产生停止信号后开始内部数据的擦写,在内部擦写过程中,AT24C02不再应答主器件的任何请求。EEPROM内容送RAM初始化YY键盘检测有键按下键盘程序比较模块NN正确开锁P1口置1输入新密码键盘程序写入EEPROM开始计时5秒?报警NNYY图10 电子密码锁主程序流程图2.页写 用页写AT24C02可以一次写入16个字节的数据。页写操作的启动和字节写一样。不同在于传送了一字节数据后并不产生停止信号。主器件被允许发送15个额外的字节。每发送一个字节数据后AT24C02产生一个应答位并将字节地址低位加1,高位保持不变。如果在发送停止信号之前主器件发送超过16个字节,地址计数器将自动翻转,先前写入的数据被覆盖。接收到16字节数据和主器件发送的停止信号后,AT24C02启动内部写周期将数据写到数据区。所有接收的数据在一个写周期内写入AT24C02。3.应答查询可以利用内部写周期时禁止数据输入这一特性。一旦主器件发送停止位指示主器件操作结束时,AT24C02启动内部写周期,应答查询立即启动,包括发送一个起始信号和进行写操作的从器件地址。如果正在进行内部写操作,不会发送应答信号。如果AT24C02已经完成了内部自写周期,将发送一个应答信号主器件可以继续进行下一次读写操作。4.写保护写保护操作特性可使用户避免由于不当操作而造成对存储区域内部数据的改写。当管脚WP接高时,整个寄存器区全部被保护起来而变为只可读取。AT24C02可以接收从器件地址和字节地址。但是装置在接收到第一个数据字节后不发送应答信号从而避免寄存器区域被编程改写。(二)读操作对AT24C02读操作的初始化方式和写操作时一样,仅把R/W位置为1,有三种不同的读操作方式:立即地址读,选择读和连续读。1.立即地址读AT24C02的地址计数器内容为最后操作字节的地址加1。也就是说,如果上次读/写的操作地址为N,则立即读的地址从地址N+1开始。如果N=EC对24C02(E=255)则计数器将翻转到0且继续输出数据。AT24C02接收到从器件地址信号后(R/W位置1),它首先发送一个应答信号,然后发送一个8位字节数据。主器件不需发送一个应答信号,但要产生一个停止信号。2.选择性读选择性读操作允许主器件对寄存器的任意字节进行读操作。主器件首先通过发送起始信号,从器件地址和它想读取的字节数据的地址执行一个伪写操作。在AT24C02应答之后,主器件重新发送起始信号和从器件地址,此时R/W位置1,AT24C02响应并发送应答信号,然后输出所要求的一个8位字节数据,主器件不发送应答信号但产生一个停止信号。3.连续读连续读操作可通过立即读或选择性读操作启动。在AT24C02发送完一个8位字节数据后,主器件产生一个应答信号来响应,告知AT24C02主器件要求更多的数据,对应每个主机产生的应答信号AT24C02将发送一个8位数据字节。当主器件不发送应答信号而发送停止位时结束此操作。AT24C02输出的数据按顺序由N到N+l输出。读操作时地址计数器在AT24C02整个地址内增加。这样整个寄存器区域在可在一个读操作内全部读出。当读取的字节超255,计数器将翻转到零并继续输出数据字节。启动I2C总线启动I2C总线送被控器地址有应答?送单元地址有应答?发送一个字节数据数据发完了吗?发停止信号延时等待返回置位出错有应答?送被控器地址有应答?送单元地址有应答?发重复启动信号送被控器地址有应答?接收一个字节数据数据发完了吗?发非应答信号发停止信号返回置位出错NNNNNNNNYYYYYYYY图11 数据通讯流程图(a)发送数据流程(b)接收数据流程第四章 系统抗干扰措施4.1 硬件系统设计原则 一个单片机应用系统的硬件电路设计包含有两部分内容:一是系统扩展,即单片机内部的功能单元,如ROM,RAM,I/O口,定时/计数器,中断系统等容量不能满足应用系统的要求时,必须在片外进行扩展,选择合适的芯片,设计相应的电路。二是系统配置,即按照系统功能要求配置外围设备,如键盘,显示器,打印机,A/D,D/A转换器等,要设计合适的接口电路。按系统功能需求,需要配置固定键盘,LED显示,EEPROM存储器等。系统的扩展和配置设计遵循下列原则:1)尽可能选择典型电路,并符合单片机的常规用法。为硬件的标准化,模块化打下良好的基础。2)系统的扩展与外围设备配置的水平应充分满足应用系统的功能要求,并留有适当的余地,以便二次开发。3)硬件结构应结合应用软件方案一并考虑。硬件结构与软件方案会产上相互影响,考虑的原则:软件能实现的功能尽可能由软件实现,以简化硬件结构。但必须注意,由软件实现的硬件功能,其相应时间要比直接用硬件实现来得长,而且占用CPU时间。因此,选用软件方案时要考虑这些因素。4)整个系统中的相关的器件要尽可能做到性能匹配。5)可靠性及抗干扰设计是硬件系统设计不可缺少的一部分,它包括芯片,器件选择,去藕滤波,印刷电路板布线等。4.2 系统抗干扰措施(一)本系统中采取的切断干扰传播路径的措施如下:(1)注意晶振布线。晶振与单片机引脚尽量靠近,用地线把时钟区隔离起来,晶振外壳接地并固定。此措施可解决许多疑难问题。 (2)电路板合理分区,如强、弱信号,数字、模拟信号。尽可能把干扰源(如电磁铁)与敏感元件(如单片机)远离。 (3)用地线把数字区与模拟区隔离,数字地与模拟地要分离,最后在一点接于电源地。(4)单片机和大功率器件电磁铁的地线单独接地,以减小相互干扰。电磁铁尽可能放在电路板边缘。(二)提高敏感器件的抗干扰性能 提高敏感器件的抗干扰性能是指从敏感器件这边考虑尽量减少对干扰噪声的拾取,以及从不正常状态尽快恢复的方法。本系统中采
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年岳阳职业技术学院单招职业技能笔试备考试题及答案解析
- 2026年华南师范大学环境学院非事业编制人员招聘备考题库及答案详解(夺冠系列)
- 2026年温州瓯海招商发展有限公司面向社会招聘工作人员备考题库及答案详解1套
- 2026年宁波海发渔业科技有限公司招聘备考题库有答案详解
- 2026年衡阳市第一人民医院妇产科医师招聘备考题库及答案详解(考点梳理)
- 基于人工智能的中学物理个性化学习路径设计与用户学习兴趣激发策略教学研究课题报告
- 长发集团2025年第三批社会化公开招聘(劳务派遣工作人员)备考题库及完整答案详解一套
- 2026年黄埔区老人院招聘备考题库及答案详解(考点梳理)
- 2025年成人学历教育线上课程质量报告
- 2026年东方电气集团东方电机有限公司社会招聘备考题库及答案详解(考点梳理)
- 橙子分拣装箱一体机结构设计
- (一诊)达州市2026届高三第一次诊断性测试生物试题(含标准答案)
- 员工宿舍楼装修改造工程施工组织设计方案
- 钱铭怡《心理咨询与心理治疗》笔记和习题(含考研真题)详解
- 防水工程专项施工方案
- JJG 1148-2022 电动汽车交流充电桩(试行)
- 脑机接口技术与应用研究报告(2025年)
- 江苏省盐城市东台市2024-2025学年六年级上学期期末考试英语试题
- 文物复仿制合同协议
- 大货车司机管理制度
- 建设工程施工许可流程
评论
0/150
提交评论