单片机电子系统课程设计报告书

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《电子系统设计》课程设计
实训报告
姓名:
学号:
专业班级:
指导教师:
设计题目:红外遥控密码锁
完成时间:2011年6月20日
摘要
本文主要阐述一种基于51单片机和红外接收管的红外解码的单片机控制系统。

文章详细介绍了红外遥控密码锁的硬件电路和软件设计。

硬件部分利用红外接收头的输出接在AT89C52单片机INT1中断口,通过跳变沿触发的方式来触发单片机INT1中断,从而可以对编码脉冲进行接收、存储和解码,然后和用户所设置的密码进行比较,来校对密码的正确与否,如果密码正确,伺服电机(步进电机)正反转进行开锁和关锁,同时,还有三个LED来对系统的复位、红外接收、电机转动状态进行指示。

此外,为了防止密码泄露,该系统还支持用户重设密码,上电复位的起始密码为0123,正确输入密码后,用户可以更改密码。

最后,为了防止遥控器失窃,非法人员多次试探尝试打开遥控锁,该系统还增加了错误报警功能,按五次键输入密码错误后,蜂蜜器持续鸣叫一分钟进行报警。

软件部分用C语言进行编程,采用模块化设计思想。

该系统硬件电路简单,造价低廉,操作方便,完全符合设计要求,也具有很高的应用价值。

例如可以作为汽车车门锁(较常规的遥控锁更安全),也可以作为仓库和家用门锁等。

关键词:单片机、红外、遥控、密码锁
洞洞板/万能板成品
图片左下角有地址-有录像
目录
1 绪言 (I)
1.1 课题背景、发展及意义 (I)
1.2 课程的具体要求及任务 (I)
1.2.1 设计任务 (I)
1.2.2 基本要求 (I)
1.2.3 发挥部分 (I)
2 红外遥控锁总体设计方案................................................................................... I I
2.1 任务分析与实现 ...................................................................................... I I
2.2红外遥控锁硬件方案设计 ......................................................................... I II
2.3 红外遥控锁软件方案设计 (V)
3 红外遥控锁硬件电路设计方法及原理 (V)
3.1红外遥控系统 (V)
3.1.1 调制 (VI)
3.1.2发射系统 (VI)
3.1.3红外接收头原理图 (VII)
3.2 单片机的原理及应用 (VIII)
3.2.1 单片机原理简介 (VIII)
3.2.2 单片机最小系统的介绍 (VIII)
3.2.3 单片机定时/计数功能的介绍 (IX)
3.3 步进电机工作原理 (IX)
3.3.1 步进电机原理 (IX)
3.3.2 步进电机驱动电路 (X)
3.4 LED指示电路 (X)
3.5 蜂鸣器电路 (X)
3.6 系统原理图及印刷板图 (XI)
3.6.1系统总原理图 (XI)
3.6.2 印刷版图 (XI)
4软件设计流程 (XIII)
4.1全部软件 (XV)
5 系统的调试与分析 (XV)
5.1 硬件调试 (XV)
5.2 软件调试 (XV)
6 结论与展望 (XVI)
6.1 结论 (XVI)
6.2 展望 (XVI)
致谢 (XVII)
参考文献 (XVII)
附录1 (XVII)
附录2 (XVIII)
1 绪言
1.1 课题背景、发展及意义
由于红外线遥控不具有像无线电遥控那样穿过障碍物去控制被控对象的能力,所以,在设计家用电器的红外线遥控器时,不必要像无线电遥控器那样,每套(发射器和接器)要有不同的遥控频率或编码(否则,就会隔墙控制或干扰邻居的家用电器),所以同类产品的红外线遥控器,可以有相同的遥控频率或编码,而不会出现遥控信号“串门”的情况。

这对于大批量生产以及在家用电器上普及红外线遥控提供了极大的方便。

由于红外线为不可见光,因此对环境影响很小,再由红外光波动波长远小于无线电波的波长,所以红外线遥控不会影响其他家用电器,也不会影响临近的无线电设备。

随着科技的进步,人们对物质生活的水平的要求也越来越高,以指代步,是人们对科技的要求。

红外技术的发展和红外线的诸多特性,决定了它在短距里遥控上的应用。

出于方便性和安全性和方便性的设计要求,我设计了红外遥控密码锁。

