基于单片机的红外遥控密码锁仿真图+++

本科生毕业论文

学 生 姓 名 ****************

所 在 学 院 ************

专业及班级 **************

指 导 教 师 ***********

完 成 日 期 2015年5月

任 务 书

摘 要

本设计以51系列单片机作为主控单元,结合键盘、数码管显示单元、AT24C02 存储、遥控等外围电路,使密码锁能够在接受用户设定的正确密码时开锁。用户可随时更改开锁密码以提高安全性,而且当按键间隔超时时, 有自动复位的特点。系统成本低、可靠性高、使用方便, 可扩展性强。

本文主要介绍了基于AT89S52单片机的红外遥控密码锁的硬件及程序实现流程的具体设计。本文中给出了红外发送器与红外接收器的设计电路,通过一体化红外接收头HT6221(频率为38khz )接收红外信号, 使用AT24C02存储数据,通过数码管显示,软件代码使用KEIL 编译器进行编写。附有相应的硬件电路图、具体程序等。

关键词:AT89S52; 密码锁; 红外遥控;

Abstract

The design of 51 series single-chip microcomputer as main control unit,in combination with the keyboard, digital tube display unit, AT24C02 storage, remote control and other peripheral circuits,and The cipher lock can be accepted in the user set the correct password to unlock.The user can change the password in order to improve the safety lock,and when the button intervals over time, with automatic reset characteristic.The system is low cost, high reliability, convenient use, strong expansibility.

This article mainly introduced based on the AT89S52single-chip infrared remote control locks hardware and program flow of the concrete design.This paper presented in the infrared transmitter and the infrared receiver circuit design,through the integration of infrared receiving head HT6221( frequency 38kHz ) receives the infrared signal,using the AT24C02 data storage,through the digital tube display. Use KEIL software code compiler to write. With the corresponding hardware circuit diagram, the concrete procedure.

Key words: AT89S52; password lock; infrared remote control;

目 录

1. 绪论

1.1 课题的研究背景 . ...............................................

1.2 课题的研究意义 . ...............................................

1.3 系统设计的主要功能 . ...........................................

2.系统的硬件实现 . ...........................................................................................................

2.1系统整体方案设计 . ...............................................

2.2 系统硬件构成 . .................................................

2.2.1 系统硬件原理图 ..........................................

2.2.2 系统主要硬件介绍 ........................................

2.2.3 LED数码管显示电路与数字字符的形成 .......................

2.2.4 红外通信原理 ............................................

2.2.5 ISP编程 .................................................

3. 系统软件的实现 .....................................................

3.1 Keil C简介 ..................................................

3.2 软件设计 . .....................................................

3.2.1 软件的主程序流程图 ......................................

3.2.2 红外发射部分的程序设计 ..................................

3.2.3 红外接收部分的程序设计 ..................................

3.2.4 系统测试 . .................................................

4. 设计总结 ..........................................................

5.致谢 . ...............................................................

6.参考文献 . ...........................................................

1.绪论

1.1课题的研究背景

随着科技的进步和社会的发展,人们的安全意识也在不断的提高。虽然在日常生活中,传统的机械锁仍在使用,但是其最大的缺点就是用一些简易的工具就能打开,对于某些对安全性能要求较高的场合,机械锁已经无法满足人们的需求。在这种情况下,红外遥控密码锁因其使用方便、功能齐全、安全可靠等优点,而受到人们的喜爱。

1.2课题的研究意义

由于红外遥控具有许多优点,例如红外线发射装置采用红外发光二极管,遥控发射器易于小型化且价格低廉等,所以红外遥控密码锁取代传统机械锁已经成为一种趋势。比较与传统的机械锁,红外遥控密码锁具有更高的安全性,而且使用方便灵活,能扩展与各种情况,从而克服了机械锁的各种缺点,能满足当今社会的需求,具有较广的使用前景。

1.3系统设计的主要功能

系统以AT89S52单片机为核心,设计与其配套的外围电路,从而构成红外遥控密码锁电路。再以C 语言进行程序编写,从而实现以下的功能:

1、 开锁:连续输入6位密码后按确认键(EN ),若密码正确蜂鸣

