1、 本科 毕业 设计 (论文 ) (二零 届) 红外遥控电子密码锁设计 软件设计 所在学院 专业班级 电子信息工程 学生姓名 学号 指导教师 职称 完成日期 年 月 I 摘 要 目前,具有报警功能的电子密码锁,正逐步取代传统的机械密码锁。电子密码锁在性能和技术方面都有了很大的进 展,例如:克服了传统的机械密码锁密码少,可靠性不足和操作不方便等缺点。本文设计了一种基于单片机 STC89C52的红外遥控电子密码锁。在该设计中,采用了红外线作为传输介质,因为它具有信息传输可靠,抗干扰能力强等特点。这种密码锁有两种类型的输入设备,一个是安装在电子密码锁上的 4 * 4矩阵键盘,另一个是红外遥控器。具有开
2、锁和更改所设定的密码等功能。操作时, LCD1602可以显示有关信息。在介绍了红外遥控编码和解码的原理, 4*4 矩阵键盘的工作原理, STC89C52 内部 EEPROM 的应用以及 LCD1602显示屏的初 始化和工作原理等的基础上,本文详细叙述了软件的设计要点以及方法,同时给出了主程序和几个主要子程序的流程图和代码。子程序主要包括红外遥控子程序和 4*4矩阵键盘子程序。 关键词 :单片机 电子密码锁 红外遥控 II The Design of Electronic Code Locks Based on Infrared Remote Control Software Design Ab
3、stract At present, key-pad electronic code lock with alarming function is to gradually replace the traditional mechanical code lock. Key- pad electronic code lock makes a great progress in terms of performance and technology, for instance, overcoming the shortcoming of the traditional mechanical cod
4、e lock which contain few password , lack of reliability and inconvenient operation. This paper introduces a type of remote-controlled electronic code lock based on the chip of 80C52. This code lock have two input devices, one is a 4*4 matrix keyboard installed on the code lock. Another is a remote c
5、ontroller . In the design, we adopt the infrared ray as the medium, because of the reliable transmission of information,and the strong anti-interference ability. We can use either of them to open the lock or change the password we have set. when you are operating, LCD1602 could display the informati
6、on. This paper first introduce the encoding and decoding theory of infrared remote control, the working principle of the 4*4 matrix keyboard, STC89C52 internal EEPROM applications, and LCD1602 initialization and working principle, and so on .Then the design of software is described in detail. The fl
7、owchart and code of the main program and major subroutine such as infrared remote control subroutine and 4 * 4 matrix keyboard subroutine are shown. Keywords: MCU Electronic code lock Infrared Remote-control III 目录 摘 要 . I Abstract . II 1 绪论 . 1 1.1课题的来源 . 1 1.2课题的意义 . 1 1.3国内外发展现状 . 1 1.4课题研究的主要内容
8、. 2 2方案设计与总体设计 . 3 2.1总体方案的设计 . 3 2.1.1总体方案的硬件设计 . 3 2.1.2总体方案的软件设计 . 4 2.2硬件设计简述 . 5 2.2.1单片机主控模块 . 5 2.2.2 红外遥控模块 . 5 2.2.3 4*4 矩阵键盘模块 . 6 2.2.4 LCD1602 液晶显示模块 . 6 2.2.5 报警模块 . 7 2.2.6 电源模块 . 7 2.3方案评价 . 7 3系统软件设计 . 9 3.1主程序设计 . 9 3.2红外遥控模块软件设计 . 9 3.2.1 红外通信基本原理及标准 . 9 3.2.2 红外遥控系统及原理 . 10 3.3 LC
9、D1602液晶显示模块软件设计 . 13 3.4 STC单片机内部 EEPROM及 ISP的应用 . 14 3.4.1 EEPROM 存储器 . 14 3.4.2 ISP 特殊功能寄存器 . 15 3.5 4*4矩阵键盘模块软件设计 . 16 3.5.1 4*4 矩阵键盘的流程图及功能 . 16 3.5.2 4*4 矩阵键盘的工作原理 . 17 3.6 报警器模块软件设计 . 17 3.7 系统调试 . 18 3.7.1 程序编译 . 18 3.7.2 程序下载 . 18 IV 4结论 . 20 参考文献 . 21 致谢 .错误 !未定义书签。 附录 . 22 附录图 1 电路原理图 . 22
10、 附录图 2 PCB板 . 23 附录图 3 实物图 . 24 附录 4 程序 . 25 红外遥控电子密码锁设计 软件设计 1 1 绪论 1.1 课题的来源 随着人们生活的提高和安全意识的加强,在日常生活中出现了各式各样的密码锁。社会科技在不断地地进步,密码锁也经历了一代又一代。密码锁已经从传统的机械锁发展到了磁性锁,电子锁,声控锁等等,这些锁是在传统机械锁的基础上,加上了不同的密码,不同的磁场,不同的声音等来控制锁的开启。这些密码锁保密性高,使用灵活性强,安全系数高,在很大程度上克服了传统机械锁的缺点,使得人们对自身的财产安全有了更多的保障。但是这些密码锁不能很好的实现远距离遥控控制,比如声
11、控锁在进行远距离遥控时稳定性不高,不能进行很正 确的远距离控制,一定程度上限制了这些密码锁在日常生活中普及和推广。为了解决远距离控制的问题,红外遥控电子密码锁的研究普遍受到人们的重视和关注。红外遥控电子密码锁在一定程度上可以解决传统机械锁和一般电子密码锁存在的问题,具有很大的研究价值。 1.2 课题的意义 红外遥控是目前使用最广泛的一种通信和遥控手段,采用红外线作为传输媒介进行数据通信是一种既方便又经济实用的选择,在小型移动设备中得到了广泛的应用。 在许多单片机应用系统中,常常利用非电信号传送信息以实现遥控的功能。而红外通信具有传输可靠性高、实施方便、控制 简单等特点,是一种较为常用的通信方式
12、。 该系统以单片机为核心,结合红外遥控技术,配以相应的硬件电路,由各模块共同作用实现各种功能。 红外遥控电子密码锁解决了传统密码锁和一般的电子密码锁的不足,操作方便,提高密码锁的可靠性和安全性,实现了远距离控制技术,并且能够很稳定的实现远距离控制技术,还具有密码预置、误码报警、耗电省等功能,基本可以满足用户的需要,起到防盗的作用, 非常适合办公室、住宅等用锁的要求,具有很好的开发和研究价值。 1.3 国内外发展现状 密码锁的发展大致可以分为四个阶段: 1、 木质锁; 2、机械锁; 3、 普通的电子密码锁、磁片密码锁、 EP 卡锁; 4、未来的家用电子密码锁、遥控电子密码锁、以及用于特定场合的安
13、全密码锁。 目前,在日常安全范围领域,具有防盗报警功能的电子密码锁逐渐替代了红外遥控电子密码锁设计 软件设计 2 传统机械锁,在性能上和技术上都大大提高了。随着大规模集成电路技术的发展,特别是单片机的出现以后,它在保留了电子密码锁原有的一些功能的同时,对这些电子锁进行了智能化管理,这样的产品体积大大减小了,成本也大大降低了,也进一步提高了密码锁的 安全性、可靠性。 红外遥控技术在遥控方式上大体经历了从有线到无线的超声波、从振动子到红外线、再到使 用总线的微机红外遥控这样几个阶段,红外遥控技术慢慢变得成熟,运用在各方面。 目前,红外线遥控是使用最广泛的一种通信和遥控手段,采用红外线作为传输媒介进
14、行数据通信是一种既方便又经济实用的选择,在小型移动设备中得到了广泛的应用。 红外遥控电子密码锁系统大致以单片机为核心,结合红外遥控技术,配以相应的硬件电路,实现了电子密码锁密码的显示、存储、修改以及驱动报警等功能,同时实现了远程遥控,具有更好的密码保护以及更完善的功能系统。 1.4 课题研究的主要内容 课题主要关于红外遥控电子密码锁的设计研究 。该系统以单片 机为核心,结合红外遥控技术,配以相应的硬件电路(矩 阵键盘、报警模块、显示模块等),预期实现电子密码的密码显示、修改、存储以 及驱动报警等功能,同时,采用的红外遥控技术可以实现远程遥控。 结合硬件电路,通过软件设计,主要完成以下几点内容:
15、 1、红外遥控信号的接收(遥控距离达到 8 10米); 2、键盘输入、本机设置的键盘信息管理功能; 3、单人电控锁开锁、关锁的控制功能; 4、报警功能。主要完成主程序结构设计及其程序编写和子程序结构设计及其程序编写。 软件是整个系统的核心内容,在硬件电路已经 确定的情况下,不同程序可以实现不同的功能。 该课题的设计基于 C语言,使用 KeiluVision编辑、调试、编译通过。采用模块化设计,自顶而下的设计思路,这样的设计有利于程序代码的优化,而且便于设计、调试和维护。以主程序为核心设置了多个功能模块子程序。程序大致可以分为系统初始化程序、红外遥控模块子程序、密码判断子程序、显示子程序、键盘扫
16、描中断服务程序等。其中主程序主要起到一个决策和导向作用,系统的各个功能模块主要通过调用具体的子程序来实现。系统初始化主要包括:定时器、中断、 1602芯片以及系统参数等的初始化;往 EEPROM写入初始化密 码主要是完成对原先密码进行更改或者进行相关设置的任务,然后将更新后的密码保存到 EEPROM中。 红外遥控电子密码锁设计 软件设计 3 2 方案设计与总体设计 2.1 总体方案的设计 2.1.1 总体方案的硬件设计 根据设计要求,本系统的设计思路如下: 以单片机 STC89C52 控制为中心,分为红外遥控,单片机控制,蜂鸣器报警, LCD1602液晶显示, 4*4键盘输入以及电源。 总体设
17、计方案如图 2-1所示。 图 2-1 系统总体设计方案 各个功能模块的功能大致如下: 红外遥控模块:红 外遥控器按有键被按下时,就输出一定数量被调制的脉冲信号。当接收器收到发射器发射的红外指令信号时,它将红外指令信号变成TTL 电平信号,再经过放大、解调、整形、解码处理后送入单片机,由单片机进行识别处理,从而控制电子密码锁的工作。 单片机模块:主控电路模块主要采用以单片机 STC89C52 为核心的主控电路。红外线接收器把接收到的信号传送给单片机,单片机对信号进行识别,将信号识别成指令,利用这些指令控制电子密码锁的工作。 蜂鸣器报警功能模块:若 3次输入密码错误,报警模块报警。 LCD1602
18、 液晶显示模块:此模块采用 单片机向液晶显示屏的串口发送数据指令,当串口接收到一串数据后, LCD1602 液晶显示屏能实现数据的显示、清屏操作和光标的设置等操作。 4*4矩阵键盘模块:该模块可以实现输入密码,设置新密码等功能。 STC89C52 蜂鸣器报警 LCD1602 液 晶 显示 4*4 矩阵键盘 电源 红外遥控接收 红 外 遥 控 发 射 复位 晶振 红外遥控电子密码锁设计 软件设计 4 2.1.2 总体方案的软件设计 软件是整个控制系统的核心,在硬件结构一定的情况下,只要改变软件就能实现一些不同的功能。 对于 51 系列单片机,现有四种语言支持,即汇编、PL/M,C 和 BASIC
19、。汇编语言最接近机器语言,利用汇编语言时,单片机的资源利用效率较高,但是这要求对单片机的指令系统非常了解 ,对单片机的存储器结构也要有一定的了解。 PL/M 是 Intel 从 8080 微处理器系列开始为其系列产品开发的编程语言,对于 51 系列的单片机而言, PL/M 不支持复杂的算术运算、无丰富的库函数支持。 C 语言是一种源于编写 UNIX 操作系统的语言,它是一种结构化语言,可产生压缩代码,对单片机的指令系统不要求了解,仅要求对51 系列单片机的存储器结构有初步了解。 BASIC 通常附在 PC 机上,是初学编程的第一种语言,主要用于要求编程简单而对运行速度和编程效率要求都不高的场合
20、,现在已经很少用到 BASIC 语言了。 经过上述的比较后, 该课题的设计选择基于 C 语言,使用 KeiluVision 编辑、调试、编译通过。采用模块化设计,自顶而下的设计思路,这样的设计有利于程序代码的优化,而且便于设计、调试和维护。以主程序为核心设置了多个功能模块子程序。程序大致可以分为系统初始化程序、红外遥控模块子程序、密码判断子程序、显示子程序、键盘服务程序等。主程序流程图如下: 图 2-2 主程序流程图 红外遥控电子密码锁设计 软件设计 5 2.2 硬件设计简述 系统的电路原理图如附录图 1 所示。现对各电路模块设计作一简单 介绍。 2.2.1 单片机主控模块 本设计中我们选用的
21、单片机控制芯片是 STC89C52 芯片,相较于 AT 系列的单片机, STC89C52 可在线编程,烧制程序简单,工作稳定高,兼容性好且抗干扰性强。模块图如图 2-3。 图 2-3 单片机主控模块 2.2.2 红外遥控模块 红外远程遥控模块由发射和接受两部分组成,电路如图 2-4。遥控发射器采用型号 TC9012 芯片, TC9012 芯片是一块用于东芝系列红外遥控系统中的专用发射集成电路,采用 CMOS 工 艺制造。而遥控接收器采用 HS0038B 型号的红外一体化接收头, HS0038B 的管脚分布如图 2-5 所示, 2 脚、 3 脚分别为地电源和地, 1 脚是解调信号输出口,其电平与 TTL 兼容。 图 2-4 红外遥控模块电路图 图 2-5 HS0038B