收藏 分享(赏)

基于-单片机的红外遥控电子密码锁设计.doc

上传人:春华秋实 文档编号:3630647 上传时间:2018-11-14 格式:DOC 页数:69 大小:2.25MB
下载 相关 举报
基于-单片机的红外遥控电子密码锁设计.doc_第1页
第1页 / 共69页
基于-单片机的红外遥控电子密码锁设计.doc_第2页
第2页 / 共69页
基于-单片机的红外遥控电子密码锁设计.doc_第3页
第3页 / 共69页
亲,该文档总共69页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、.基于单片机的红外遥控电子密码锁设计摘要:在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。本设计是基于 51 单片机设计的六位红外遥控密码锁,具有本机开锁遥控开锁,报警,工作状态液晶显示功能。密码锁具有安全性高、成本低、功耗低、易操作等优点。关键词:红外电子密码锁;报警;液晶显示;The Design of Infrared Remote Control Combination Lock Xiao peng(Grade 09,Class 3,Major electronics and information engineerin

2、g ,the school of physics and telecommunications engineering,Shaanxi University of Technology,Hanzhong 723003,Shaanxi)Tutor:Zhu Yaliabstract:In daily life and work, with department of housing security, unit documents, financial statements and some personal information using lock to save. This design

3、is based on 51 single-chip with infrared remote control combination lock, with unlock the machine remote control lock, alarm and working status of liquid crystal display function. Combination lock with high safety, low cost, low power consumption, easy operation, etc.Key words:Infrared electronic co

4、mbination lock;The .alarm; Liquid crystal display (LCD);目录1 引言 31.1 电子密码锁的背景与研究意义 31.2 红外电子密码锁的现状及发展趋势 .41.3 课题研究方法 .52 红外通信原理 52.1 红外的发射和接收 .52.1.1 编码解码 62.1.2 调制 72.1.3 解调接收 73 硬件电路设计 73.1 整系统框图 .73.2 设计思想 83.3 有关芯片的简介 .93.3.1 单片机 AT89C51 93.3.2 存储芯片 AT24C02 介绍 113.3.3 I2C 总线介绍 123.3.4 LCD1602 液晶显

5、示 .153.3.5 红外接收头 183.4 电路图的设计 .193.4.1 复位电路 .193.4.2 振荡电路 .203.4.3 继电器驱动电路 .203.4.4 24C02 .213.4.5 LCD 1602 .214 系统软件设计 .224.1 KEIL 软件的简介 224.2 系统功能子程序 224.2.1 数据读写模块 .224.2.2 红外发射接收模块 .244.2.5 主流程图 .265 电路仿真及调试 .27.5.1 报警电路 275.2 显示电路 275.3 开锁电路 28致谢 .29参考文献 .30附录 A 外文资料翻译 .31附录 B 源程序 .38附录 C 电路图 .

6、60.1 引言1.1 电子密码锁的背景与研究意义在当今社会,安全防盗已成为社会问题,而锁自古以来就是防盗的重要工具,目前国内大部分人使用的还是传统的机械锁,然而,眼下假冒伪劣的机械锁互开率非常之高,此外,即使是一把质量过关的机械锁,通过急开锁,甚至可以在不损坏锁的前提下将锁打开。机械锁的这些弊端为一种新型的锁电子密码锁,提供了很大的发展空间。由于红外遥控具有许多优点, 例如红外线发射装置采用红外发光二极管遥控发射器易于小型化且价格低廉; 采用数字信号编码和二次调制方式,不仅可以实现多路信息的控制,增加遥控功能,提高信号传输的抗干扰性,减少误动作,而且功率消耗低;红外线不会向室外泄露,不会产生信