1.2 课程的具体要求及任务
1.2.1 设计任务
利用单片机、红外遥控器、红外接收头、LED、蜂鸣器等设计一个红外遥控密码锁。

1.2.2 基本要求
1.根据方案设计原理电路
2.供电电压5V稳压电源,遥控最大操作距离8m。

3.利用EDA仿真软件对设计电路进行仿真
1.2.3 发挥部分
连续输入密码输入N(N可以软件设定)次,实现可调报警功能。

2 红外遥控锁总体设计方案
2.1 任务分析与实现
本设计的任务是:以AT89C52单片机为处理核心,用红外接收管接收来自遥控器的红外波形,经过接收管解调后转化成的脉冲送入单片机进行处理。

红外波的解码是通过AT89C52单片机对红外接收头产生的信号的脉宽进行检测,从而判断接收到多少个0和1,最后合成为4个字节的8位代码。

通过软件编码,给该遥控器编写相应的初始化密码(启动系统是可以修改成任意的四位密码),然后通过解码来识别密码,以进行进一步的操作。

本系统总体思路如下:根据遥控器的按键编码值对遥控锁进行编程,从而设置开锁的初始化密码。

当系统启动时,系统进入设正常工作状态,此时,如果用户更改了初始密码,用户输入新的密码,步进电机正转90度开锁。

为了使用方便,专门设置了一个按键关锁(电机反转)。

采用初始密码的操作同上。

如果连续五次输入的密码均为错误,蜂鸣器会长鸣30秒报警(报警时间可以通过软件设定)。

要求达到的各项指标及实现方法如下:
1.利用红外接收头接收来自红外遥控器的编码波形,经红外接收头解调放大后的
脉冲送入单片机进行处理。

2.对脉冲信号的高低电平的时间长短进行存储和计数。

实现:通过软件编程,用单片机的定时和计数器对脉冲的高低电平进行计时和
计数。

3.对数据进行处理,根据红外的编码方式以脉宽为0.565ms、间隔0.56ms、
周期为1.125ms 的组合表示二制的“0”;以脉宽为0.565ms、间隔
1.685ms、周期为
2.25ms 的组合表示二进制的“1”。

解码出的32位二进
制码前16为位用户识别码,能识别不同的电器设备,后16位为8 位操作码
(功能码)及其反码。

实现:利用软件编程,对数据进行处理得到相应按键对应的编码值。

最终实现目标:对遥控器的按键值进行识别、存储和计数,然后和设定的密码组进行比
较以识别密码和控制步进电机开关锁。

总系统框图如图2.1.1所示。

图2. 1.1 红外电控锁系统框图
2.2红外遥控锁硬件方案设计
遥控锁,首先要解决是编码和解码的问题。

编码部分采用编码芯片为HT6221的遥控器面板,当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。

这种遥控码具有以下特征:采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms 的组合表示二制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms 的组合表示二进制的“1”。

上述“0”和“1”组成的32 位二进制码经38kHz 的载频进行二次调制以提高发射效率,达到降低电源功耗的目的,然后再通过红外发射二极管产生红外线向空间发射。

HT6221 产生的遥控编码是连续的32 位二进制码组,其中前16 位为用户识别码,能区别不同的电器设备,防止不同机种遥控码互相干扰。

该芯片的用户识别码固定为十六进制01H;后16位为8 位操作码(功能码)及其反码。

UPD6121G 最多额128 种不同组合的编码。

在解码的时候,可以通过单片机对红外接收头产生的信号的脉宽进行检测,从而判断接收到多少个0和1,最后合成为4个字节的8位代码。

接收部分,采用红外接收头和单片机系统。

红外接收头把接收到的红外波形转化成红外脉冲,输入单片机,经过单片机接收和处理,读取按键值。

本设计用到的红外接收头来接收、放大和解调接收到的红外波,只要把该接收头的输出引脚连接单片机的外部中断口,就可以搭建简单的红外接收电路。

通过对红外接收头输出的正负脉冲进行计时和计数,通过计算就可以得到按键编码对应的二进制数组。

通过该数组获得按键值。

利用红外接收头来接收红外编码信号,电路简单,很容易操作实现,硬件开销小。

红外信号收发系统的典型电路如图1所示,红外接收电路通常被厂家集成在一个元
件中,成为一体化红外接收头。

