基于51单片机的红外遥控密码锁诚信承诺我谨在此承诺:本人所写的毕业论文《基于51单片机的红外遥控密码锁》均系本人独立完成,没有抄袭行为,凡涉及其他作者的观点和材料,均作了注释,若有不实,后果由本人承担。
承诺人(签名):2013年月日基于51单片机的红外遥控密码锁摘要:关于如何加强家庭住房安全问题日益突出。
传统的机械防盗锁构造过于简单,尽管有些经过加固以及增加相应的防护措施,但是锁被撬现象屡见不鲜,无法保障人们的安全。
本次设计中制作的一种密码锁,具有很好的保密性。
另外,此处采用的是双控模式,即使用键盘控制的同时,也可以使用遥控器。
操作中的提示语用LCD来显示。
密码由六位0到9的数字够成,加大保密强度,此外,本设计中采用的AT24c02具有防止掉电丢失数据的作用。
关键词:51单片机;密码锁;红外;LCD1602Based on 51 SCM Infrared Remote Control Combination LockAbstract: Security issues have become increasingly prominent on how to strengthen the family home. Traditional mechanical anti-theft lock structure is too simple, although some had been strengthened and increased appropriate protective measures, but lock pry common occurrences, can not guarantee the safety of people. A lock made in the design, with good confidentiality. In addition, here is the dual-control mode that is controlled using the keyboard at the same time, you can also use the remote control. Prompt operation using the LCD display. Password by six 0-9 of digital enough increase confidentiality strength, In addition, the design used in A T24c02 prevent power-down data loss.Key words: 51 SCM;Combination lock;Infrared;LCD1602目录1 引言 (1)1.1研究背景与意义 (1)1.2 研究现状 (1)1.3 研究内容 (1)2 系统设计方案 (2)2.1 总体方案 (2)2.2 系统框图 (2)3 系统硬件电路设计 (3)3.1 单片机最小系统设计 (3)3.2 LCD显示电路设计 (4)3.3 矩阵键盘电路设计 (5)3.4 存储电路设计 (5)3.5红外发送接收电路设计 (5)3.6 模拟锁与报警电路设计 (5)3.7系统PCB设计 (6)4 系统软件设计 (7)4.1 程序设计思路 (12)4.2 算法与流程图 (13)5 系统仿真与硬件调试 (14)5.1系统仿真和调试方案 (14)5.2 系统硬件调试 (16)5.3 调试结果 (17)6 总结与展望 (17)致谢 (17)参考文献 (18)附录 (18)1.元器件清单 (18)2.源程序 (18)1 引言1.1 研究背景与意义我们知道当某一个公司研发一些新产品时都会特别重视其资料的安全问题,在竞争日益激烈的当下,新研发的产品资料,科研项目,以及单位的文件档案、财务报表,个人资料等等,都是特别保护的对象,万一泄露将直接关系到一个企业的存亡。
再从我们身边来说,家庭住房多采用一般的机械锁。
这样不仅不安全,而且,每天都要带钥匙很不方便。
若不慎丢失钥匙更会产生事倍功半的效果。
本次设计的密码锁将满足人们的要求。
在科技高速发展的今天,非接触式控制越来越受大家欢迎,利用红外遥控,方便又安全。
另外,红外线不会产生信号干扰,反应速度迅速、工作稳定度高等特点。
而在工业制造中,在高压、辐射、腐蚀等恶劣环境下,采用红外遥控能够很好地隔离这些干扰。
在本次设计中,为了更加方便操作,除了采用矩阵键盘对密码锁进行控制外,还可以用遥控器进行控制,以达到双控的目的。
1.2 研究现状目前大部分的家庭用锁采用的都是机械式的,一种钥匙对应一把锁,但钥匙可复制,这无疑给人们的安全带来极大威胁。
另外,其最大的缺点是利用简单工具就能很容易地把锁撬开。
加深了人们的安全隐患。
针对这种情况,本次设计制作了一种红外遥控密码锁,遥控器型号很常见,应用及为广泛,若突然摔坏或丢失即可到商店购买。
由于本设计采用的存储器可防止断电数据丢失,因此更换遥控器或在整个电路断电又重启的情况下密码仍为先前设定值,具有很好的保密性。
此外,密码共有六位,每位由0到9,十个数字构成,因此可设定106种密码,提高密保安全。
然而,一般设备都采用专用的遥控编码及解码集成电路,此类电路虽然制作简单,但由于某些特定功能的限制,例如编码解码等协议限制,只适用于专用的电器产品,配套性强,应用范围也因此受到限制。
1.3 研究内容主要的设计实施过程:本次设计选用ATMEL公司的单片机AT89C51,用于控制的LCD等。
第二步,使用Altium Designer 6完成原理图,并设计PCB图完成人工布线。
并腐蚀电路板。
第三步,在Keil uVision4软件中用C语言进行编程,外加仿真软件对程序进行修改,调试。
第四部,结合软、硬件对电路板进行调试。
最后完成本次设计。
2 系统设计方案2.1 总体方案方案一:采用矩阵按键,通过单片机将字符送到数码管显示,另外,密码锁部分用电磁继电器来进行模拟。
存储密码为防止断电丢失,用存储器进行存储。
报警部分采用比较常用的蜂鸣器,外围驱动电路较简单。
方案二:同样采用矩阵键盘,考虑到需要显示多个字符的问题,此时采用液晶显示LCD1602。
此处的模拟锁用发光二极管来代替。
用存储器AT24c02来存储密码,报警部分依然采用蜂鸣器。
通过两个方案的比较综合,考虑到外围设备,成本等问题,本次设计将采用第二种方案。
硬件方面解决单片机与外围电路的设计,主控模块采用方案二来进行设计,另外用遥控器作为发送端的同时,应在主控模块加上接收模块,对遥控器发射的信号进行接收,解码等处理。
由于键码值由商家提供,因此只需将每个键码值赋予特定的功能,以此来控制密码锁的开关,改密等,并送到LCD1602上显示。
另外,还有单片机最小系统。
软件方面,首先是按键扫描问题,如何判断哪一个按键按下,如何让其并以何种形式显示到LCD1602上,这里就要考虑到1602的显示,地址写入等问题。
红外的控制是本设计的难点,遥控器是以红外波的方式将特定的信号送给红外接收头。
由于本设计采用的遥控器比较普遍,因此编码解码问题可以很容易查阅到。
2.2 系统框图本文所设计的作品系统由AT89S51单片机及其最小系统、矩阵键盘、红外接收头、遥控器、蜂鸣器、模拟锁、LCD1602液晶显示等部分组成。
其系统框架图如图1所示图1 总体系统框架图 3 系统硬件电路设计3.1 单片机最小系统设计本次设计的单片机采用ATMEL 公司推出的AT89S51系列单片机。
最小系统包括上电复位电路和晶振电路【1】【2】。
上电复位电路结构如图2中R1,R2,C3和sw1.其中R1和R2分别为1K 和10K 。
通过手动来进行复位。
图2 上电复位电路晶振电路结构如图3中Y1,C1,C2.本设计选择12MHz 频率的石英晶体,补偿电容采用30pF 左右的瓷片电容.图3 晶振电路3.2 LCD显示电路设计从设计成本来考虑,显示电路部分首先会想到用数码管,但由于一个数码管只可以显示一个字符,例如本次设计中,进入界面要显示welcome,输入密码是也要提示input code等等,就要用到10多个数码管。
此外,每个数码管的位选端必须要通过单片机的IO口进行控制,这就要占用多个IO口,且在PCB板中进行手动布线时会很复杂。
因此这次设计中,采用LCD1602。
由于采用的LCD1602是16×2两行显示。
第一行显示提示内容,第二行显示键入的数值。
LCD1602具有很高的性价比,且应用很广泛。
另外本设计使用插针将1602接到电路中,若1602出现故障更换方便。
1602外观如下图4所示:图4 LCD1602管脚图LCD1602在电路中的连接方式,如下图所示:图5 LCD硬件连接图3.3 矩阵键盘电路设计本次设计要运用按键来控制,这时会想到有独立式键盘和矩阵式键盘两种连接方式,其中,独立键盘需要使用多个IO口,由于本次设计要用到16个按键,因此若用独立按键会极大降低IO口的利用率。
因此,本次实验采用的是4×4矩阵键盘,电路连接比较复杂,但同时提高了IO口的利用率。
如下图所示,16个按键上分别实现不同功能,其中输入数字键:0、1、2、3、4、5、6、7、8、9;以及相应的功能键。
键盘的每个按键所代表的功能如下图所示:图6 4×4矩阵键盘3.4 存储电路设计关于密码保护问题,除了由六位随机数字组成,还要考虑到断电之后数据会丢失的问题,为了防止掉电丢失,本设计采用AT24c02存储器。
是一个2K位串行CMOS E2PROM。
内部含有256个8位字节,CATALYST公司的先进CMOS技术实质上减少了器件的功耗。
管脚图如图7所示:图7 AT24c02管脚图图8存储器地址位下图为24C02在硬件中的的连接图,根据各个管脚功能只需把A0、A1、A2、wp接地,按照I2C协议,时钟线SCL和数据线SDA需接10K上拉电阻。
图9 AT24c02硬件连接图3.5 红外发送接收电路设计1)红外发送模块这次设计中用到的遥控器其实物图如下图所示:图10 小型遥控器特点:通过无线来控制,携带方便,低成本,低功耗等。
遥控器应用范围:电器、儿童玩具等。
按编码分类,有两种编码方式,主要分为RC5码和NEC码【3-5】。
由于本次设计用到的遥控器采用的是NEC编码协议,下面将重点描述NEC码特性。
NEC格式的特征:(1)使用16位客户代码(2)使用8位数据代码(3)引导码间隔是9 ms + 4.5 ms(4)使用38 kHz 载波频率下图为接收头上观察到的波形:图11 遥控信号周期波形图12 引导码间隔图NEC 码编码原理如下:(1)数据帧结构(组成)NEC 遥控发送数据格式2009-7-13 - 2009-7-20前导电平2009-7-13 - 2009-7-2032位二进制编码2009-7-13 - 2009-7-20连发代码图13 数据帧结构图(2)“0”、“1”的表示方法:图14 “0”和“1”的发射图2)红外接收本次设计采用的红外遥控信号的接收集红外接收和放大于一体,不需要添加其他外围电路,就可以输出与TTL 电平兼容的信号。