7、号串扰;反应速度快、传输效率高、工作稳定可靠等。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。所以红外线遥控是目前使用最广泛的一种通信和遥控手段。 在本设计中,红外遥控密码锁和 PC 机、数据库相结合,能够实现适时的、强大的管理,使得整个红外遥控系统得到更好的完善。 本文从经济实用的角度出发,设计采用单片机为主控芯片,结合外围电路,组成电子密码控制系统,密码锁共 6 位密码,每位的取值范围为 09,用户可以自行设定和修改密码,每个密码按键都有声、光提示。用户想要打开锁,必先通过提供的键盘输入正确的密码才可以,密码输入错误有提示,为了提高安

8、全性,当密码输入错误将报警,期间输入密码无效,以防窃贼多次试探密码。六位密码同时输入正确,锁才能打开。其特点如下:1) 保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零。2) 密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降。3) 误码输入保护,当输入密码多次错误时,报警系统自动启动。.1.2 红外电子密码锁的现状及发展趋势在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。在安全技术防

9、范领域,随着单片机的问世,出现了带微处理器的密码锁,它除具有电子密码锁的功能外,还引入了智能化、科技化等功能,从而使密码锁具有很高的安全性、可靠性。当今电子密码锁发展已经到了非常高的境界,由于电子元件特别是单片机应用在这几年得到空前发展,无论功能性,稳定性都比较全面,在保密方面已做到人眼识别,指纹识别,人声识别基本上电影上有的现实也有。在国外发展比较早,所以应用也比较广泛,主要在家庭装较贵重地方,银行,保险柜等应用较多,在国内这方面发展也较快,不管自己开发或是引进都有,在重要地方应用也较多,由于价钱比普通弹子锁较贵,早几年应用较少,现在越来越普及到平常化,未来的发展也会越来越被大众采用,由于它

10、的功能、安全是弹子锁无法相比的5。发展前境也是非常大的。目前大部分的锁采用的都是机械式的,其最大的缺点是利用简单工具就能很容易地把锁打开。针对这种情况,我们设计了一种红外遥控密码锁,而一般设备都采用专用的遥控编码及解码集成电路,其制作简单、容易,但由于特定功能的限制,只适用于专用的电器产品,其应用范围受到限制。而设计的红外遥控密码锁系统能提高门禁系统的可靠性和安全性,适应市场需要。该系统具有普通电子密码锁功能的同时,还增加了遥控功能。该系统具有较强的实际应用价值,所涉及的技术包括:红外载波数据传输技术、单片机控制技术、红外遥控系统编码及译码技术、电路设计与演示板制作技术等。1.3 课题研究方法

11、主要的设计实施过程:首先,选用 ATMEL 公司的单片机 AT89C51,.以及选购其他电子元器件。第二步,使用 PROTEL99 完成原理图,并设计 PCB 图完成人工布线(后因 PCB 板损坏决定采用万能板焊接的方法) 。第三步,使用 Keil uVision3 软件编写单片机的 C 语言程序、仿真、软件调试。第四部,使用 PROTEUS 软件进行模拟软、硬件调试。最后,联合软、硬件调试电路板,完成本次设计。2 红外通信原理红外遥控有发送和接收两个组成部分。发送端采用单片机将待发送的二进制信号编码调制为一系列的脉冲串信号,通过红外发射管发射红外信号。红外接收完成对红外信号的接收、放大、检波

12、、整形,并解调出遥控编码脉冲。为了减少干扰, 采用的是价格便宜性能可靠的一体化红外接收头(HX1838, 它接收红外信号频率为 38kHz,周期约26 s) 接收红外信号,它同时对信号进行放大、检波、整形得到 TTL 电平的编码信号,再送给单片机,经单片机解码并执行去控制相关对象。图 2 原理方框图(编码与解码是一对逆过程,不仅在原理上是一对逆过程,在码的发收过程也是互反的,即以前发射端原始信号是高电平,那接收头输出的就是低电平,反之亦然。 )2.1 红外的发射和接收红外线波长在 750nm 至 1um 之间的电磁波,它的频率低于可见光,是一种人的眼睛看不到的光线。红外遥控具有抗干扰能力强,信