一声、显示“OPEN ”、绿色LED 指示并驱动电子锁头开门,5秒后返回待机状态并复位锁头;若密码错误蜂鸣一声、显示“Err ”并红色LED 指示密码错误。若连续输入3次错误密码系统将蜂鸣及锁定10秒内不可操作。

2、 修改密码:按设置键(S )进入当前密码校验状态,此时显示

“Set ”,连续输入6位旧密码再按确认键(EN ),

A :旧密码正确将显示“PASS ”并蜂鸣一声提示,然后输入新的6

位密码按确认键(EN )确认即可,5秒后返回待机状态。

B :旧密码错误将显示“Err ”、蜂鸣一声提示并红色LED 指示错误

信息,无操作5秒后返回待机状态,连续3次输入错误密码系统将锁定

10秒内不可操作。

3、 输密码时按取消键(ES )可返回待机状态。

4、 输密码时输入数字的间隔时间不可超过5秒,否则返回待机状

态后需要重新输入密码。

5、 复位6位密码为“000000”:按设置键(S )进入设置状态,此

时显示“Set “, 连续输入6个“8”后再按一次设置键(S ),显示“PASS ”

并锁定5秒后返回待机状态,复位成功。

2.系统硬件构成

2.1系统整体方案设计

本设计电路的核心控制器件为可编程器件51系列单片机AT89S52,然后设计的配套外围电路有:蜂鸣器报警电路,复位电路,振荡电路,存储电路,数码管显示电路,开锁电路,红外接收电路等,从而构成红外遥控密码锁的接收模块。其系统结构总图如图1.1所示:

图1.1系统结构总图

2.2系统硬件构成

2.2.1系统硬件原理图

系统硬件原理图如图2.2.1所示:

图2.2.1系统硬件原理图

整个电路的主要的元器件有AT89S52单片机、EEPROM 存储芯片AT24C08、LED 数码管、红外发射装置HT6221等。

2.2.2系统主要硬件介绍

1.AT89S52单片机

AT89S52是是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash 允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash ,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

AT89S52具有以下标准功能: 8k字节Flash ,256字节RAM , 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻 辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM 、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,

单片机一切工作停止,直到下一个

中断或硬件复位为止。

其引脚电路图如图2.2.2.1所示:

图2.2.2.1 AT89S52引脚图

AT89S52性能兼容同系列的AT89C52,而且具有在线下载代码的功能,简称为ISP 下载功能,芯片不用拨离所连接的电路即可通过规定的几只引脚进行代码的烧录,在产品的调试以及生产时使用此方法烧写代码极为方便。ISP 下载电路需使用上位机软件通过PC 的并口(25针打印机接口)进行控制才能向芯片烧录代码。如图2.2.2.2为ISP 与单片机的连接电路图:

图2.2.2.2 ISP与单片机连接电路图

2.HT6221红外发射芯片

其电路图如2.2.2.3所示:

图2.2.2.3 HT6221电路

实际制作中只用到它的K1-K16的16个按键

3. 铁电存储器AT24C02

在电子仪器设备上我们常见到的数据设置与数据采集,这些数据可以直接用液晶屏或LED 数码管显示出来,便于用户了解仪器设备的工作状态,但用户需要在下一次开机时得到上一次运行的数据状态,或者需要存储一系列的编码以及密码,那么这里面就涉及到数据的存储功能了。本设计采用了最常见的低成本串行接口铁电存储器24C02, 可以通过串行控制信号把数据写入指定的存储地址,在下一次开机时再将指定地址的数据读出赋值给软件的一些变量,后面的函数体将说

明对存储器的控制步骤。

AT24C02 是美国Atmel 公司的低功耗CMOS 型EEPROM ,内含256 × 8 位存储空间。芯片采用I2C 总线式进行数据读写的串行器件,占用很少的资源和I /O 线,并且支持在线编程,进行数据实时存取十分方便。串行时钟由单片机P3. 6引脚提供,通过P3. 7引脚对AT24C02 进行在线读写。由于该芯片数据掉电不丢失,故用于存放开锁密码。当需要开锁和设置新密码时,均需读取AT24C02 中的密码; 设置新密码后,在线写AT24C02,覆盖原密码。

2.2.3 LED 数码管显示电路与数字字符的形成

LED 数码显示广泛应用于日常生活中的许多电子产品上,它能给用户提供一些直观的数字信息,它在比较恶劣的环境中使用不易损坏、易维护。