内部电路包括红外监测二极管,放大器,限副器,带通滤波器,积分电路,比较器等。

红外监测二极管监测到红外信号,然后把信号送到放大器和限幅器,限幅器把脉冲幅度控制在一定的水平,而不论红外发射器和接收器的距离远近。

交流信号进入带通滤波器,带通滤波器可以通过30khz到60khz的副载波,通过解调电路和积分电路进入比较器,比较器输出高低电平,还原出发射端的信号波形。

注意输出的高低电平和发射端是反相的,这样的目的是为了提高接收的灵敏度。

红外接收头的种类很多,引脚定义也不相同,一般都有三个引脚,包括供电脚,接地和信号输出脚。

根据发射端调制载波的不同应选用相应解调频率的接收头。

大体积红外接收头IRM38A引脚说明
红外接收头内部放大器的增益很大,很容易引起干扰,因此在接收头的供电脚上须加上滤波电容,一般在22uf以上。

有的厂家建议在供电脚和电源之间接入330欧电阻,进一步降低电源干扰。

红外发射器可从遥控器厂家定制,也可以自己用单片机的PWM产生,家庭遥控推荐使用红外发射管(L5IR4-45)的可产生37.91KHz的PWM, PWM占空比设置为1/3, 通过简单的定时中断开关PWM, 即可产生发射波形。

2.3 红外遥控锁软件方案设计
通过软件控制单片机的功能是单片机的主要特点和优点,程序的设计要考虑合理性和可读性,遵循模块化设计的原则,采用自顶向下的设计方法。

模块化设计使程序的可读性好、修改及完善方便。

软件设计包括主程序,密码校验子程序,步进电机正反准子程序,定时器0和外部中断1初始化子程序,延时子程序,红外解码子程序,蜂鸣器子程序等等。

密码校验子程序用来将解码得到的密码数组和设定的密码数组进行比较,从而判断密码正误。

步进电机正反转子程序用来控制步进电机正反转,从而实现开关锁。

定时器0和外部中断一用来对定时器0和外部中断1进行初始化。

红外解码程序用来将接收到的红外脉冲的时间数据转换成二进制表示的数据,然后进一步解码为按键编码值。

3 红外遥控锁硬件电路设计方法及原理
3.1红外遥控系统
红外遥控的概述:
红外线的光谱位于红色光之外,波长是0.76~1.5μm,比红光的波长还长。

红外遥控是利用红外线进行传递信息的一种控制方式,红外遥控具有抗干扰,电路简单,容易编码和解码,功耗小,成本低的优点。

红外遥控几乎适用所有家电的控制。

红外遥控系统的主要部分为调制、发射和接收,如图所示:
图1 红外遥控系统
3.1.1 调制
红外遥控是以调制的方式发射数据,就是把数据和一定频率的载波进行“与”操作,这样既可以提高发射效率又可以降低电源功耗。

调制载波频率一般在30khz到60khz之间,大多数使用的是38kHz,占空比1/3的方波,如图2所示,这是由发射端所使用的455kHz晶振决定的。

在发射端要对晶振进行整数分频,分频系数一般取12,所以455kHz÷12≈37.9 kHz≈38kHz。

3.1.2发射系统
目前有很多种芯片可以实现红外发射,可以根据选择发出不同种类的编码。

由于发射系统一般用电池供电,这就要求芯片的功耗要很低,芯片大多都设计成可以处于休眠状态,当有按键按下时才工作,这样可以降低功耗芯片所用的晶振应该有足够的耐物理撞击能力,不能选用普通的石英晶体,一般是选用陶瓷共鸣器,陶瓷共鸣器准确性没有石英晶体高,但通常一点误差可以忽略不计。

红外线通过红外发光二极管(LED)发射出去,红外发光二极管(红外发射管)内部构造与普通的发光二极管基本相同,材料和普通发光二极管不同,在红外发射管两端施加一定电压时,它发出的是红外线而不是可见光。

图3b 射击输出驱动电路
图3a 简单驱动电路
如图3a和图3b是LED的驱动电路,图3a是最简单电路,选用元件时要注意三极管的开关速度要快,还要考虑到LED的正向电流和反向漏电流,一般流过LED的最大正向电流为100mA,电流越大,其发射的波形强度越大。