13、息传输可靠,功耗低,成本低,易于实现等显著优点。红外遥控由发送和接收两部分组成,发送端采用单片机将待发送的二进制信号编码调制为一系列的脉冲信号,通过红外发射管发射红外信号。红外接收采用性能可靠的一体化红外接收头接收红外信号,它同时对信号进行放大,检波,整形,得到 TTL 电平的编码信号,再送给单片机,经单片机解码并进行相关操作。发送与接收示意图如下所示:单片机 红外发射电路 HX1838 单片机.图 2.2 发射与接收示意图2.1.1 编码解码0的编码与解码0.56ms 0.56ms0.56ms0.56ms 1的编码与解码1.685ms0.56ms1.685ms 0.56ms图 2.2 编码与

14、解码遥控编码脉冲由前导码、16 位地址码(8 位地址码、8 位地址码 1的反码)和 16 位操作码(8 位操作码、8 位操作码的反码)组成。前导码:是一个遥控码的起始部分,由一个 9ms 的高电平 ( 起始码 ) 和一个 4. 5ms 的低电平 ( 结果码 )组成,作为接受数据的准备脉冲。16 位地址码:能区别不同的红外遥控设备,防止不同机种遥控码互相干扰。16 位操作码:用来执行不同的操作。采用脉宽调制的串行码,以脉宽为 0.56ms、间隔 0.56ms、周期 2为 1.12ms 的组合表示二进制的“0” ;以脉宽为 1.68ms、间隔.0.56ms、周期为 2.24ms 的组合表示二进制的

15、“1” 。2.1.2 调制上述“0”和“1”组成的 32 位二进制码经 38kHz 的载频进行二次调制,然后再通过红外发射二极管产生红外线向空间发射。一般电视遥控器的遥控编码是连续的 32 位二进制码组,其中前 16 位为用户识别码,能区别不同的红外遥控设备,防止不同机种遥控码互相干扰。后 16 位为 8 位的操作码和 8 位的操作反码,用于核对数据是否接收准确。根据红外编码的格式,发送数据前需要先发送 9ms 的起始码和4.5ms 的结果码。遥控串行数据编码波形如下图所示:图 2.3 编码波形2.1.3 解调接收接收方一般使用 HX1838 一体化红外线接收器进行接收解码,当HX1838 接

16、收到 38kHz 红外信号时,输出端输出低电平,否则为高电平。所以红外遥控器发送红外信号时,参考上面遥控串行数据编码波形图,在低电平处发送 38kHz 红外信号,高电平处则不发送红外信号。红外接收完成对红外信号的接收、放大、检波、整形,并解调出遥控编码脉冲。为了减少干扰,采用的是价格便宜性能可靠的一体化红外接收头(HX1838,它接收红外信号频率为 38kHz,周期约 26us) 接收红外信号,它同时对信号进行放大、检波、整形得到 TTL 电平的编码信号,再送给单片机,经单片机解码并执行去控制相关对象。.3 硬件电路设计3.1 整系统框图图 3.1 遥控器整体框图图 3.2 本机总体框图该系统

17、由发射模块和接收模块两部分构成,遥控器发射模块可以随身携带,只要在接收器附近,即可遥控开锁;接收器则集开锁、修改密码、报警和显示于一体。3.2 设计思想AT89C514*4 键盘复位电路发射电路AT89C51警报电路开锁电路1602 显示电路复位电路接收电路24c02 存储电路4*4 键盘.本系统采用单片机 AT89C2051 和 AT89C52 作为核心的元件,利用红外遥控原理和单片机相关功能设计的一款具有本机开锁,遥控开锁和可修改密码的电子密码锁。发射接收电路图如下:(a) (b) 图 3.3 发射与接收3.3 有关芯片的简介3.3.1 单片机 AT89C51 .图 3.4 AT89C51