实际上LED 数码管就是由8段LED 封装为一体的器件,它能由7段LED 的亮灭状态来组成不同的字符显示,另外1段LED 为小数点显示。LED 数码管有共阳极与共阴极之分,也就是说公共引脚是接电源端还是接地端。如图2.2.2.4为LED 数码管内部所封装的电路。

图2.2.2.4 LED数码管内部封装电路

由图2.2.2.4可知LED a-h 以不同的方向排列,而字符“0”由:a 、b 、c 、d 、e 、f 为亮状态, 其余的g 、h 为灭时将显示出“0”字符, 同样原理,当LED a、b 、c 、d 、f 、g 为亮,e 、h 为灭时显示出字符“9”,当要显示小数点时使h 亮即可。除此以外,LED 数码管还可以显示A 、b 、C 、L 、n 等多个英文字符。

本设计中使用2个3位数码管并装组成6位数字的显示,扫描原理为:先送第一位的段码数据,再开启该位的位驱动开关,延时后再关闭该位的位驱动开关,送第二位的段码数据,一直循环显示6位数码管的数据即可。此时如果数码管显示闪烁,只要修改延时关闭驱动开关的延时时间直到不再出现闪烁。

2.2.4 红外通信原理

红外线是波长在750nm 至1mm 之间的电磁波,它的频率高于微波而低于可见光,是一种人的眼睛看不到的光线。红外通信一般采用的红外波长在0.75um 至25um 之间。

红外通信是利用红外技术实现两点间的近距离无线通信,它一般由红外发射和接收系统两部分组成。发射系统对一个红外发射源进行调制后发射红外信号,而接收系统由一个光学装置和红外探测器进行接收,从而构成红外通信系统。红外数据的传输原理是:发送端将二进制数据调制成一系列的脉冲串信号(载波信号),通过红外发射管发射红外信号. 接收端接收到脉冲信号串后进行解析并还原成二进制数据

其发射端数据时序图与接收端数据队列图如图2.2.2.5以及2.2.2.6所示:

图2.2.2.5 发射端数据时序图

图2.2.2.6接收端数据队列图

2.2.5 ISP 编程

ISP (in-system programming )在线系统编程是一种无需将存储芯片(如EPROM )从嵌入式设备上取出就能对其进行编程的过程,缩略为ISP 。系统编程需要在目标板上有额外的电路完成编程任务。

ISP 的工作原理:ISP 的实现相对要简单一些,一般通用做法是内部的存储器可以由上位机的软件通过串口来进行改写。对于单片机来讲可以通过SPI 或其它的串行接口接收上位机传来的数据并写入存储器中。所以即使我们将芯片焊接在电路板上,只要留出和上位机接口的这个串口,就可以实现芯片内部存储器的改写,而无须再取下芯片。

ISP 技术的优势是不需要编程器就可以进行单片机的实验和开发,即单片机芯片直接焊接到电路板上,也可对其重新进行编程。在线系统可编程是Flash 存储器的固有特性,Flash 几乎都采用这种方式编程。调试结束即成成品,免去了调试时由于频繁地插入取出芯片对芯片和电路板带来的不便。

3. 系统软件的实现

3.1 keil C简介 Keil C51是美国Keil Software 公司出品的51系列兼容单片机C 语言软件开发系统,与汇编相比,C 语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil 提供了包括C 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision )将这些部分组合在一起。运行Keil 软件需要WIN98、NT 、WIN2000、WINXP 等操作系统。如果你使用C 语言编程,那么Keil 几乎就是你的不二之选,即使不使用C 语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。

Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows 界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍Keil C51开发系统各部分功能和使用。

C51工具包的整体结构,uVision 与Ishell 分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE 本身或其它编辑器编辑C 或汇编源文件。然后分别由C51及C51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS 文件由OH51转换成标准的Hex 文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM 中。

3.2 软件设计

3.2.1 软件的主程序流程图

主程序的流程图如图3.2.1所示:

图3.2.1 主程序流程图

3.2.2 红外发射部分的程序设计

本系统程序采用了模块化设计,首先将主程序调用到的内容定义在一个特定的文件里,然后在主程序运行之前声明这部分定义的内容,那么程序就能遵循从上到下的顺序去执行用户赋予的命令。

