毕业设计-基于单片机的红外遥控系统密码锁控制.doc_第1页
毕业设计-基于单片机的红外遥控系统密码锁控制.doc_第2页
毕业设计-基于单片机的红外遥控系统密码锁控制.doc_第3页
毕业设计-基于单片机的红外遥控系统密码锁控制.doc_第4页
毕业设计-基于单片机的红外遥控系统密码锁控制.doc_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

哈尔滨工业大学华德应用技术学院毕业设计(论文)摘 要本文设计了一种基于单片机的红外遥控密码锁,并简要介绍了它的工作原理。红外电子密码锁能实现多种控制功能,有较好的市场发展前景和技术应用价值。电子密码锁克服了机械式密码锁量少、安全性能差的缺点,特别是使用单片机控制的智能电子密码锁,不但功能全,而且具有更高的安全性和可靠性。并且电子密码锁只需记住一组密码,无需携带钥匙,免除了人们携带钥匙的烦恼,被越来越多的人所喜欢。针对传统的机械锁的各种缺点和对安全性要求,设计了一种红外遥控电子密码锁,可以满足安全方面的要求,也能够实现特殊环境下的使用需求。系统能完成开锁、出错报警、修改用户密码等基本的密码锁的功能,并且能实现遥控、掉电存储、声音提示等功能。关键词:电子密码锁;红外遥控;at89c51单片机abstractthis paper designed the code lock controlled by infrared ray based on single chip. at the same time, we also give a brief introduction of the principle of the code lock. infrared electronic coded lock can realize various control functions,have a good market prospects for development and technical application value。according to all kinds of faults of the traditional mechanical lock and to meet the security requirement, designed a kind of infrared remote electronic coded lock,it can not only meet the safety requirements,but also can realize the use of special circumstances demand.this system has the basic function of opening the lock, error alarming and modifying the password of the users as well as the function of remote control, power down storeage, sound hinting function, etc.key words: electronic coded lock; infrared remote control; microcontroller目 录摘 要iabstractii第1章 绪论11.1 课题背景和意义11.2 电子密码锁的发展趋势11.3 系统设计要求21.3.1 功能21.3.2 技术指标2第2章 系统设计方案32.1 at89c51芯片的介绍32.2 系统设计方案6本章小结7第3章 红外密码锁硬件部分83.1 74ls164芯片83.2 单片机硬件电路83.2.1 电源电路83.2.2 复位电路93.2.3 晶振电路103.3 发射和接收装置103.3.1 发射装置103.3.2 接收装置113.4 34矩阵键盘123.5 数码管133.6 发光二级管led143.6.1 led简介143.6.2 led特性153.7 电磁继电器153.8 报警器16本章小结19第4章 软件程序设计204.1 遥控发射部分程序设计204.1.1 主程序204.1.2 按键扫描程序214.1.3 遥控编码脉冲发射程序234.2 主机接收部分程序设计254.2.1 主程序254.2.2 解码接收程序27本章小结29第5章 系统调试305.1 调试仪器305.2 整体调试305.3 硬件单元调试315.3.1 红外钥匙(从机)调试315.3.2 红外遥控门锁(主机)调试315.4 软件调试31本章小结31结 论32致 谢33参考文献34附录1 译文35附录2 英文文献39-iv-第1章 绪 论1.1 课题背景和意义人们从前使用的锁不但不方便,而且安全系数也比较低。随着社会的进步和人们生活水平的提高,老式的锁已经跟不上人们的要求,况且人们对防盗的要求越来越高,特别是对使用的便捷性也有了更高的需求。因此近几年一种新型的电子密码锁应运而生,受到了人们的青睐。有报警功能的密码锁这时正为人们解决了不少问题。但是市场上的密码锁大部分都是用于一些大公司财政机构、价格高昂,一般人们难以接受。如果再设计和生产一种价格低廉、性能灵敏可靠的密码锁,必将在防盗和保证财政安全方面发挥更加有效的作用。密码锁是现代生活中经常用到的工具之一,广泛应用于保险柜、房门、宾馆、车库等。电子密码锁克服了机械式密码锁量少、安全性能差的缺点,特别是使用单片机控制的智能电子密码锁,不但功能全,而且具有更高的安全性和可靠性。并且电子密码锁只需记住一组密码,无需携带钥匙,免除了人们携带钥匙的烦恼,被越来越多的人所喜欢。随着我国第三产业的飞速发展,电子密码锁会在不久的将来得到广泛的应用,方便社会和个人。1.2 电子密码锁的发展趋势20世纪80年代后,随着电子锁专用集成电路的出现,电子锁的体积缩小,同时可靠性提高,成本也相对提高,所以只适合使用在安全性要求较高的场合,且需要有电源提供能量,使用还局限在一定范围,难以普及,所以对密码锁的研究一直没有明显进展。到了90年代,美国、意大利、德国、日本、加拿大、韩国以及我国的台湾、香港等地的微电子技术的进步和通信技术的发展为密码锁提供了技术上的支持,从而推动密码锁走向实际应用的阶段。目前,在西方国家,电子密码锁技术相对先进,种类齐全,电子密码锁已被广泛应用于智能门禁系统中,使之更加安全更加可靠实现大门的管理。我国于90年代初期开始对密码锁进行初步的探索。到目前为止,随着电子技术和信息技术的发展,电子密码锁的技术领域已发展的十分成熟。从目前的技术水平和市场认可程度看,使用最为广泛的是键盘式电子密码锁,该产品主要应用于保险箱、保险柜和金库,还有一部分应用于保管箱和运钞车。在其他技术领域还有遥控式电子密码锁以及卡片式密码锁等。1.3 系统设计要求1.3.1 功能(1)遥控系统可在高压、辐射、有毒气体、粉尘等环境工作人员不用亲自到达下工作;用户可以自由设定密码、具有报警提示功能、可设置万用密码、具有掉电存储密码功能。(2)遥控操作的不同,遥控发射器通过对红外光发射频率的控制来区别不同的操作;可以实现无线操作,智能控制,操作人员活动范围大,使用方便,操控精准。(3)红外解码电路设计要求:精确接收红外信号,并对所接收信号进行解码、放大、整形、解调等处理,最后输出ttl电平信号;对非红外光及边缘红外光抗干扰能力强。(4)对红外载波、编码电路设计要求:单片机定时器精确产生38khz红外载波;根据控制系统要求能对红外控制指令信号精确编码并迅速发送。1.3.2 技术指标(1) 遥控距离达到8米以上。(2) 按键响应时间小于0.1s。 第2章 系统设计方案2.1 at89c51芯片的介绍设计是以at89c51单片机为核心的。at89c51单片机是由atmel公司推出的at89系列的单片机。at89s51是一个低功耗,高性能cmos 8位单片机,片内含4k bytes isp(in-system programmable)的可反复擦写1000次的flash只读程序存储器,器件采用atmel公司的高密度、非易失性存储技术制造,兼容标准mcs-51,芯片内集成了通用8位中央处理器和isp flash存储单元,功能强大的微型计算机的at89c51可为许多嵌入式控制应用系统提供高性价比的解决方案。at89c51具有如下特点:40个引脚,4k bytes flash片内程序存储器,128 bytes的随机存取数据存储器(ram),32个外部双向输入/输出(i/o)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(wdt)电路,片内时钟振荡器。1.它的性能与主要特点如下(1)与mcs-51微控制器产品系列兼容。(2)片内有4kb可在线重复编程的快闪擦写存储器(flash memory)。(3)全静态工作:0hz-24khz。(4)三级程序存储器保密锁定。(5)存储器可循环写入/擦除1000次。(6)宽工作电压范围:vcc可为2.7v-6v。(7)1288位内部ram。 (8)2条可编程i/o线。(9)两个16位定时器/计数器。(10)中断结构具有5个中断源和2个优先级。(11)可编程全双工串行通道。(12)空闲状态维持低功耗和掉电状态保存存储内容。2.at89c51引脚介绍主要引脚(图2-1)的具体描述如下。vcc: 电源。提供掉电、空闲、正常+5v工作电压。vss(gnd): 接地。图2-1 at89c51引脚排列图p0口: p0口可以作普通的双向i/o口使用,也可以在访问外部存储器时用作低8位地址线和数据总线。p1口: p1口是一个内部提供上拉电阻的8位双向i/o口,向p1口管脚写入1后,被内部上拉为高电平可用作输入口,当作为输入脚时,被外部拉低的p1口会因为内部上拉而输出电流。p1口还具备第二功能。p2口: p2口是一个内部提供上拉电阻的8位双向i/o口,向p2口管脚写入1后,被内部上拉为高电平可用作输入口,当作为输入脚时,被外部拉低的p2口会因为内部上拉而输出电流。在访问外部程序存储器和外部数据存储器时,可作为地址总线的高位字节。p3口:也是一个双向功能口既可以作普通输入输出口使用,也可以按每一位的定义实现第二功能操作。p3口的第二功能,如表2-1所示。表2-1 p3口的第二功能 口 线第二功能信 号 名 称 p3.0 rxd串行输入口 p3.1 txd串行输出口 p3.2 /int0 外部中断0 p3.3 /int1 外部中断1 p3.4 t0 定时器/计数器0 p3.5 t1 顶时器/计数器1 p3.6 /wr外部数据存储器写选通 p3.7 /rd 外部数据存储器读选通reset/vpd: reset是复位信号输入端,高电平有效,此端保持两个机器周期以上的高电平时,就可以完成复位操作。reset引脚的第二功能vpd即备用电源的输入端。ale/prog: 地址锁存控制信号。在系统扩展时,ale用于控制把p0口输出的低8位地址送入锁存器锁存起来,以实现低位地址和数据的分时传送。ale是以1/6晶振频率的固定频率输出的正脉冲。/psen: 程序存储器允许信号输出端。当访问片外程序存储器时,此脚输出负脉冲作为读选通信号,低电平有效。/ea/vpp: 片内程序存储器选通控制端,低电平有效。当/ea端保持低电平时,将只访问片外程序存储器。当ea端保持高电平时,执行访问片内程序存储器,但在pc值超过0fffh或1fffh时将自动转向执行片外程序存储器内的程序。vpp加入编程电压端。对eprom型单片机,在eprom编程期间,此引脚用于施加21v的编程电压。xtal1: 片内高增益反相放大器的输入端。接外部石英晶体和电容的一端。若使用外部输入时钟,该引脚必须接地。xtal2: 片内高增益反相放大器的输出端。接外部石英晶体和电容的一端,若使用外部输入时钟,该引脚作为外部输入时钟的输入端。3.芯片的可擦除性 at89c51单片机还具有芯片擦除性,整个perom阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ale管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。 此外,at89c51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,cpu停止工作。但ram,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存ram的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。2.2 系统设计方案本系统采用以单片机为核心元件的控制方案。由于单片机种类繁多,各种型号都有其一定的应用环境,因此在选用时要多加比较,合理选择,以获得最佳的性价比。显示电路电源电路单片机报警电路键盘输入开锁电路复位电路红外遥控密码储存图2-2 系统设计原理图一般来说在选取单片机时从下面几个方面考虑:性能、存储器、运行速度、i/o口、定时/计数器、串行接口、模拟电路功能、工作电压、功耗、封装形式、抗干扰性、保密性,除了以上的一些方面外,还有一些最基本的条件,比如:中断源的数量和优先级、工作温度范围、有没有低电压检测功能、单片机内有无时钟振荡器、有无上电复位功能等。在开发过程中还要考虑开发工具、编程器、开发成本、开发人员的适应性、技术支持和服务等因素。基于以上因素本设计选用单片机at89s51作为本设计的核心元件,利用单片机灵活的编程设计和丰富的i/o端口,及其控制的准确性,实现基本的密码锁功能。在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接at24c02芯片用于密码的存储,外接led1602显示器用于显示作用。其原理如图2-2所示。本章小结本章主要介绍了at89c51芯片的性能与主要特点,引脚,以及at89c51芯片的可擦除性,系统设计方案,系统总设计结构图。第3章 红外密码锁硬件部分3.1 74ls164芯片在显示部分,运用led静态显示,静态显示方式编程简单,但占用单片机i/o口线多适合于显示器位数较少的场合。at89c51单片机应用系统中,当串行口空闲时,可用来拓展并行i/o口(这里设定串行口工作在移位寄存器方式0状态下),作为led静态显示接口。在这里运用74ls164来扩展并行i/o口,节约单片机资源。74ls164是一个串行输入并行输出的移位寄存器。并带有清除端。引脚定义图如图3-1所示。图3-1 74ls16引脚定义图引脚说明:74ls164是串行输入、并行输出的移位寄存器,其引脚功能如下:a、b串行输入端。q0-q7并行输出端。/mr清除端。cp时钟脉冲输入端。在脉冲上升沿实现移位;当cp=0、/mr=1时,输出保持不变。3.2 单片机硬件电路3.2.1 电源电路电源电路由桥式整流,滤波电容,7805稳压器及电源指示灯组成。交流电经过桥式整流变成直流电,再经过电容滤波。7805集成稳压器稳压成为稳定的5v电源。用一个发光二级管指示灯指示电源状态。电源电路如图3-2所示。图3-2 电源电路图3.2.2 复位电路单片机复位时reset需要保持96个晶振周期的高电平(即需8个机器周期)。复位以后p0p3口输出高电平,堆栈指针sp指向07h,其他特殊功能寄存器和程序计数器pc清零。只要reset保持高电平,at89c51就会循环复位。reset当由高电平变为低电平后,单片机从程序存储器0地址开始执行程序。但单片机复位不影响内部ram的状态,包括工作寄存器r0r7。常见的复位电路有:上电复位电路和上电按钮复位电路,在本设计中均采用上电按钮复位电路,如图3-3所示。图3-3复位电路3.2.3 晶振电路所谓的晶振电路即指单片机的时钟电路。该电路通常有内部时钟电路和外部时钟电路。一般选用前者。单片机芯片内部有一个反相放大器构成的振荡器。反相放大器的输入端为xtal1,输出端为xtal2,把x和xtal2与外部石英晶体及两个电容连接起来可构成一个石英晶体振荡器如图3-4所示。时钟发生器是一个2分频电路。它把晶体振荡器的频率2分频后供给片内其他电路。一般电容c1和c2起到稳定振荡频率、快速起振的作用。xtal1 xtal2 c1 晶振 c2 图3-4 晶振电路3.3 发射和接收装置3.3.1 发射装置常用的发射器为红外发光二级管它是电视机、影碟机、音响装置、空调等各类红外遥控系统中不可缺少的电子器件,它将脉冲编码遥控指令用红外发光二极管发射红外线去控制受控装置时,受控装置中均有相应的红外光电转换元件,通过这个转换把相应的光信号转换为电信号。这里采用红外发光二极管如 se303ph303,外形和发光二极管led相似,发出红外光(近红外线约0.93m )。管压降约1.4v ,工作电流一般小于20ma。为了适应不同的工作电压,回路中常串有限流电阻。发射红外线去控制相应的受控装置时,其控制的距离与发射功率成正比。为了增加红外线的控制距离,红外发光二极管工作于脉冲状态,因为脉动光(调制光)的有效传送距离与脉冲的峰值电流成正比,只需尽量提高峰值电流 ,就能增加红外光的发射距离。提高峰值电流的方法,是减小脉冲占空比,即压缩脉冲的宽度。减小脉冲占空比还可使小功率红外发光二极管的发射距离大大增加。要使红外发光二极管产生调制光,只需在驱动管上加上一定频率的脉冲电压。红外发射电路如图3-5所示。图3-5 红外发射电路3.3.2 接收装置常用的红外接收装置有如红外接收二极管,光电三极管等。实用中已有红外发射和接收配对的二级管。在本设计中采用红外一体化接收头hs0038。它有如下优点:一体化的红外接收装置将遥控信号的接收、放大、检波、整形集于一身,并且输出可以让单片机识别的ttl 信号,这样大大简化了接收电路的复杂程度和电路的设计工作,方便使用。接收头连接图及红外接收电路图如图3-6所示。hs0038 黑色环氧树脂封装,不受日光、荧光灯等光源干扰,内附磁屏蔽功耗低,灵敏度高。在用小功率发射管发射信号情况下,其接收距离可达35 m。它能与ttl、coms 电路兼容。hs0038 为直立侧面收光型。它接收红外信号频率为38khz,周期约26s,同时能对信号进行放大、检波、整形,得到ttl 电平的编码信号。三个管脚(1、2、3)分别是地、5 v 电源、解调信号输出端。 图3-6 红外接收图3.4 34矩阵键盘在单片机运用系统中,经常使用简单的键盘和bcd拨码盘作为系统的输入。键盘由一组常开的按键组成,可以通过键盘输入数据或命令。每个按键都被赋予一个代码,称为键码。键码分为编码键盘和非编码键盘。编码键盘是通过一个编码电路识别闭合键的键码,而非编码键盘是通过软件来识别键盘的。通常由于机械触点的弹性作用,触点在闭合和断开瞬间的电接触情况不稳定,造成了电压信号的抖动现象,键抖动的时间一般为510ms。为了避免一次闭合引起cpu多次处理,通常会采取去抖动措施。非编码键盘有独立式键盘和行列式(矩阵)键盘。由于前者在按键较多时会站用较多的i/o口,因此采用行列式(矩阵)键盘,如图3-7所示。行列式键盘又叫矩阵键盘,是将i/o线的一部分作为行线,另一部分作为列线,按键设置在行线和列线的交叉点上,它是通过检测键盘有无闭合以及查找闭合键的键号,一般采用扫描法。在这里设计的34的矩阵键盘。(1)先向所有的行线输出0,列线输出1,然后检测各列线的按键状态,由相应的列线读入累加器a中。有键按下时,对应的列线输入0,无键按下时所有的列线输入为1。(2)若有键闭合,依次从行线上逐列输出0,然后依次检测各列线的状态。若为1,说明闭合键不在该列;若有的为0,则说明闭合键在该列与行线的交点上。由于每个按键所有的行号与列号不相同,所以每个按键按行号加列号的值赋予了一个键号。 图3-7 矩阵键盘图3.5 数码管单片机运用系统中,使用的显示器主要有led(发光二级管显示器)和lcd(液晶显示器)。这两种显示器成本低廉,配置灵活,与单片机接口方便。led显示器结构与原理:led显示器是由发光二级管显示字段的显示器件有共阴极与共阳极两种。如图3-8所示,其中7只发光二级管(a-g7段)构成字符“8”,另外还有一只小数点发光二级管dp。当某个发光二级管的阳极为高电平时,发光二级管点亮。当人为控制某几段发光二级管点亮就能显示某个数码或字符。led显示器有静态显示与动态显示两种方式。led显示器的字码段(7段码),如表3-1所示。图3-8 led显示器表3-1 led显示器的字段码(7段码)显示字符共阴极字段码共阳极字段码显示字符共阴极字段码共阳极字段码03fhc0h96fh90h106hf9ha77h88h25bha4hb7ch83h34fhb0hc39hc6h466h99hd5eha1h56dh92he79h86h67dh82hf71h8eh707hf8hp73h8ch87fh80h熄灭00hffh3.6 发光二级管led3.6.1 led简介发光二极管简称为led。由镓(ga)与砷(as)、磷(p)的化合物制成的二极管,其核心是pn结。当电子与空穴复合时能辐射出可见光,因而可以用来制成发光二极管,在电路及仪器中作为指示灯,或者组成文字或数字显示。它是半导体二极管的一种,可以把电能转化成光能;而红外二极管在正向导通时会发出红外光。常简写为led。发光二极管与普通二极管一样是由一个pn结组成,也具有单向导电性。3.6.2 led特性(1) 发光二极管的反向击穿电压约5伏。主要特性是正向导通、反向截止、击穿特性。它的正向伏安特性曲线很陡,使用时必须串联限流电阻以控制通过管子的电流,以防止击穿。 (2)发光二极管(led)的主要参数。a.最大正向电流ifm:允许加的最大正向直流电流,超过此值led损坏。b.正向工作电流if:指led正常发光时的正向电流值。c.正向工作电压vf:在给定的正向电流下测得的工作电压。d.最大反向电压vrm:允许加的最大反向电压,超过此值led可能被击穿损坏。3.7 电磁继电器在开锁部分采用电磁继电器。通过单片机来控制其线圈的通断电,从而控制其触点的吸和与断开。继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。一般用符号“j”表示。1.电磁继电器的工作原理和特性电磁式继电器一般由铁芯、线圈、衔铁、触点簧片等组成的。只要在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点(常开触点)吸合。当线圈断电后,电磁的吸力也随之消失,衔铁就会在弹簧的反作用力返回原来的位置,使动触点与原来的静触点(常闭触点)吸合。这样吸合、释放,从而达到了在电路中的导通、切断的目的。2.电磁式继电器的主要参数。(1)额定工作电压: 是指继电器正常工作时线圈所需要的电压。根据继电器的型号不同,可以是交流电压,也可以是直流电压。在这采用直流电压(+5v)的工作电压来驱动。(2)直流电阻:是指继电器中线圈的直流电阻。(3)吸合电流:是指继电器能够产生吸合动作的最小电流。在正常使用时,给定的电流必须略大于吸合电流,这样继电器才能稳定地工作。3.8 报警器在报警部分,使用扬声器。从单片机发出的引脚(p2.3)控制信号,经一个三极管放大后再驱动扬声器,使整个系统产生报警。报警电路如图3-9所示。图3-9 报警电路图3.9 完整硬件电路图1.遥控器硬件电路图,如图3-10所示。图3-10 遥控器硬件电路2.主机硬件电路图,如图3-11所示。图3-11 主机硬件电路本章小结本章主要围绕电子密码锁的硬件电路展开,介绍了74ls164芯片,单片机的硬件电路,发射和接收装置,矩阵键盘,数码管,发光二极管,电磁继电器以及报警器。第4章 软件程序设计4.1 遥控发射部分程序设计该部分主要分为主程序、按键扫描程序以及遥控编码脉冲发射程序。4.1.1 主程序主要是对定时器t1定时的方式的设定、计数器的初始化等。主程序程序流程图如图4-1所示开始返回键盘扫描转按键功能程序有键闭合?转脉冲发射程序*键按下?开始发送初始化 ny n y y图4-1 主程序流程图主程序的初始化程序如下:start: lcall clear lcall keyin ajmp startclear: mov p1,#0ffh clr p3.5 mov sp,#70h mov ie,#00h;关总中断与中断1 mov tmod,#20h;设定时器t1方式2自动重装模式 mov th1,#0f3h;定时13us mov tl1,#0f3h setb ea;开总中断 move scon,#ooh;置串行口工作方式0 ljmp start ret4.1.2 按键扫描程序在此设计的是3行4列的矩阵键盘。程序流程图如图4-2所示。按键扫描程序如下:keyin : mov p1,#0f8h mov a,p1 cjne a,#0f8h,next1keyout: retnext1: lcall delay10ms mov a,p1 cjne a,#0f8h,next2 ljmp keyout next2: mov r4,#0;行号 mov r7,#03h;扫描行数 mov r2,#0feh nxloop: mov r3,#0;列号 qjz: mov a,r4;置行号 mov r6,#04h mov p1,r2 mov a,p1 anl a,#0f8h cjne a,#0f8h,next3 ljmp keyout next3: clr c rlc a next7: rlc a mov r5,a jc next4 ljmp qjz;求键值 next4: djnz r6,next5 ljmp next6 next5: mov a,r3 inc a;列号加一mov r3,amov a,r5ljmp next7 next6: mov a,r4add a,#04h;行号加四mov r4,adjnz r7,keyoutmov a,r2;进行下一列扫描rl amov r2,aljmp nxloopadd a,r3;行号加列号mov 30h,a;置键号mov a,p1anl a,#0f0hcjne a,#0f0h,keyoutlcall delay10ms;待按键释放cjne a,#0f0h,keyoutmov a,30h;键号放入aret开始 闭合键释放否?有键闭合? n n y y闭合键号放入a延时10ms y返回有键闭合? n y逐列逐行扫描判断闭合键键号 图4-2 按键扫描程序流程图4.1.3 遥控编码脉冲发射程序遥控器的编码采用脉冲个数编码格式,不同的脉冲个数代表不同的操作码信息。程序流程图如图4-3所示。遥控编码脉冲发射程序如下:send: jnb begin,start;bengin为*(开机)键标志 clr rs1;选工作寄存起器1 setb rs0 mov r1,a;装入发射脉冲数mov r0,#0fah;第一个码:250x0.012ms=3ms发射开始装入发射脉冲个数发送3ms停发1ms(r1)-1=0? y n停发10ms以上发1ms脉冲返回停发1ms图4-3 遥控器编码程序流程图ajmp send2send1: mov r0,#53;中间码:83x0.012=1mssend2: setb tr1;开高频定时器1中断调制(38khz) setb et1 nop nop nop nop nop nop nop nop djnz r0,send2 mov r0,#64h;码距:100x0.010ms=1mssendout: clr et1;关高频定时器1中断调制(38khz) clr tr1 clr p3.5 nop nop nop nop nop djnz r0,sendout djnz r1,send1;若r1中仍有脉冲则继续发送1ms的码 lcall delay500ms ret intt1: cpl p3.5 reti4.2 主机接收部分程序设计主机程序部分主要分为主程序、按键扫描程序以及解码接收程序。4.2.1 主程序主程序中主要是对外部中断0的设定以及一些存储单元的清零等初始化工作。主程序程序流程图如图4-4所示。主程序的初始化程序如下:start: lcall clear lcall keyin ljmp start clear: mov sp,#60hsetb it0;负跳变中断 setb ex0;开外部中断0 setb ea;开总中断开始初始化键盘扫描有键按下? n y转按键功能子程序图4-4 主程序流程图 clr p2.0;关锁 clr p2.3;关报警 mov 20h,#0;清零 mov 21h,#0 mov 29h,#0 move scon,#00h;置串行口工作方式0 mov mimacwcs,#0;密码错误存储单元清零 mov wzdmimacwcs,#0nopnopnopnopnopljmp startret4.2.2 解码接收程序解码接收程序利用外部中断0的中断服务程序实现的。外部中断0服务子程序流程图如图4-5所示。中断开始 低电平脉冲2ms? n y接收并对低电平(负)脉冲计数高电平脉宽3ms? n 按脉冲个数至对应功能程序 y中断返回图4-5 解码接收程序流程图解码接收程序如下:int0serve: push acc push psw push dpl push dph clr ex0;中断一来关外中断0 jnb p3.3,int0serve1;确认中断 int0ret: pop dph;若为干扰信号则开中断0退出中断 pop dplpop psw pop acc setb ex0 retiint0serve1: clr a mov dph,a;用数据寄存器对第一个码的低电平计时 mov dpl,aint0serve2: jb p3.3,int0serve3;开始对低电平计时,当p3.3为高电平1时,计时结束跳出循环并计时低电平是否大于2ms inc dptr nop nop ajmp int0serve2;循环周期为8usint0serve3: mov a,dph;利用dptr的高8位判断低电平是否大于2ms jz int0ret;a不为0,说明dpl有进位则255x8us=2ms即为第一个脉冲,a为0,说明小于2ms,是一个干扰,则退出中断程序 clr a int0serve4: inc a;脉冲个数加一int0serve5: jnb p3.3,int0serve5;为低电平则等待 mov r1,#06h;为高电平则开始对高电平计时int0serve6: jnb p3.3,int0serve4;当p3.3有副负脉冲时,且前一高电平小于3ms ,则脉冲个数加一 lcall delay513us djnz r1,int0serve6;若前一高电平脉宽大于3ms时即为一结帧 dec a dec ajz funcion0;a为0则接收0号键dec ajz funcion1;a为0则接收1号键dec ajz funcion2;a为0则接收2号键dec ajz funcion3;a为0则接收3号键dec ajz funcion4;a为0则接收4号键dec ajz funcion5;a为0则接收5号键dec ajz funcion6;a为0则接收6号键dec ajz funcion7;a为0则接收7号键dec ajz funcion8;a为0则接收8号键dec ajz funcion9;a为0则接收9号键dec adec ajz funcion11;a为0则接收11号键ljmp int0ret;退出中断服务子程序ret本章小结本章主要是介绍了遥控发射部分程序设计,包括主程序,按键扫描程序,遥控编码脉冲发射程序;主机接收部分程序,包括主程序,按键扫描程序以及解码接收程序。第5章 系统调试5.1 调试仪器 调试使用的仪器设备如表5-1所示。 表5-1 调试使用的仪器设备 序号名称、型号、规格数量备注1组装兼容计算机1带2个9针串口2直流稳压电源25v3万用表1-4串口调试usb-isp线1-5keil c51单片机编译软件美国keil software公司6proteus isis仿真软件英国labcenter公司7示波器1-5.2 整体调试 本装置的调试主要分为硬件调试、软件调试等两大部分。经过初步的分析设计后,在制作硬件电路的同时,调试也在穿插进行。这样有利于问题的分析和解决,不会造成问题的积累,而且不会因为一个小问题而进行整体电路的检查,从而可以节约大量的调试时间。软件编程中,我是首先完成单元功能模块的调试,然后进行系统调试,整体上与硬件调试的方法差不多。联机调试是最重要的一部分,同时也是本装置成功的关键。有许多新问题都不是很容易解决的。 5.3 硬件单元调试 5.3.1 红外钥匙(从机)调试 当按键按下后,系统上电,确保单片机能够自锁电子开关,维持电子开关的导通系统正常供电。在红外遥控器(钥匙)软件尚未编写的情况下,首先模拟单片机的自锁操作,发现电子开关能自锁,系统正常供电。考虑到按键操作时间一般为几十毫秒到几秒,单片机复位时间仅为200ms 左右,一般来得及输出自锁高电平。后来软件编好以后,发现系统确实能正常上电工作。 5.3.2 红外遥控门锁(主机)调试 调试时使用串口usb-isp线一步步监控单片机的红外反射和接收信号是否符合要求,来进一步地调整个别电路。红外遥控门锁的电路都是经典电路,无须过多调试。5.4 软件调试 对于本系统而言,软件程序所实现的功能比较多,所以软件程序的调试显得相当的烦琐。整个程序是使用c语言。 用51系列单片机的下载线将程序下载到单片机内,用串口usb线来监测发送和接收的数据,对照着来修改程序。首先要保证每个模块独立能够发送接收的数据均符合要求,再来直接用线来连接从机和主机来测试单片机之间的串口通信协议是否正确,之后再加上红外发送和接收模块来统一测试。 总结调试经验,红外通信只能工作于半双工方式,同时,由于通信波特率比较低编程时应注意等待时间。本章小结本章主要是叙述了系统整机调试,包括了相关仪器的调试,硬件单元调试,软件单元调试。结 论本课题研究的是具有单片机功能的红外遥控密码锁, 通过掌握其原理及控制过程,以及运用编程来解决红外的编码与解码问题,最终目的在于学会独立查资料选方案,巩固自己的所学专业知识,例如,巩固所学知识设计单片机程序, 印刷电路版布局能力,protel的使用,提高计算机绘图能力,掌握一个电子专用软件设计电子电路,加强电子制作的动手能力,学会电路的调试方法解决实际出现的问题。利用一个廉价的单片机芯片来控制一个红外线遥控系统使其具有远距离遥控功能。致 谢首先感谢各位在百忙之中抽出时间对本次设计进行指导的老师。通过这次毕业设计,使我有机会再次对以前所学的知识进行了一次系统的复习,然而还有好多的知识没有掌握好,自己在使用这些方面知识的时候也不多,在做毕业设计的过程中的确遇到了不少困难,如在红外编码与解码的程序编写中就找了很多参考资料。在做此毕业设计的时候我也充分利用了身边一切可用的资源,如网络、书籍、老师、同学等,也经过多次的讨论,最终将毕业设计做完。最后特别要感谢宋建华老师在毕业设计中给予我的指导和帮助,使我完成了毕业设计。参考文献1 陶国正.单片机与接口应用技术m.清华大学出版社,2010.2 林伸茂.8051单片机m.人民邮电出版社,1999.3 郭海英.基于单片机的电子安全密码锁的设计m.现代电子技术出社,2004.4 康华光.电子技术基础m.高等教育出版社,2001.5 李华.mcs51系列单片机实用接口技术m.北京航空航天大学出版社, 1998.6 郁汉淇.数字电子实验及课题设计m.高等教育出版社,2003.7 苏长赞,红外线与超声波遥控m.北京人民邮电出版社,2001.8 王俊峰.现代遥控技术及应用m.人民邮电出版社,2002.9 李朝青.pc机及单片机数据通信技术m.北京航空航天大学出版社,2000. 10 intel corporation1981mcs-51(tm) family of single chip microcomputers: users manualsanta clara: intel corporation. 11 m mizumoto1995realization of pid controls by fuzzy control methodsfuzzy sets and systems.12 serial infrared physical layer specification, version 1.3. october 15,1998,ibm corporation ,hewlett-packard company, sharp inc. 附录1 译文本设计是采用语音识别技术加键盘控制输入,在凌阳s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论