18、 管脚图AT89C51 是美国 ATMEL 公司生产的低电压,高性能 CMOS8 位单片机,片内含 4K bytes 的可反复擦写的只读程序存储器(EPROM)和128bytes 的随机存取数据序存器(RAM) ,器件采用 ATMEL 公司的高密度/非易失性存储技术生产,兼容标准 MCS-51 指令系统,片内置通用8 位中央处理器(CPU)和 FLASH 存储单元,AT89C51 单片机为许多嵌入式控制系统提供了一种灵活行高且价廉的方案。1)主要特性: 8031 CPU 与 MCS-51 兼容 4K 字节可编程 FLASH 存储器(寿命:1000 写/擦循环) 全静态工作:0Hz-24KHz

19、三级程序存储器保密锁定 128*8 位内部 RAM 32 条可编程 I/O 线 两个 16 位定时器/计数器 6 个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路2)管教说明:VCC:供电电压。GND:接地。P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL门电流。当 P1 口的管脚第一次写 1 时,被定义为高阻输入。P0 能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH 编程时,P0 口作为原码输入口,当 FIASH 进行校验时,P0 输出原码,此时 P0 外部必须被拉高。P1 口:P1 口是一个内部提供上拉电阻的

20、8 位双向 I/O 口,P1 口缓冲器能接收输出 4TTL 门电流。P1 口管脚写入 1 后,被内部上拉为高,可用作输入,P1 口被外部下拉为低电平时,将输出电流,这是由于内.部上拉的缘故。在 FLASH 编程和校验时,P1 口作为第八位地址接收。P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收,输出 4 个 TTL 门电流,当 P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时,P2 口输出地址的高八

21、位。在给出地址“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

22、)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。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:

23、每当用作外部数据存储器时,将跳过一个 ALE 脉冲。如想禁止ALE 的输出可在 SFR8EH 地址上置 0。此时, ALE 只有在执行.MOVX,MOVC 指令是 ALE 才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态 ALE 禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN 有效。但在访问外部数据存储器时,这两次有效的/PSEN 信号将不出现。/EA/VPP:当/EA 保持低电平时,则在此期间外部程序存储器(0000H-FFFFH) ,不管是否有内部程序存储器。注意加密方式 1 时,/EA 将内部锁定为 RESET;当

24、/EA 端保持高电平时,此间内部程序存储器。在 FLASH 编程期间,此引脚也用于施加 12V 编程电源(VPP) 。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。3) 震荡特性XTAL1 和 XTAL2 分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2 应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。4) 芯片擦除整个 PEROM 阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持 A

25、LE 管脚处于低电平 10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51 设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU 停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存 RAM 的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。3.3.2 存储芯片 AT24C02 介绍管脚图如图所示:.AT24C02 是美国 Atmel 公司的低功耗 CMOS 型 EPROM,内含 2568位存储空间,具有工作电压宽(2.55.5 V

26、)、擦写次数多(大于 10000次)、写入速度快(小于 10 ms)、抗干扰能力强、数据不易丢失、体积小等特点。而且他是采用了 IC 总线式进行数据读写的串行器件,占用很少的资源和 I/O 线,并且支持在线编程,进行数据实时的存取十分方便。AT24C02 中带有的片内地址寄存器。每写入或读出一个数据字节后,该地址寄存器自动加 1,以实现对下一个存储单元的读写。所有字节均以单一操作方式读取。为降低总的写入时间,一次操作可写入多达 8 个字节的数据。I2C 总线是一种用于 IC 器件之间连接的二线制总线。他通过 SDA(串行数据线)及 SCL(串行时钟线)两根线在连到总线上的器件之间传送信息,并根

