版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于单片机电子密码锁的设计摘要:随着科技和人们的生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出。由于传统机械锁存在构造简单,钥匙互开容易等不安全因素;使得家庭的安全性与保密性降低。电子锁由于其保密性高,使用灵活性好,安全系数高,显得日趋重要。本设计以单片机AT89C51与低功耗CMOS型E²PROM AT24C02作为主控芯片与数据存储器单元,结合外围的键盘输入、LCD显示、报警、开锁等电路模块。它具有以下的功能:输入密码正确,实现开锁;输入密码错误三次以上,报警;可以根据用户需求更改密码。本设计用用Keil软件进行编译,C51语言编写主控芯片控制程序与EEPROM AT2
2、4C02读写程序相结合,设计出一款可以更改密码,并且具有报警功能的电子密码控制系统。软件设计采用自上而下的模块化设计思想,增强系统的可扩展性和运行的稳定性,使系统朝着分布式、小型化方向发展。本密码锁具有一定的推广价值。关键词:单片机;AT89C51;密码锁;报警 ;液晶显示Microcontroller-based Design Of Electronic LocksAbstract: With the improvement of social science and the living level of people, how to realize the family anti-the
3、ft, this problem also become particularly prominent. Because of the traditional mechanical lock has e many unsafe factors,such as simple structure, easy open; Reduces the security and privacy of family. Electronic lock is increasingly important,because of its high confidentiality, use good flexibili
4、ty, high safety coefficient.This system by theAT89C51 with low power CMOS based E ² PROM AT24C02 as the master chip and the data memory unit, combined with the external keyboard, LCD display, alarm, unlock and other circuit modules. It has the following features: enter the password correctly un
5、der the premise of unlocking; Input wrong password more than three times case the alarm; password can be changed according to user needs.This design use Keil software to compile,Master in C language control program and EEPROM AT24C02 chip to read and write process are combined.designed a number you
6、can change the password, the password with an electronic alarm control system. The software design adoption the design thought from top to bottom, strengthen the system and can expand the stability and circulate,to make the system toward wear distribute type,turn to the direction development of smal
7、l.The lock has some promotional value.Keywords: singlechip; AT89C51;cryptogram lock;alarm; LCD目录摘要iAbstracti目录iii1绪论11.1单片机的应用领域21.1.1智能仪器仪表21.1.2工业控制21.1.3家用电器21.1.4计算机网络和通信21.1.5医用设备21.1.6大型电器31.2课题的目的和意义31.2.1选题目的31.2.2选题意义31.3国内外研究现状与水平31.4发展趋势41.5本设计特点42分析52.1方案选择52.2总体设计思路52.2.1系统实现功能52.2.2系统运
8、行过程62.2.3系统总设计结构图62.3主要元器件介绍72.3.1AT89C51介绍72.3.2LCD1602显示器介绍92.3.3存储芯片AT24C02介绍102.3.4I2C总线介绍112.3.5矩阵键盘介绍133设计143.1硬件设计143.1.1单片机的晶振、复位电路143.1.2键盘输入电路153.1.3显示电路163.1.4存储电路173.1.5报警电路173.1.6开锁电路183.1.7生成电路图183.1.8元器件采购193.2软件设计193.2.1主程序193.2.2键盘扫描程序233.2.3密码修改程序263.2.4LCD显示程序283.2.5延时程序303.2.6中断程
9、序313.3调试程序323.3.1Proeus 软件介绍323.3.2Keil C51软件介绍323.3.3Proteus 软件与Keil uVision 的结合324结论34致谢2参考文献3iv34基于单片机的电子密码锁的设计1 绪论随着新技术的不断开发与应用,日常生活中住宅的安全防范以及一些个人资料的保存等一系列安全防盗问题已成为社会普遍关注的问题。传统的机械锁由于其互开率非常高,并且构造的简单,安全性能极低;且人们常需携带多把钥匙, 使用起来非常的不方便, 在钥匙丢失的突发情况下,锁的安全性大大降低。随着人们生活水平的提高,人们对日常生活中的安全保险器件的要求逐步升高。电子密码锁的产生使
10、得这些问题得到改善,密码锁因具有安全性高、成本低、功耗低、易操作等优点,受到了广大用户的青睐,用户只需简单的记住密码便可对家庭或者保险柜上锁。早期的电子密码锁主要应用于一些特殊场所。多半是配合机械锁一起作用且存在着诸如体积较大,成本较高,可靠性较低等缺点一时难以普及。20世纪80年代后,随着信息技术、集成电路、半导体技术的发展,电子锁的体积缩小,同时可靠性提高,成本也相对提高,且需要有电源提供能量,所以只适合使用在安全性要求较高的场合,难以得到广泛对的应用。到了90年代,世界微电子技术的进步和通信技术的发展为密码锁提供了技术上的支持,从而使密码锁应用于实际。目前,随着电子技术和信息技术的发展,
11、电子密码锁的技术领域已发展的十分成熟。西方国家尤为突出,电子密码锁技术相对先进,并且种类齐全,已被广泛应用于安全处所,使之更加安全更加可靠实现大门的管理。现今常见的密码锁设计主要有两种方案,一种是中规模集成电路控制的方案,另一种是单片机控制的方案。采用集成电路控制的方案,主要由输入元件、电路(包括电源)以及锁体三部分组成。编码电子锁电路分为编码电路、控制电路、复位电路、解码电路、防盗报警电路、门铃电路,此种方案的结构较为复杂且重新设置密码、输入密码的操作过程会给用户带来很大的不便。利用单片机控制的方案,由于单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,可以方便的实现密码锁的基本功能
12、。但电子密码锁也有一定的局限性,电子密码锁的复杂的控制原理以及对设计人员良好的程序设计能力的要求,使得电子密码锁可能造成极大的损失。通过对这两种方案的优缺点比较,再考虑到本人自己对单片机设计具有一定的基础,所以此次选择利用单片机来进行密码锁的设计。本文从经济实用的角度出发,以AT89C51单片机为核心器件,结合按键电路、LCD液晶显示电路、报警指示电路和开锁电路,组成电子密码锁控制系统。密码锁可设置09之间的四位作为密码。每个密码按键都有声提示,用户可通过输入正确的密码打开锁。系统特点如下:(1)保密性好,通过键盘输入四位密码,若密码正确,将锁打开。(2)密码输入错误,LCD液晶显示密码输入错
13、误,并有提示音。(3)用户可以自由设定密码,防止密码被盗。(4)使用灵活性好,无活动零件,不会磨损,使用时间长。(5)输入密码三次以上错误,将会启动报警系统。1.1 单片机的应用领域单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。 单片机的应用领域大致可分如下几个范畴:1.1.1 智能仪器仪表采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。单片机凭借其具有体积小、控制功能强、扩展灵活、功耗低和使用方便等优点,广泛应用于仪器仪表中,结合不
14、同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。例如精密的各种分析仪、示波器。1.1.2 工业控制工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等,都是单片机控制系统,单片机可以构成形式多样的控制系统、数据采集系统,方便工业控制。1.1.3 家用电器现今的家用电器大部分都采用了单片机控制系统,从电饭煲、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,单片机无所不在。1.1.4 计算机网络和通信现在的通信设备基本上都实现了单片机智能控制,单片机的通信接口,可以很方便地与计算
15、机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,手机,电话机、楼宇自动通信呼叫系统、列车无线通信、无线电对讲机等,都应用了单片机控制。1.1.5 医用设备医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等,均用到了单片机系统,单片机在医用设备中的用途相当广泛。1.1.6 大型电器对于音乐集成单片机等大型电器,看似功能简单,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。如:音乐信号转化为模拟音乐电信号等。在大型电路中,某些专用单片机设计用于实现特定功能,从而在各种电路中进行模块化应用,这种模块化应用极大地缩小了体积,简化了电路,降低了
16、损坏、错误率,也方便于更换。此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。1.2 课题的目的和意义1.2.1 选题目的在日常的工作和生活中,住宅的安全防范以及一些个人资料的保存等一系列安全防盗问题已成为社会普遍关注的问题。传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,且人们经常需要携带多把钥匙,使用起来非常的不方便,钥匙丢失后安全性降低。电子密码锁的产生使得这些问题得到改善,密码锁因具有安全性高、成本低、无磨损、寿命长、功耗低、易操作等优点,受到了广大用户的青睐,用户只需简单的记住密码便可对家庭或者保险柜上锁。本设计采用单片机AT89C51作为单片机的核心单
17、元,设计一款具有本机开锁,密码更改和报警功能的电子密码锁。即简单又适用。1.2.2 选题意义电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。通过本次毕设可以促进加深对单片机、数电模电知识的掌握,也可以熟悉PROTEUS、KEIL环境下设计一个单片机系统的方法,并进一步促进电子密码锁知识的普及和发展。1.3 国内外研究现状与水平目前,在西方发达国家,电子密码锁技术相对先进,种类齐全,电子密码锁已被广泛应用于智能门禁系统中。国内有几个厂生产供应市场。但国内自行研制开发的电子锁,其市场结构尚未形成,应用还不广泛。电子密码锁越来越普及到平常化,
18、未来的发展前景非常的大。希望通过不断的努力,使电子密码锁在我国也能得到广泛应用。目前使用的电子密码锁大部分是基于单片机技术,以单片机为主要器件,其编码器与解码器的生成为软件方式。相比传统的机械式钥匙开锁携带不方便、安全性能差等特点,电子密码锁有易操作、功耗低等优势,使其越来越成为市场上的主流产品。1.4 发展趋势当今电子密码锁发展已经到了非常高的境界,由于电子元件特别是单片机应用在这几年得到空前发展,无论功能性,稳定性都比较全面,在保密方面已做到人眼识别,指纹识别,人声识别基本上电影上有的现实也有。在国外发展比较早,所以应用也比较广泛,主要在家庭装较贵重地方,银行,保险柜等应用较多,在国内这方
19、面发展也较快,不管自己开发或是引进都有,在重要地方应用也较多,由于价钱比普通弹子锁较贵,早几年应用较少,现在越来越普及到平常化,未来的发展也会越来越被大众采用,由于它的功能、安全是弹子锁无法相比的。发展前境也是非常大的。1.5 本设计特点本设计采用AT89C51单机,研制了一款具有防盗自动报警功能的电子密码锁。该密码锁设计方法合理,简单易行,成本低,符合住宅、办公室用锁要求,具有一定的推广价值。(1)系统设置4位密码,密码通过键盘输入,若密码正确,则将锁打开。(2)密码由用户自己设定,在开锁状态下,用户可自行修改密码。(3)具有自动报警功能。系统工作时,用户通过按键输入4位密码,单片机将输入密
20、码与设定密码进行比较,若密码正确,则发出开锁信号,将门打开,系统不报警;若密码不正确,会显示输入错误,重新输入密码的次数超过3次,将会发出报警信号。 2 分析2.1 方案选择现今常见的密码锁设计主要有以下两种方案。方案一:中规模集成电路控制用以74LS112双JK触发器构成的数字逻辑电路作为密码锁的核心控制,将密码保存在JK触发器中,与输入密码通过比较器比较,判断结果是否相符合。采用数字电路设计的方案好处就是设计简单,但物理实现结构较为复杂且重新设置密码、输入密码的操作过程也会给用户带来一定的不方便,故不采用。 方案二:采用一种是用以AT89C51为核心的单片机控制方案选用AT89C51单片机
21、作为系统的核心部件,系统主要由单片机系统、矩阵键盘、LED显示和报警系统组成。利用单片机的灵活的编程设计和丰富的I/O端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加声光提示功能甚至还能添加掉电存储和遥控控制功能等,能在很大程度上扩展功能,方便对系统进行升级实现控制与处理的功能。因此综合考虑,本系统采用方案二。2.2 总体设计思路本设计采用以单片机为核心元件的控制方案。综合考虑单片机的性能后,选择AT89C51为核心元件。利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的密码锁功能。本设计主要由单片机、矩阵键盘、液晶显示器和密码存储等部分组成。在单片机的外围电
22、路外接输入键盘用于密码的输入和一些功能的控制,外接AT24C02芯片用于密码的存储,外接LCD1602显示器用于显示作用。用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或者报警电路控制开锁还是报警。本系统共有两部分构成,即硬件部分与软件部分。其中硬件部分由键盘输入电路、复位电路、晶振电路、显示电路、报警电路等组成,软件部分对应的由主程序、初始化程序、LCD显示程序、键盘扫描程序、启动程序、关闭程序、键功能程序、密码设置程序、EEPROM读写程序和延时程序等组成。2.2.1 系统实现功能1正确输
23、入四位密码的之后,按开锁键,有开锁提示;2错误输入密码情况下,提示错误;开锁密码错3次,启动报警电路;3用户可以自行设定和修改密码;4液晶显示屏直接显示密码输入情况。2.2.2 系统运行过程初始状态为闭锁,此时整个系统等待按键输入,液晶显示屏显示上锁状态。每按下一位数据键,液晶显示屏相应的显示一个“*”标志,当密码全部输入完成后,按下开锁键,系统判断密码是否正确,正确则开锁,以发光二极管亮为打开标志,错误则提示错误,此后继续等待按键;密码输入错误三次以后,系统会发出报警蜂鸣声。需要重置密码操作等,均可以通过键盘输入控制。2.2.3 系统总设计结构图89C51单片机输入电路报警电路开锁电路存储电
24、路显示电路晶振电路图2.1 总体设计结构图本设计由主控芯片51单片机,单片机时钟电路,键盘,和开锁电路组成。单片负责控制整个系统的执行过程。2.3 主要元器件介绍2.3.1 AT89C51介绍 图2.2 AT89C51引脚图本次毕业设计选用的是AT89C51,AT89C51是一种带4K字节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集
25、和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。(1) AT89C51主要特性1. 与MCS-51 兼容2. 4K字节可编程FLASH存储器3. 寿命:1000写/擦循环4. 数据保留时间:10年5. 全静态工作:0Hz-24MHz6. 三级程序存储器锁定7. 128×8位内部RAM832可编程I/O线9. 两个16位定时器/计数器105个中断源11可编程串行通道12. 低功耗的闲置和掉电模式13. 片内振荡器和时钟电路(2) AT89C51单片
26、机引脚VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。 P
27、2口: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”后,它们
28、被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,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
29、/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问
30、外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 振荡器特性: XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有
31、余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。2.3.2 LCD1602显示器介绍液晶显示模块已作为很多电子产品中都可以看到,显示的主要是数字、专用符号和图形。1602型LCD显示模块具有体积小,功耗低,显示内容丰富等特点。1602型LCD可以显示2行16个字符,有8位数产品的通过器件,如在计算器、万用表、电子表及很多家用电子据总线D0-D7和RS,R/W,EN三个控制端口,工作电压为5V,并且具有字符对比度调节和背光功能。引脚功能说明:LCD1602采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明,如表2-
32、1所示:表2- 1 LCD1602引脚接口说明表编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择(H/L)12D5数据5R/W读/写选择(H/L)13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存
33、器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。2.3.3 存储芯片AT24C02介绍AT24C02是美国Atmel公司的低功耗CMOS型E²PROM,内含256×8位存储空间,具有工作电压宽(2.55.5 V)、擦写次数多(大于10000次)、写入速度快(小于
34、10 ms)、抗干扰能力强、数据不易丢失、体积小等特点。而且他是采用了I²C总线式进行数据读写的串行器件,占用很少的资源和I/O线,并且支持在线编程,进行数据实时的存取十分方便。AT24C02中带有的片内地址寄存器。每写入或读出一个数据字节后,该地址寄存器自动加1,以实现对下一个存储单元的读写。所有字节均以单一操作方式读取。为降低总的写入时间,一次操作可写入多达8个字节的数据。I2C总线是一种用于IC器件之间连接的二线制总线。他通过SDA(串行数据线)及SCL(串行时钟线)两根线在连到总线上的器件之间传送信息,并根据地址识别每个器件。 AT24C02正是运用了I²C规程,使
35、用主/从机双向通信,主机(通常为单片机)和从机(AT24C02)均可工作于接收器和发送器状态。主机产生串行时钟信号(通过SCL引脚)并发出控制字,控制总线的传送方向,并产生开始和停止的条件。无论是主机还是从机,接收到一个字节后必须发出一个确认信号ACK。AT24C02的控制字由8位二进制数构成,在开始信号发出以后,主机便会发出控制字,以选择从机并控制总线传送的方向。管脚描述:SCL 为串行时钟:串行时钟输入管脚用于产生器件所有数据发送或接收的时钟这是一个输入管脚。SDL 为串行数据/地址:双向串行数据/地址管脚用于器件所有数据的发送或接收SDL,是一个开漏输出管脚可与其它开漏输出或集电极开路输
36、出进行线或。A0、A1、A2 为器件地址输入端:当使用24C02 时最大可级联8个器件,如果只有一个24C02被总线寻址,这三个地址输入脚A0、A1、A2可悬空或连接到Vss。WP为写保护:如果WP 管脚连接到Vcc 所有的内容都被写保护只能读当WP, 管脚连接到Vss 或悬空,允许器件进行正常的读/写操作。管脚图如图2.3所示。 图2.3 AT24C02引脚图2.3.4 I2C总线介绍I2C(InterIntegrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管
37、理中使用,其中包括单个组件状态的通信。例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如电源和系统风扇。I2C总线的硬件结构:I2C串行总线一般有两根信号线,一根是双向的数据线SDA,另一根是时钟线SCL。所有接到I2C总线设备上的串行数据SDA都接到总线的SDA上,各设备的时钟线SCL接到总线的SCL上。为了避免总线信号的混乱,要求各设备连接到总线的输出端时必须是开漏输出或集电极开路输出。设备上的串行数据线SDA接口电路应该是双向的,输出电路用于向总线上发送数据,输入电路用于接收总线上的数据。而串行时钟线也应是双向的,作为控制总线数据传送的主机。 总线的运行(数据传输)
38、由主机控制。所谓主机是指启动数据的传送(发出启动信号)、发出时钟信号以及传送结束时发出停止信号的设备,通常主机都是微处理器。被主机寻访的设备称为从机。为了进行通讯,每个接到I2C总线的设备都有一个唯一的地址,以便于主机寻访。主机和从机的数据传送,可以由主机发送数据到从机,也可以由从机发到主机。凡是发送数据到总线的设备称为发送器,从总线上接收数据的设备被称为接受器。总线的构成及信号类型:I2C总线是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。在CPU与被控IC之间、IC与IC之间进行双向传送,最高传送速率100kbps。各种被控制电路均并联在这条总线上,但就像电话机一样只有拨通各
39、自的号码才能工作,所以每个电路和模块都有唯一的地址,在信息的传输过程中,I2C总线上并接的每一模块电路既是主控器(或被控器),又是发送器(或接收器),这取决于它所要完成的功能。I2C总线在传送数据过程中共有三种类型信号, 它们分别是:开始信号、结束信号和应答信号。开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。结束信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。 应答信号:接收数据的IC在接收到8bit数据后,向发送数据的IC发出特定的低电平脉冲,表示已收到数据。CPU向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU接收到应答信号后,根据实
40、际情况作出是否继续传递信号的判断。若未收到应答信号,由判断为受控单元出现故障。如图2.4所示SDASCL开始结束图2.4 开始结束信号图目前有很多半导体集成电路上都集成了I2C接口。带有I2C接口的单片机有:CYGNAL的 C8051F0XX系列,PHILIPSP87LPC7XX系列,MICROCHIP的PIC16C6XX系列等。很多外围器件如存储器、监控芯片等也提供I2C接口。总线基本操作:I2C规程运用主/从双向通讯。器件发送数据到总线上,则定义为发送器,器件接收数据则定义为接收器。主器件和从器件都可以工作于接收和发送状态。 总线必须由主器件(通常为微控制器)控制,主器件产生串行时钟(SC
41、L)控制总线的传输方向,并产生起始和停止条件。SDA线上的数据状态仅在SCL为低电平的期间才能改变,SCL为高电平的期间,SDA状态的改变被用来表示起始和停止条件。1) 控制字节:在起始条件之后,必须是器件的控制字节,其中高四位为器件类型识别符(不同的芯片类型有不同的定义,EEPROM一般应为1010),接着三位为片选,最后一位为读写位,当为1时为读操作,为0时为写操作。2)写操作:写操作分为字节写和页面写两种操作,对于页面写根据芯片的一次装载的字节不同有所不同。3) 读操作:读操作有三种基本操作:当前地址读、随机读和顺序读。图4给出的是顺序读的时序图。应当注意的是:最后一个读操作的第9个时钟
42、周期不是“不关心”。为了结束读操作,主机必须在第9个周期时发出停止条件或者在第9个时钟周期内保持SDA为高电平、然后发出停止条件。2.3.5 矩阵键盘介绍图2.5 矩阵键盘在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图2.5所示。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。矩
43、阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,上图中,列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。这样,当按键没有按下时,所有的输入端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。 3 设计3.1 硬件设计3.1.1 单片机的晶振、复位电路图3.1 晶振、复位电路单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作,无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。复位电路具有上电自动复位和手动复位的
44、双重功能。单片机的RST引脚是复位信号的输入端,复位信号是高电平的时候才有效,其有效时间应持续24个震荡脉冲周期,即2个机器周期以上;通常为了保证应用系统能够准确地复位,复位电路应使引脚RST脚保持10ms以上的高电平状态。只要RST保持高电平,单片机就会自动循环复位。当RST引脚从高电平状态转为低电平状态时,单片机退出复位状态,从程序存储器的0000H地址开始执行用户程序。电容C3和电阻R5组成上电复位电路。上电瞬间RST引脚获得高电平,随着电容C11的充电,RST引脚的高电平逐渐下降。只要高电平保持足够的时间,单片机就能完成复位。手动复位的原理与此类似。AT89C51引脚XTAL1和XTA
45、L2与晶体振荡器及电容C2、C1按图3.1所示方式连接。晶振、电容C2C3及片内与非门(作为反馈、放大元件)构成了电容三点式振荡器,振荡信号频率与晶振频率及电容C1、C2的容量有关,但主要由晶振频率决定。根据实际情况,本设计中采用12MHZ做系统的外部晶振。电容取值为22pF。3.1.2 键盘输入电路键盘是单片机十分重要的输入设备,是实现人机对话的纽带。由于本设计所用到的按键数量较多而不适合用独立按键式键盘。采用的是矩阵式按键键盘,一个按键实际上就是一个开关元件,即键盘是一组规则排列的开关。与AT89C51的P1口相连,提供按键输入,它由行线和列线组成,也称行列式键盘,按键位于行列的交叉点上,
46、密码锁的密码由键盘输入完成,与独立式按键键盘相比,要节省很多I/O口。本设计中使用的这个4*4矩阵式键盘,键盘的每个按键功能在程序设计中设置,本键盘即能完成密码的输入,还能作特别功能键使用,修改密码键等。键盘功能图如图3.2所示:图3.2 键盘输入模块表3-1 按键功能按 键键 名功 能 说 明09键数字键输 入 密 码开锁键开锁键开锁上锁键上锁键上锁输入新密码键输入键输入密码保存新密码键保存键保存密码重新输入键输入键重新输入密码3.1.3 显示电路 图3.3 显示电路显示电路如图3.3所示。本设计的显示部分由液晶显示器LCD1602完成。其4个位选信号与P2.0-P2.3相连,当其中某位为低
47、电平时表示选中该位;8段段选信号与P0口相连,当其中某段为高电平时导通该段。由于AT89C51的P0口的驱动能力较弱,不足以驱动数码管点亮,故在此又引入上拉电阻RP1以驱动数码管。关于上拉电阻有如下介绍:1、 当TTL电路驱动CMOS电路时,如果电路输出的高电平低于CMOS电路的最低高电平(一般为3.5V), 这时就需要在TTL的输出端接上拉电阻,以提高输出高电平的值。 2、OC门电路必须加上拉电阻,以提高输出的高电平值。3、为加大输出引脚的驱动能力,有的单片机管脚上也常使用上拉电阻。4、在CMOS芯片上,为了防止静电造成损坏,不用的管脚不能悬空,一般接上拉电阻产生降低输入阻抗, 提供泄荷通路
48、。5、芯片的管脚加上拉电阻来提高输出电平,从而提高芯片输入信号的噪声容限增强抗干扰能力。6、提高总线的抗电磁干扰能力。管脚悬空就比较容易接受外界的电磁干扰 。7、长线传输中电阻不匹配容易引起反射波干扰,加上下拉电阻是电阻匹配,有效的抑制反射波干扰。3.1.4 存储电路AT24C02是一个2K位串行CMOS E2PROM, 内部含有256个8位字节,CATALYST公司的先进CMOS技术实质上减少了器件的功耗。AT24C02有一个16字节页写缓冲器。该器件通过IC总线接口进行操作,有一个专门的写保护功能。采用两线串行的总线和单片机通讯,电压最低可以到2.5V,额定电流为1mA,静态电流10UA(
49、5.5V),芯片内的资料可以在断电的情况下保存40年以上,而且采用8脚的DIP封装,使用方便。 如图3.4 存储电路。图3.4 存储电路3.1.5 报警电路当有键按一下,发声一次,密码正确时,开锁,当密码输入三次的数值与所设定的参数值不同时,单片机AT89C51便通过P2.7口控制三极管来驱动扬声器报警,当输出低电平时三极管截止,当输出高电平时三极管导通扬声器报警。如图3.5报警时显示屏上显示。图3.5 报警显示3.1.6 开锁电路开锁电路的功能是当输入正确的密码后密码锁将开锁。 图3.6 开锁电路如图3.6所示。当用户输入的密码正确时,单片机便输出开门信号,送到开锁驱动电路,然后驱动电磁锁,
50、达到开门的目的。在设计中,暂时用发光二极管代替电磁锁,发光管发出黄色光,表示开锁;不发光时,表示没有开锁。3.1.7 生成电路图单片机电子密码锁的基本原理是:从矩阵键盘输入一组四位密码,单片机把该密码和设置密码进行比较,若输入的密码正确,则控制电磁锁动作,将电磁锁抽回,从而将锁打开;若输入的密码不正确,则重新输入,并记录错误次数,如果3次错误,则被强制锁定并报警。在选择好各部分元件后,使用Proteus进行仿真,生成整体仿真图3.7如下。图3.7 整体仿真图3.1.8 元器件采购元器件清单表3-2元器件清单原件名称备注单片机AT89C51电阻R1,R210K,100K各一只电解电容C31uF无
51、极电容C1,C222pFLCD液晶屏一个5V蜂鸣器一个晶振12MHZ上拉电阻一个4X4键盘一个LED D1黄一个万能电路板1块3.2 软件设计一个应用系统要完成各项功能,在有较完善的硬件作保证的情况下,同时还必须得到相应设计合理的软件的支持,许多由硬件完成的工作,用软件编程有时会变得很简单。因此充分利用其内部丰富的硬件资源和软件资源,采用与C51系列单片机相对应的51汇编语言和结构化程序设计方法进行软件编程。程序设计语言有三种:机器语言、汇编语言和高级语言。机器语言是机器唯一能“懂”的语言,用汇编语言或高级语言编写的程序(称为源程序)最终都必须翻译成机器语言的程序(成为目标程序),计算机才能“看懂”,然后逐一执行。高级语言是面向问题和计算过程的语言,它可通过于各种不同的计算机,用户编程时不必仔细了解所用的计算机的具体性能与指令系统,而且语句的功能强,常常一个语句已相当于很多条计算机指令,于是用高级语言编制程序的速度比较快,也便于学习和交流,但是本系统却选用了汇编语言。原因在于,本系统是编制程序工作量不大、规模较小的单片机微控制系统,使用汇编语言可以不用像高级语言那样占用较多的存储空间,适合于存储容量较小的系统。本系统软件设计由主程序、键盘扫描程序、密码设置修改程序、开锁程序、LCD显示程序、密码设置程序、延时程序等组成。3.2.1 主程序(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 污水处理厂污泥暂存管理制度
- 某针织厂车间通道制度
- 某针织厂平缝机操作制度
- 天幕营地活动方案策划(3篇)
- 观测房施工方案(3篇)
- 五一充电活动策划方案(3篇)
- 二甲基甲酰胺装置操作工操作规范模拟考核试卷含答案
- 双酚A装置操作工创新实践考核试卷含答案
- 注水泵工操作模拟考核试卷含答案
- 酱油制作工岗前技术应用考核试卷含答案
- 《压缩空气储能电站工程概(估)算费用标准》
- 完整版叙事护理
- 医院技术咨询合同范本
- 医疗器械销售年度总结汇报
- T-CITS 273-2025 化工产品热安全检测实验室认可技术规范
- 供货期承诺及保证措施
- 科研外协管理办法
- 银行清分管理办法
- 毒品知识课件图片
- 哈铁单招数学试卷
- 农产品质量安全检测员岗位面试问题及答案
评论
0/150
提交评论