图3a电路有一点缺陷,当电池电压下降时,流过LED的电流会降低,发射波形强度降低,遥控距离就会变小。

图3b所示的射极输出电路可以解决这个问题,两个二极管把三级管基极电压钳位在1.2V左右,因此三级管发射极电压固定在0.6V左右,发射极电流IE基本不变,根据IE≈IC,所以流过LED的电流也基本不变,这样保证了当电池电压降低时还可以保证一定的遥控距离。

3.1.3红外接收头原理图
红外接收头和复位电路电路原理图如图3.1.3所示。

图3.1.3红外接收头和复位电路电路原理图
3.2 单片机的原理及应用
3.2.1 单片机原理简介
单片机是指集成在一个芯片上的微型计算机,也就是把组成微型计算机的各种功能部件,包括CPU、随机存储器RAM、只读存储器ROM、基本输入/输出接口电路。

定时器/计数器等部件都制作在一块芯片上,构成一个完整的微型计算机从而实现微型计算机的基本功能。

单片机内部结构示意图如图3.2.1所示。

图3.2.1单片机内部结构示意图
3.2.2 单片机最小系统的介绍
AT89C52提供以下标准功能:8K字节Flash闪速存储器,256字节内部RAM,32个I/O口线,3个16位定时/计数器,5个中断源,一个全双工串行通信口,片内具有振荡器及时钟电路。

单片机最小系统如图3.4所示。

图3.2.2单片机最小系统
3.2.3 单片机定时/计数功能的介绍
AT89C52单片机定时/计数器的工作有两个特殊功能寄存器控制。

TMOD用于设置其工作方式:TCON用于控制其启动和中断请求。

3.3 步进电机工作原理
3.3.1 步进电机原理
步进电机是一种感应电机,它的工作原理是利用电子电路,将直流电变成分时供
电的,多相时序控制电流,用这种电流为步进电机供电,步进电机才能正常工作,
驱动器就是为步进电机分时供电的,多相时序控制器
虽然步进电机已被广泛地应用,但步进电机并不能象普通的直流电机,交流
电机在常规下使用。

它必须由双环形脉冲信号、功率驱动电路等组成控制系统方
可使用。

因此用好步进电机却非易事,它涉及到机械、电机、电子及计算机等许
多专业知识。

步进电机作为执行元件,是机电一体化的关键产品之一, 广泛应用在各种自动化控制系统中。

随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。

3.3.2 步进电机驱动电路
步进电机驱动电路原理图如图3.2.2所示。

图3.3.2 步进电机驱动电路原理
3.4 LED指示电路
LDE指示电路原理图如图3.4.1。

图3.4.LED指示电路原理图
3.5 蜂鸣器电路
蜂鸣器电路原理图如图3.5.1所示。

图3.5.1 蜂鸣器电路原理图3.6 系统原理图及印刷板图
3.6.1系统总原理图
系统总原理图如图3.6.1所示。

图3.6.1 系统总原理图图
3.6.2 印刷版图
系统印刷板图如图3.6.2
图3.6.2 系统印刷板图
4软件设计流程
4.1全部软件
相关代码见附录
5 系统的调试与分析
5.1 硬件调试
首先,找到所有所需的元器件并归类放好。

然后将做好的PCB板放到电脑面前,对应画好的PCB图纸,将原件一一对应的插入到板子上,并并稍稍固定以防止焊接过程中原件的掉落。

原件放好后便可以拿到后面去一一焊接。

焊接完毕后按要求调试。

调试故障及原因分析如下。

1.接收不到红外信号
原因:红外接收头插反。

调试过程:红外遥控对接收头按键,蜂鸣器不叫,说明红外接收管没有接收到红外信号,或者是程序没有正确处理红外信号。

结论:红外接收管种类很多,但常用的只有两三种,这两三种输出引脚不同,使用的时候要正确识别。

2.蜂鸣器叫声小
原因:跟蜂鸣器串联的电阻过大
调试:更换与蜂鸣器串联的电阻,换成阻值较小的电阻。

结论:正确识别和读取色环电阻。

5.2 软件调试
具体的说这个应该属于是软硬件联合调试,在硬件调试好的情况下,调试软件应该还是比较容易的。

调试故障及原因分析如下。