27、据地址识别每个器件。 AT24C02 正是运用了 IC 规程,使用主/从机双向通信,主机(通常为单片机)和从机(AT24C02)均可工作于接收器和发送器状态。主机产生串行时钟信号(通过 SCL 引脚)并发出控制字,控制总线的传送方向,并产生开始和停止的条件。无论是主机还是从机,接收到一个字节后必须发出一个确认信号 ACK。AT24C02 的控制字由 8 位二进制数构成,在开始信号发出以后,主机便会发出控制字,以选择从机并控制总线传送的方向。管脚描述:SCL 为串行时钟:串行时钟输入管脚用于产生器件所有数据发送或接收的时钟这是一个输入管脚。SDL 为串行数据/地址:双向串行数据/地址管脚用于器件

28、所有数据的发送或接收 SDL,是一个开漏输出管脚可与其它开漏输出或集电极开路输出进行线或。A0、A1、A2 为器件地址输入端:.当使用 24C02 时最大可级联 8 个器件,如果只有一个 24C02 被总线寻址,这三个地址输入脚 A0、A1、A2 可悬空或连接到 Vss。WP 为写保护:如果 WP 管脚连接到 Vcc 所有的内容都被写保护只能读当 WP, 管脚连接到 Vss 或悬空,允许器件进行正常的读/写操作12。3.3.3 I2C 总线介绍I2C(InterIntegrated Circuit)总线是一种由 PHILIPS 公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C 总

29、线产生于在 80 年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信。例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如电源和系统风扇。I2C 总线的硬件结构:I2C 串行总线一般有两根信号线,一根是双向的数据线 SDA,另一根是时钟线 SCL。所有接到 I2C 总线设备上的串行数据 SDA 都接到总线的 SDA 上,各设备的时钟线 SCL 接到总线的 SCL 上。为了避免总线信号的混乱,要求各设备连接到总线的输出端时必须是开漏输出或集电极开路输出。设备上的串行数据线 SDA 接口电路应该是双向的,输出电路用于向总线上发送数据,输入电路

30、用于接收总线上的数据。而串行时钟线也应是双向的,作为控制总线数据传送的主机。 总线的运行(数据传输)由主机控制。所谓主机是指启动数据的传送(发出启动信号) 、发出时钟信号以及传送结束时发出停止信号的设备,通常主机都是微处理器。被主机寻访的设备称为从机。为了进行通讯,每个接到 I2C 总线的设备都有一个唯一的地址,以便于主机寻访。主机和从机的数据传送,可以由主机发送数据到从机,也可以由从机发到主机。凡是发送数据到总线的设备称为发送器,从总线上接收数据的设备被称为接受器。总线的构成及信号类型:I2C 总线是由数据线 SDA 和时钟 SCL 构成的串行总线,可发送和接收数据。在 CPU 与被控 IC

31、 之间、IC 与 IC 之间进行双向传送,最高传送速率 100kbps。各种被控制电路均并联在这条总线上,但就像电话机.一样只有拨通各自的号码才能工作,所以每个电路和模块都有唯一的地址,在信息的传输过程中,I2C 总线上并接的每一模块电路既是主控器(或被控器) ,又是发送器(或接收器) ,这取决于它所要完成的功能。I2C 总线在传送数据过程中共有三种类型信号, 它们分别是:开始信号、结束信号和应答信号。开始信号:SCL 为高电平时,SDA 由高电平向低电平跳变,开始传送数据。结束信号:SCL 为高电平时,SDA 由低电平向高电平跳变,结束传送数据。 应答信号:接收数据的 IC 在接收到 8bi

32、t 数据后,向发送数据的IC 发出特定的低电平脉冲,表示已收到数据。CPU 向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU 接收到应答信号后,根据实际情况作出是否继续传递信号的判断。若未收到应答信号,由判断为受控单元出现故障。目前有很多半导体集成电路上都集成了 I2C 接口。带有 I2C 接口的单片机有:CYGNAL 的 C8051F0XX 系列,PHILIPSP87LPC7XX 系列,MICROCHIP 的 PIC16C6XX 系列等。很多外围器件如存储器、监控芯片等也提供 I2C 接口。总线基本操作:I2C 规程运用主/从双向通讯。器件发送数据到总线上,则定义为发送器,器件