其红外发射部分主程序流程图如3.2.2.1所示:

图3.2.2.1发射部分主程序

与其配套的发射部分子程序以及发射部分键盘子程序如图3.2.2.2和3.2.2.3所示:

图3.2.2.2 发射子程序

图3.2.2.3 发射部分键盘子程序

3.2.3 红外接收部分的程序设计

由于C 程序使用了模块化设计,所以主程序代码比较简练,只须负责声明头文件和单片机系统初始化、用户输入数据以及几个字符显示函数的刷新操作,其主程序流程图如图3.2.3.1所示:

图3.2.3.1 接收部分主程序

与其配套的接收部分子程序、接收部分键盘子程序如图3.2.3.2、3.2.3.3所示:

图3.2.3.2 接收部分子程序

图3.2.3.3 接收部分键盘子程序

3.2.4 系统测试

连接主控板的12V 供电电源,开启遥控器上的电源开关,手持遥控器离主控板8米距离之内按下按键,观察主板板上的反应信息是否为用户要操作的功能,持续按压相应功能键,使主控板呈现相关功能结果直到操作完成,重复一次以上操作并记录各功能键的实现情况。

4. 设计总结

在设计实验的这段时间,我从查找资料、设计方案开始,再逐步经过实验、各模块的设计调试、手工制作电路板等多个阶段,所设计出的红外遥控密码锁基本达到了设计初所期望的要求。

从个人角度而言,通过这次的毕业设计,我发现自己在知识以及动手能力方面有所欠缺。但是这次的设计大大巩固了我所学的专业知识,并且实际动手能力也得到很大的提高,也拓展了我的知识面,获得更多的软件调试以及手工制作PCB 的经验。

由于实践及理论方面都存在不足,制作及实验条件有限,此设计仍存在一些设计问题,制作技能日后有待提高,实践与理论知识还要继续巩固加强. 本设计中的供电电路未能达到节能效果,用户密码管理保密度不够强, 可以改为液晶模块显示界面。

5. 致谢词

在这次课程设计的撰写过程中,我得到了许多人的帮助,在此,我想所有帮助过我的人表示最真挚的谢意

首先我要感谢陈老师在课程设计上给予我的指导、提供给我的支持和帮助,为我指明了设计的方向,并在电路的设计上给我细心纠错,才使得我后来的电路焊接顺利,这也是我能顺利完成这次设计的主要原因。

其次,我要感谢帮助过我的同学,他们也为我耐心解释了不少我不太明白的设计难题。

同时也感谢学院为我提供良好的实验环境。

最后再一次感谢所有在设计中曾经帮助过我的良师益友。

6. 参考文献

1. 吴媛媛,叶茂森. 红外遥控技术浅析[J ]. 广西轻工业,2009( 1) : 72 - 73.

2. 郭凯杰. 智能家居人性化设计[D ]. 上海: 同济大学, 2008.

3. 李伟,闫君杰. 红外遥控器系统的设计研究[J ]. 河南机电高等专科学校学报, 2009( 1) : 11 - 13.

4. 曹立军. 单片机原理及其应用[M ]. 西安: 西安电子科技大学出版社, 2009.

5. 纪宗南. 红外线遥控发射器的原理及应用[J ]. 国外电子元件, 1999( 10) : 32 - 34.

6. 陈春燕. 单片机红外遥控密码锁[J ]. 电子制作,2002( 12) : 27 - 30.

7. 董继成. 一种新型安全的单片机密码锁[J ]. 电子技术,2004( 3) :55 - 60.

8. 徐爱钧. 《智能化测量控制仪表原理与设计》(第二版)[M].北京:北京航空航天大学出版社,2004.

9. 吴金戌,沈庆阳,郭庭吉. 《8051单片机实践与应用》[M].北京:清华大学出版社,2002.

10. 高峰,《单片微型计算机与接口技术》[M].北京:科学出版社,2003.

11. 刘伟,赵俊逸,黄勇,《一种基予C8051F 单片机的SOC 型数据采录器的设计与实现》[A ]. 天津市计算机学会单片机分会编. 《2003年全国单片机及嵌如入式系统学术年会论文集(下册)》[C] . 北京:北京航空航天大学出版社,2003 .790-794


© 2024 实用范文网 | 联系我们: webmaster# 6400.net.cn