1.只是灯没有正常工作
原因分析:三个LED指示灯有一个没有正常工作,经检查是坏的
结论:在焊接元件前要进行元件检测,确保元件是好的。

2.步进电机不工作
原因分析:在开发箱上别写的程序在移植到系统板上的时候没有修改所用的引脚。

结论:在开发箱上的程序,移植到自己的功能电路中时要认真检查所用的引脚,把该修改的地方要正确修改,确保移植无误。

6 结论与展望
6.1 结论
该课程的主要任务是开发一个以AT89C52单片机为核心的红外遥控密码锁。

本设计主要分硬件部分和软件部分,硬件部分着重考虑硬件电路的简单性,故尽可能简单硬件电路,节省线路板的空间,达到硬件电路最优化设计。

软件采用C语言编写,采用模块化设计思想,程序可读性强,能满足设计要求,达到设计指标,实现了遥控开锁、关锁启动系统修改密码,多次输入错误报警等功能。

速度
本设计符合设计要求,操作简单,方便易用,功能性较强,具有一定的实践意义和使用价值,但也有一些不足,如没有设计忘记密码的应急措施和掉电保护功能,功能有待完善。

6.2 展望
本操作简单,易于实现。

硬件部分采用的器件应用比较广泛,且价格低廉,如AT89C52单片机、红外遥控器、红外接收管、uln2003驱动芯片、步进电机、发光二极管等。

这意味着所用的器件功能比较强大、稳定,尤其是本次设计的核心元件的核心元件AT89C52单片机,软件技术成熟。

这类微处理器既可用作控制器有适合于做数据处理,而且成本低廉。

软件采用模块化设计,可读性强,方便二次开发。

这个红外要空密码锁系统,具有较低的成本和稳定的可靠性,具有较好的开发前景。

致谢
在本次设计过程中我获益匪浅,在当中我遇到了许多问题。

比如在画图过程中,封装不会画,没有根据实物画,在PCB图连线时,线的粗细,焊盘的大小都没有设定,在同学的帮助下,最后成功画出了PCB与,并制作出了PCB板。

调试过程中,在老师的帮助下,发现了不少问题,并都解决了。

在这我非常感谢他们,是他们帮助我顺利完成了我的设计。

参考文献
【1】李朝青.单片机原理与接口技术.北京航空大学出版社,1994
【2】刘灿军.使用传感器.国防工业出版社.2004
【3】何希才.传感器及其应用. 国防工业出版社.2004
【4】童诗白华成英主编. 模拟电子技术基础. 高等教育出版社。