33、接收数据则定义为接收器。主器件和从器件都可以工作于接收和发送状态。 总线必须由主器件(通常为微控制器)控制,主器件产生串行时钟(SCL)控制总线的传输方向,并产生起始和停止条件。SDA 线上的数据状态仅在 SCL 为低电平的期间才能改变,SCL 为高电平的期间,SDA 状态的改变被用来表示起始和停止条件10。1) 控制字节:在起始条件之后,必须是器件的控制字节,其中高四位为器件类型识别符(不同的芯片类型有不同的定义,EEPROM 一般应为 1010) ,接着三位为片选,最后一位为读写位,当为 1 时为读操作,为 0 时为写操作。2)写操作:写操作分为字节写和页面写两种操作,对于页面写根据芯片的

34、一.次装载的字节不同有所不同。3) 读操作:读操作有三种基本操作:当前地址读、随机读和顺序读。图 4 给出的是顺序读的时序图。应当注意的是:最后一个读操作的第 9 个时钟周期不是“不关心” 。为了结束读操作,主机必须在第 9 个周期时发出停止条件或者在第 9 个时钟周期内保持 SDA 为高电平、然后发出停止条件。3.3.4 LCD1602 液晶显示LCD1602 可显示两行英文字符,并且内带 ASCII 字符库。LCD1602 模块内部可以完成显示扫描,单片机只要向 LCD1602 发送命令和显示内容的 ASCII 码。表 3.1 引脚功能说明引脚符号 功能说明1 VSS 一般接地2 VDD

35、接电源(+5V)3 V0 液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影” ,可以通过一个 10K 的电位器调整对比度) 。4 RS RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。5 R/W R/W 为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。6 E E(或 EN)端为使能(enable)端,下降沿使能。7 DB0 底 4 位三态、 双向数据总线 0 位(最低位)8 DB1 底 4 位三态、 双向数据总线 1 位.图 3.4 LCD1602 引脚图表 3.2 寄存器选择控制表R R/W 操作说明9 DB2

36、 底 4 位三态、 双向数据总线 2 位10DB3 底 4 位三态、 双向数据总线 3 位11DB4 高 4 位三态、 双向数据总线 4 位12DB5 高 4 位三态、 双向数据总线 5 位13DB6 高 4 位三态、 双向数据总线 6 位14DB7 高 4 位三态、 双向数据总线 7 位(最高位) (也是 busy flag)15BLA 背光电源正极16BLK 背光 电源负极.S0 0 写入指令寄存器(清除屏等)0 1 读 busy flag(DB7) ,以及读取位址计数器(DB0DB6)值1 0 写入数据寄存器(显示各字型等)1 1 从数据寄存器读取数据表 3。3 显示地址0011 000

37、0 0x38 设置 162 显示,57 点阵,8 位数据接口;显示开关及光标设置: (初始化)0000 1DCB D 显示(1 有效)、C 光标显示(1 有效)、B 光标闪烁(1 有效)0000 01NS N=1(读或写一个字符后地址指针加 1 &光标加 1),N=0(读或写一个字符后地址指针减 1 &光标减 1),S=1 且 N=1 (当写一个字符后,整屏显示左移)s=0 当写一个字符后,整屏显示不移动数据指针设置:数据首地址为 80H,所以数据地址为 80H+地址码(0-27H,40-67H)其他设置:01H(显示清屏,数据指针=0,所有显示=0);02H(显示回车,数据指针=0)。1 2

38、 3 4 5 6 7 8 9 10 11 12 13 14 15 1600H01H02H03H04H05H06H07H08H09H0AH0BH0CH0DH0EH0FH40H41H42H43H44H45H46H47H48H49H4AH4BH4CH4DH4EH4FH.通常推荐的初始化过程:延时 15ms写指令 38H延时 5ms写指令 38H延时 5ms写指令 38H延时 5ms(以上都不检测忙信号)(以下都要检测忙信号)写指令 38H写指令 08H 关闭显示写指令 01H 显示清屏写指令 06H 光标移动设置写指令 0cH 显示开及光标设置3.3.5 红外接收头图 3.7 红外接收头示意图规格:

39、HX1838(铁壳)宽电压适应、低功耗、高灵敏度、优良的抗干扰特性;应用广泛:家用电器、空调、玩具等红外遥控接收;.表 3.3.5.1 极限参数: 电源电压VCC (v)6.0工作温度TOPR ()-25 +85功 耗PD(mw)35 储存温度TSTG ()-40 +125表 3.3.5.2 光电参数: (T=25 VCC=5V f0=38KHZ) 参 数符号测试条件 MinTypeMax单 位工作电压Vcc2.75.5V接收距离LL5IR5 IF =300mA(测试信号)1017M载波频率f038k HZ接收角度1/2距离衰减1/2+/-45 DegBMP 宽度fBW-3Db Bandwid

40、th23.35 kHz静态电流ICC无信号输入时 -0.81.5mA 低电平输出VOLVin=0V Vcc=5V0.20.4V高电平输出VOHVcc=5V 4.5VccVTPWLVin=500Vp-p 500600700S输出脉冲宽 度 TPWHVin=50mVp-p 500600700S.3.4 电路图的设计3.4.1 复位电路单片机复位是使 CPU 和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作,例如复位后 PC0000H,使单片机从第个单元取指令。无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。在复位期间(即 RST 为高电平期间) ,P0 口为高

41、组态,P1P3 口输出高电平;外部程序存储器读选通信号 PSEN 无效。地址锁存信号 ALE 也为高电平。根据实际情况选择如图 3-4 所示的复位电路。该电路在最简单的复位电路下增加了手动复位按键,在接通电源瞬间,电容 C1 上的电压很小,复位下拉电阻上的电压接近电源电压,即 RST 为高电平,在电容充电的过程中 RST 端电压逐渐下降,当RST 端的电压小于某一数值后,CPU 脱离复位状态,由于电容 C1 足够大,可以保证 RST 高电平有效时间大于 24 个振荡周期,CPU 能够可靠复位。增加手动复位按键是为了避免死机时无法可靠复位。当复位按键按下后电容 C1 通过 R5 放电。当电容 C

42、1 放电结束后,RST 端的电位由 R1 与 R2 分压比决定。由于 R11R15 因此 RST 为高电平,CPU 处于复位状态,松手后,电容 C1 充电,RST 端电位下降,CPU 脱离复位状态。R1 的作用在于限制按键按下瞬间电容 C1 的放电电流,避免产生火花,以保护按键触。图 3.8 复位电路3.4.2 振荡电路E1R1K1R210K.图 3.9 振荡电路3.4.3 继电器驱动电路图 3.10 继电器驱动电路在继电器的使用中要注意的就是电流的驱动还有由于继电器内部是电感所以应加一个二极管泄流如图所示:3.4.4 24C02图 3.11 AT24C02由于只有一个 24C02 所以只需把

43、 A0,A1,A2 接地,按照 I2C 协议,SCL,SDA 需接 10K 上拉电阻。3.4.5 LCD 1602.图 3.12 LCD 1602如上图所示:lcd1602 完成工作状态的显示。4 系统软件设计4.1 KEIL 软件的简介Keil C51 是美国 Keil Software 公司出品的 51 系列兼容单片机 C语言软件开发系统,与汇编相比,C 语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用 C来开发,体会更加深刻。Keil C51 软件提供丰富的库函数和功能强大的集成开发调试工具,全 Windows 界面。另外重要的一点,只要看一下编译