2006
【5】李金平沈明山姜余祥编著. 电子系统设计. 电子工业出版社2009
附录1
红外遥控锁元件清单
附录2
/**********************************************************************
红外遥控锁全部程序
***********************************************************************/
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar code table[16] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; uchar code table1[]={0x80,0x40,0x20,0x10};
uchar code table2[]={0x10,0x20,0x40,0x80};
sbit P2_0=P2^0;
sbit P0_0=P0^0;
sbit P0_1=P0^1;
sbit P0_2=P0^2;
uchar htime;//红外时间变量
uchar startflag;//红外数据开始提取变量uchar hdata[33];//红外数据的数组uchar bytenumber;
uchar endflag;
uchar date[4];
uchar hp;
uchar disp[8];
void delay1(uint a)
{while(a--);
}
void delay(uint del)
{uint i,j;
for(i=0;i<del;i++)
for(j=0;j<110;j++);
}
void time0_init()
{TMOD=0x02;
TH0=0x00;
TL0=0x00;
EA=1;
ET0=1;
TR0=1;
}
void int1init()
{EA=1;
EX1=1;
IT1=1;
}
//红外数据提取函数
void hpros()
{uchar k=1,i,j;
uchar value;
for(j=0;j<4;j++)
{
for(i=0;i<8;i++)
{ value=value>>1;
if(hdata[k]>6)
{value=value|0x80;
}
k++;
}
date[j]=value;
}
hp=1;
}
//红外数据处理函数
void hchuli()
{disp[0]=date[0]/16;
disp[1]=date[0]%16;
disp[2]=date[1]/16;
disp[3]=date[1]%16;
disp[4]=date[2]/16;
disp[5]=date[2]%16;
disp[6]=date[3]/16;
disp[7]=date[3]%16;
}
//蜂鸣器发声和Led亮
void BEEP()
{uchar m=20;
P0_0=0;
while(m--)
{P2_0=1;
delay(1);
P2_0=0;
delay(1);
}
P0_0=1;
}
void main()
{uint i=0,k,flag=0,b=0,d=0,FLAG=1,rflag=1,RFLAG=1,alarm=0,G=0,g=0,rag=0;
uchar key[8]={4,5,4,6,4,7,4,4},key1[8],key2[8]={4,0,4,3,0,7,1,5};//电控锁密码数组为key,key2为正转和反转,key1为转载红外数据的数组
time0_init();
int1init();
while(1)
{ if(endflag)
{hpros();
endflag=0;
}
if(hp)
{hchuli();
hp=0;
flag=1;//按键按下蜂鸣器发声和led亮的标志}
//电控锁复位标志
if((disp[4]==1)&&(disp[5]==6))
{uchar a;
for(a=0;a<8;a++)
{key1[a]=0;}
FLAG=1;
rflag=1;
alarm=0;
RFLAG=1;
i=0;
}
if(flag)
{BEEP();
key1[i]=disp[4];
key1[i+1]=disp[5];
i=i+2;
flag=0;
rag=1;
alarm++;
if(i==8)
{i=0;}
}
//修改密码
if((disp[4]==1)&&(disp[5]==9))
{ uchar a;
for(a=0;a<8;a++)
{key1[a]=0;}
RFLAG=0;
i=0;
}
//进入修改密码的具体的实现
if(RFLAG==0)
{
//确认要修改的密码的原密码
if((key[0]==key1[0])&&(key[1]==key1[1])&&(key[2]==key1[2])&&(key[3]==key1[3])&&(key[ 4]==key1[4])&&(key[5]==key1[5])&&(key[6]==key1[6])&&(key[7]==key1[7]))
{uint H;
G=1;
for(H=0;H<10;H++)
{ P0_1=0;
delay(20);
P0_1=1;
delay(20);
}
for(H=0;H<8;H++)
{key1[H]=0;}
i=0;
rag=0;
}
if((key2[0]==key1[0])&&(key2[1]==key1[1])&&(key2[2]==key1[2])&&(key2[3]==key1[3])&&( key2[4]==key1[4])&&(key2[5]==key1[5])&&(key2[6]==key1[6])&&(key2[7]==key1[7])) {uint h;
g=1;
for(h=0;h<10;h++)
{P0_2=0;
delay(30);
P0_2=1;
delay(30);
}
for(h=0;h<8;h++)
{key1[h]=0;}
i=0;
rag=0;
}
//修改密码,输入新密码
if(G)
{if(rag)
{ uint B;
key[b]=disp[4];
key[b+1]=disp[5];
b=b+2;
if(b==8)
{b=0;
G=0;
RFLAG=1;
alarm=0;
for(B=0;B<8;B++)
{key1[B]=0;
}
for(B=0;B<10;B++)
{P0_1=0;
delay(20);
P0_1=1;
delay(20);
}
i=0;
}
rag=0;
}
}
if(g)
{ if(rag)
{uint D;
key2[d]=disp[4];
key2[d+1]=disp[5];
d=d+2;
if(d==8)
{d=0;
g=0;
RFLAG=1;
alarm=0;
for(D=0;D<8;D++)
{key1[D]=0;
}
for(D=0;D<10;D++)
{P0_2=0;
delay(20);
P0_2=1;
delay(20);
}
i=0;
}
rag=0;
}
}
}
//红外控制电控锁旋转
if(RFLAG)
{
if((key[0]==key1[0])&&(key[1]==key1[1])&&(key[2]==key1[2])&&(key[3]==key1[3])&&(key[ 4]==key1[4])&&(key[5]==key1[5])&&(key[6]==key1[6])&&(key[7]==key1[7]))
{uint j=128;
if(FLAG)
{P0_1=0;
while(j--)
{for(k=0;k<4;k++)
{P2=table1[k];
delay1(800);
}
}
P0_1=1;
FLAG=0;
rflag=1;
alarm=0;
i=0;
}
}
if((key2[0]==key1[0])&&(key2[1]==key1[1])&&(key2[2]==key1[2])&&(key2[3]==key1[3] )&&(key2[4]==key1[4])&&(key2[5]==key1[5])&&(key2[6]==key1[6])&&(key2[7]==key1[7])) { uint j=128;
if(rflag)
{P0_2=0;
while(j--)
{for(k=0;k<4;k++)
{P2=table2[k];
delay1(800);
}
}
P0_2=1;
rflag=0;
FLAG=1;
alarm=0;
i=0;
}
}
if((disp[4]==0)&&(disp[5]==9))
{if(FLAG)
{uchar n;
for(n=0;n<10;n++)
{P0_1=0;
delay(20);
P0_1=1;
delay(20);
}
}
if(rflag)
{uchar m;
for(m=0;m<10;m++)
{P0_2=0;
delay(20);
P0_2=1;
delay(20);
}
}
disp[4]=0;
disp[5]=0;
i=0;
}
if(alarm>5)
{uint f=20;
while(f--)
{BEEP();}
i=0;
alarm=0;
}
}
}
}
void time0() interrupt 1
{htime++;
}
void int1() interrupt 2
{
if(startflag)
{
if(htime>35)
bytenumber=0;
hdata[bytenumber]=htime;
htime=0;
bytenumber++;
if(bytenumber==33)
{bytenumber=0;
endflag=1;
}
}
else
{
startflag=1;
htime=0;
}
}
毕业论文题目:基于单片机的电子密码锁的设计
专业:通信工程
摘要
单片机已经在家电领域中得到了广泛的应用,而且在安全密保方面,具有防盗报警功能的电子密码锁逐渐取代了传统的机械密码锁,克服了机械密码锁密码过少的安全性问题。

本密码锁的主控芯片采用价格实惠而且容易购买的STC89C52芯片。

密码输入采用矩阵键盘及独立键盘,密码显示采用共阴极的八段显示数码管。

系统能完成密码
输入、正确开锁、超次报警这些基本的密码锁的功能。

系统的软件实现采用功能强大且易于开发的KeilC51环境,且支持ISP下载。

因此没使用编程器,用C语言实现系统的软件部分。

由于51单片机也有一些不足之处如断电后内部RAM储存的数据会完全丢失,为了克服这一缺点,系统的外围加了掉电存储电路并且由AT24C02芯片来实现。

此设计具有安全性高、价格低廉便于实现、易于改进等优点。

【关键词】电子密码锁STC89C52 矩阵键盘AT24C02
ABSTRACT
MCU had been widely used in home appliance field,in the security password protection aspect anti-theft alarm function electronic combination lock gradually replace the traditional mechanical trick lock,it also overcome the security problems that the password of machinery combination lock are too few. This combination lock's master chip adopts STC89C52 which is affordable and easy to buy.Password’s input adopt matrix keyboard and independent keyboard, password's display using the erection of the cathode tube display digital. This system can accomplish password input, correct unlock, super times alarm ,these basic combination lock function . Software realization of this system is used in KeilC51 environment .it is powerful and easy to develop, and to support ISP to download. Therefore it is not use programmer, use C language implementation software of system components. Because 51MCU also has some disadvantages ,such as the internal RAM stored data will be completely lose after power failure, in order to, the system's periphery added off electricity storage circuit and use AT24C02 chip to overcome these shortcomings. This design has a high security, a low prices,which is easy to be realized and improved.
【Key words】Electronic Combination lock STC89C52 Matrix keyboard
AT24C02
前言
随着社会物质财富的日益增长,安全防盗已成为社会问题。

如何实现防盗和安全这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,而锁自古以来就是把门户的将军,人们对其要求比较高,不仅能够安全的防盗,而且还要使用方便,这是制锁者长期以来研制的主题。

而当今社会由于计算机的迅猛发展,数字电子技术已经进入人们生活的各个领域,在国内外,电子产品的更新可谓如雨后的春笋层出不群,更多的电子产品也越来越多的应用于安全防范领域。

有需求就必有发展,不同种类的锁也应运而生,有密码锁、磁性锁、电子锁、激光锁、声控锁等等,它们的实现在传统钥匙的基础上加了一组或多组密码,不同声音,不同磁场,不同声波,不同光束光波,不同图像(如指纹、眼底视网膜等)来控制锁的开启。

电子密码锁由于其保密性高,使用灵活性好,安全系数高,受到。

相关文档
最新文档