44、后生成的汇编代码,就能体会到 Keil C51 生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。C51 工具包的整体结构,其中 uVision 与 Ishell 分别是 C51 for Windows 和 for Dos 的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用 IDE 本身或其它编辑器编辑 C 或汇编源文件。然后分别由 C51 及 A51 编译器编译生成目标文件(.OBJ)。目标文件可由 LIB51 创建生成库文件,也可以与库文件一起经 L51 连接定位生成绝对目标文件(.ABS)。

45、ABS 文件由 OH51 转换成标准的 Hex 文件,以供调试器 dScope51 或 tScope51 使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如 EPROM 中。4.2 系统功能子程序4.2.1 数据读写模块AT24C02 其读取和写入方框图如下图所示:.(a) (b)图 4.1 数据读写模块流程图4.2.2 红外发射接收模块1)发射模块:将待发射数据缓冲区指定长度的数据以红外线为载波发射出去。每次发送一帧数据原理如上文红外通信原理所述。每按一个键将发送32 个编码信息,和同步码,8 位地址码,8 位地址反码,8 位数据码 8位数据反码,且都采用

46、高位在前,低位在后的顺序。下图为发送同步码和 16 位地址码的程序框图。发送数据与地址过程相似。入口启动 24c02 写入命令、地址读取一字节的数据并存入缓冲区、写入应答数据读完返回NY入口启动 24c02 写入命令、地址读取一字节的数据并存入缓冲区、写入应答数据读完返回NY.调数据 0 的模块发射起始位从数据缓存区取一字节的数据发送完 8 位数据?是数据 0?从高位取一位数调数据 0 的发射模块 调数据 1 的发射模块将数据缓存区取反入口Y N.图 4.2 发送模块程序流程图2)接收与 发送是一个逆过程,单片机外中断 0 以中断 方式检测红外信号的第一个下降沿。下图是其流程图:等待 4.5m

47、s 跨越同步码是否有 9ms 的低电平?入口.图 4.3 接受 模块程序流程图开始接收判断数据0?1 的解码YN0 的解码存储正、反码比对是否一致?4 次?NN YY.4.2.5 主流程图如图所示为主程序流程图,开始接上电源,程序进行初始化设置,然后在键盘上输入密码并判断是否开启接收,此系统进行键盘扫描,密码正确,开锁成功,密码错误出错报警,选择是否修改密码,若要修改密码,先输入旧密码密码,密码正确后设置新密码,错误时报警,确认后,密码修改成功,否则结束最终返回。然后启动程序,进行保护,再次在键盘上输入密码,系统进行扫描,如果和之前一样,则执行相同程序,如不是,则执行另一种程序。图 4.4 主

48、程序框图5 电路仿真及调试5.1 报警电路当用户输入密码时,报警电路发出短促的提示音,当用户输入密码错开始初始化N输入密码或接收密码密码正确? 报警开锁成功?修改密码成功?YNYY开锁.误时,报警电路发出警报。下图是仿真电路图三极管接 P3.5,当 P3.5出现高电平时发声,根据高电平出现时间长短完成不同的提示功能。图 5.1 报警电路5.2 显示电路为了提高密码锁的密码显示效果能力。本设计的显示部分由液晶显示器 LCD1602 取代普通的数码管 来完成。只有按下键盘上的开启按 键后,显示器才处于开启状态。同 理只有按下关闭按键后显示器才处 于关闭状态。否则显示器将一直处于初始状态,当需要对密码锁进行开锁时,按下键盘上的开锁按键后利用键盘上的数字键 09 输入密码,每按下一个数字键后在显示器上显示一个*,输入六位后显示六个*单片机不再向 1602 中写入数据,只有当确认键按下以后单片机根据输入的密码判断输入是否正确,显示不同的工作状态。图 5.2 显示电路 5.3 开锁电路通过单片机开 锁执行机构,电路驱动电磁锁吸合, 从而达到开锁的目的,当用户输入的 密码正确时,单片P0.0|P0.7P1.2-P1.4

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 学术论文 > 大学论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报