51单片机中 做红外遥控密码锁的课题论文毕业论文.doc
《51单片机中 做红外遥控密码锁的课题论文毕业论文.doc》由会员分享,可在线阅读,更多相关《51单片机中 做红外遥控密码锁的课题论文毕业论文.doc(64页珍藏版)》请在咨信网上搜索。
51单片机中做红外遥控密码锁的课题论文毕业论文 1.1 课题背景与目的 电子技术的飞速发展,给古老的锁具生产带来了巨大的变革,现代的电子技术与机械技术相结合,产生了一大批如声控锁、磁控锁、密码锁、遥控锁,指纹锁等先进的锁具。 目前国外密码锁系统的主要方向的发展是:接触式密码锁系统,非接触式密码锁系统,智能识别密码锁系统,但是他们都相应的存在着不同的缺点。例如:接触式密码锁系统成本较低,体积小,卡片本身无须电源,但使用不太方便,而且有接触磨损。相比之下,红外遥控密码锁系统的成本与接触式密码锁系统相当,而且可以进行近距离遥控,使用十分方便。而且它已经与 PC 机的数据库相结合,可以组成一套酒店房间的门禁管理系统。 由于红外遥控具有许多优点, 例如红外线发射装置采用红外发光二极管遥控发射器易于小型化且价格低廉; 采用数字信号编码和二次调制方式,不仅可以实现多路信息的控制,增加遥控功能,提高信号传输的抗干扰性,减少误动作,而且功率消耗低;红外线不会向室外泄露,不会产生信号串扰;反应速度快、传输效率高、工作稳定可靠等。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。所以红外线遥控是目前使用最广泛的一种通信和遥控手段。 在本设计中,红外遥控密码锁和 PC 机、数据库相结合,能够实现适时的、强大的管理,使得整个红外遥控系统得到更好的完善。 1.2 国外研究现状 目前大部分的锁采用的都是机械式的,其最大的缺点是利用简单工具就能很容易地把锁打开。针对这种情况,我们设计了一种红外遥控密码锁,而一般设备都采用专用的遥控编码与解码集成电路,其制作简单、容易,但由于特定功能的限制,只适用于专用的电器产品,其应用围受到限制。而设计的红外遥控密码锁系统能提高门禁系统的可靠性和安全性,适应市场需要。该系统具有普通电子密码锁功能的同时,还增加了遥控功能。该系统具有较强的实际应用价值,所涉与的技术包括:红外载波数据传输技术、单片机控制技术、红外遥控系统编码与译码技术、电路设计与演示板制作技术等。 1.3 课题研究方法 本设计基于STC8952单片机系列,运用了两块单片机芯片,一片实现红外解码,一块用来按键控制,数码管显示以与数据存储,通过查找资料确定各个模块的功能与实现方法,先在软件上进行调试,再根据硬件修改调试软件,最后将各个模块合理组合在一起,达到预计的功能与目标。 1.4 本章小结 本章介绍了红外遥控密码锁技术的课题背景,红外技术在现代生活中的应用以与该课题的国外研究现状,探讨与确定研究本课题的方法。 2 基本原理与方案的论证 2.1 红外通讯原理 红外遥控是单工的红外通信方式,本设计的红外遥控采用以通信方式为基础的红外遥控,而且本设计也使用了红外通信技术,故着重分析红外通信的基本原理。 红外通信是利用红外技术实现两点间的近距离通信和信息转发。它一般由红外发射和接收系统两部分组成。发射系统对一个红外辐射源进行调制后发射红外信号,而接收系统用光学装置和红外探测器进行接收,就构成红外通信系统。 红外线是波长在 750nm至1mm之间的电磁波[5],它的频率高于微波而低于可见光,是一种人的眼睛看不到的光线。红外通信一般采用红外波段的近红外线,波长在 0.75um至 25um之间。红外数据协会(IrDA)成立后,为了保证不同厂商的红外产品能够获得最正确的通信效果,红外通信协议将红外数据通信所采用的光波波长的围限定在 850 至 900nm之。 红外通信的基本原理[6]是发送端将基带二进制信号调制为一系列的脉冲串信号(载波信号) ,通过红外发射管发射红外信号。常用的有通过脉冲宽度来实现信号调制的脉宽调制(PWM)和通过脉冲串之间的时间间隔来实现信号调制的脉时调制(PPM)两种方法。脉时调制(PPM)[7,8,9,10]是红外数据协会(IrDA)和国际电子电工委员会(IEEE)都推荐的调制方式,本设计采用脉时调制方法,即用两个脉冲串之间的时间间隔来表示二进制信息,数据比特的传送仿照不带奇偶校验的RS232 [8]通信,首先产生一个同步头,然后接着 8 位数据比特。如图 2.1所示。 图 2.1 PPM 调制波形图 普通的红外遥控采用面向指令的帧结构,数据帧由同步码,地址码和指令码组成,指令码长度多为 8~16 个比特,传送多字节遥控协议时效率偏低,而增加指令码的长度不利于接收器同步,为此本设计选用一种面向字节的帧结构,采用类似于异步串行通信的帧结构,每帧由一个起始位(二进制数 0) 、8 个数据位和 2 个停止位(二进制数 1)构成,如图 2.2 所示。每帧传送 1 个字节的数据,帧与帧间隔大于 2ms,帧结构不含地址信息,寻址问题由高层协议解决[8]。 图 2.2 数据帧结构示意图 由于红外光存在反射,在全双工的方式下发送的信号也可能会被本身接收,因此,红外通信应采用异步半双工方式,即通信的某一方发送和接收是交替进行的。 2.2 89C52芯片介绍 89C52的引脚图如图2.3所示 图2.3 89C52芯片引脚图 主电源与时钟引脚--此类引脚包括电源引脚Vcc、Vss、时钟引脚XTAL1、XTAL2。 (1)Vcc(40脚):接+5V电源,为单片机芯片提供电能。 (2)Vss(20脚)接地。 (3)XTAL1(19脚)在单片机部,它是一个反向放大器的输入端,该放大器构 了片的振荡器,可提供单片机的时钟控制信号。 (4)XTAL2(18脚)在单片机部,接至上述振荡器的反向输出端。 控制引脚—此类引脚包括RESET(即RSR/VPD)、ALE/PROG、PSEN、EA/VPP,可以提供控制信号,有些具有复用功能。 (1)RSR/ VPD(9脚):复位信号输入端,高电平有效,当振荡器运行时,在此引 加上两个机器周期的高电平将使单片机复位(REST)。复位后应使此引脚电平保持为不高于0.5V的低电平,以保证单片机正常工作。掉电期间,此引脚可接上备用电源(VPD),以保持部RAM中的数据不丢失。当Vcc下降到低于规定值,而VPD在其规定的电压围(5±0.5V)时,VPD就向部RAM提供备用电源。 (2)ALE/PROG(30脚):ALE为地址锁存允许信号。当单片机访问外部存储器时,(地址锁存允许)输出脉冲的下降沿用于锁存16位地址的低8位。即使不访问外部存储器,ALE端仍有周期性正脉冲输出,其频率为振荡器频率的1/6。但是每当访问外部数据存储器时,在两个机器周期中ALE只出现一次,即丢失一个ALE脉冲。ALE端可以驱动8个LSTTL负载。 (3)PSEN(29脚):程序存储器允许输出控制端。此输出为单片访问外部程序存储器的读选通信号。在从外部程序存储器取指令(或取常数)期间,每个机器周期均PSEN两次有效。但在此期间,每当访问外部数据存储器时,这两次有效的PSEN信号将不会出现。PSEN同样可以驱动8个LSTTL负载。 (4)EA/VPP(31脚):EA功能为外程序存储器选择控制端。当EA端保持高电平时单片机访问部程序存储器,但在PC(程序计数器)值超过0FFFH时将自动转向执行外部程序存储器的程序。 输入/输出引脚—此类引脚包括P0口、P1口、P2口和P3口。 (1)P0(P0.0~P0.7)是一个8位三态双向I/0口,在不访积压外部存储器,做通用I/0口使用,用于传送CPU的输入/输出数据,当访问外部存储器时,此口为地址总路线 低8位与数据总路线分时复用口,可带8个LSTTL负载。 (2)P1(P1.0~P2.7)是一个8位准双向I/O口(作为输入时,口锁存器置1),带有部上拉电阻,可带4个LSTTL负载。 (3)P2(P2.0~P2.7)是一个8位准双向I/O口,与地址总路线高8位复用,可驱动4个LSTTL负载。 2.3 方案的比较与确定 本设计的重点在于遥控解码,遥控解码的方式有硬件解码与软件解码。 方案一:硬件解码。 硬件解码:在承受遥控的一边可以连接一个专用解码芯片,只要按键盘上的键值,它就能直接把这个键值解码出来并存储,当你调用这个键值的时候只要从里面去读取就行了,所以它的解码率高,读取显示简单,这是它的优点。可是该芯片价格昂贵,而且只能解码对应的遥控器,兼容性差,成本昂贵,不适合用作市场量产。 方案二:软件解码。 软件解码:根据遥控器选择的芯片不同,其遥控码格式也有不同。现在市场上主要有日本的NEC标准和飞利浦标准,通过软件的方式解码时解码的正确率就是一个很重要的指标了。在单片机编程的时候是选择用执行效率高的汇编语言还是选用可读性编写容易的C语言呢?不可否认汇编的执行效率是C语言的几倍甚至几十倍,而且误码率低,可是如果选择汇编的话编写难度可想而知,可是如果用C语言编写的话误码率与实时性又会变得比较差。综合以上考虑,如果我们能够在解码这部分用汇编,而显示与控制这部分用C语言编写的话,就能较好的完成我们预期的目标。因此我选用了两块C52单片机芯片,一块负责红外解码,一块负责显示与控制。事实证明,我的选择和预想中的一样,很好的解决了汇编与C语言难以共存的问题。 基于上述比较,我们选择了方案二,采用汇编与C语言共同的软件解码方式。 2.4本章小结 本章介绍了基于单片机红外遥控密码锁设计的两个重点--红外通讯基本原理与单片机芯片89C51的基础知识。通过介绍实现他的关键技术提出了系统设计的方案--硬件解码方案和软件解码方案。而后对两个方案的优缺点进行比较,最终确定了实现设计的方案--软件解码方案。 3 模块功能介绍与实现 3.1 红外遥控技术 3.1.1 硬件介绍: 遥控器里面是一个键盘编码器,每个按键对应一个编码,在把编码调制到一个高频信号上,其目的是为了降低发射的功率损耗;再把调制好的信号送给红外发光管把信号发送出去。接收过程恰好与此相反,首先由红外接收管收到微弱的信号,经放大后解解调(把高频载波去掉),再进行解码,就可得到遥控器发过来的数据。如图3.1所示。 图3.1 红外遥控流程图 图3.1中遥控接收器部分的“光/电放大”和“解调”由一体化接收头完成,单片机要做的只是“解码” 。实验板上一体化接收头的数据输出线经过了 INT0 切换开关连接到单片机的 P32 脚(即 INT0) ,INT0 切换开关弹起时连通。 3.1.2 实现方法: 经遥控器发送的是串行数据, 通过脉冲的占空比来区别 ‘0’ 和 ‘1’ ; 以脉宽为 0.565ms,间隔 0.56ms,周期为 1.125ms 的组合表示二进制‘0’ ;以脉宽为 0.565ms,间隔为 1.685ms,周期为 2.25ms 的组合表示二进制‘1’ 。其波形如以下图。 图3.2 遥控码的“0”和“1” 遥控器产生的遥控编码是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的电器设备;后 16 位为 8 位操作码与其反码,最多可产生128 个不同的编码。 当遥控器一个键按下超过36ms,震荡器使芯片激活,将发射一组 108ms 的编码脉冲,这 108ms 发射代码由一个起始码 (9ms) , 一个结果码 (4.5ms) , 低8位地址码(9ms~18ms) ,高 8位地址码(9ms~18ms) ,8 位数据码(9ms~18ms)与其反码(9ms~18ms)组成。如果键按下超过 108ms 仍未松开,接下来发送的代码(连发码)就只由起始码(9ms)和完毕码(4.5ms)组成。 解码关键在于如何识别‘0’和‘1’ , ‘0’和‘1’均以 0.56ms 的低电平开始,不同的是高电平的宽度不同, ‘0’为0.56ms, ‘1’为1.68ms,所以必须根据高电平的宽度区别‘0’和‘1’ 。如果从 0.56ms 过后开始延时,0.56ms 后若读到低电平,说明该位为‘0’ ,反之为‘1’ ;为了可靠起见,延时必须比 0.56ms 长一些,但又不能超过1.12ms,否则如果该位为‘0’ ,读到的已是下一位的高电平,因此取(1.12+0.56)/2=0.84ms比较可靠。过程如图3.3所示。 图3.3 数据码的组成 3.2 4*4矩阵键盘 因为本设计用到的按键较多,所以本设计采用行列式键盘,同时也能减少所占用的I/O线的数目,节省资源。 图3.4行列式键盘原理电路图 每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有N×M个按键的键盘。本设计发射部分采用4*3键盘,接收部分采用4*4键盘。键盘扫描时,首先由I/O口低四位输出高电平,高四位输出低电平,假若有键按下,那么在I/O口低四位即可读出低电平,接着延时消抖,再具体判断是何键按下。 判断键盘中有无键按下 将全部行线 X0-X3 置低电平 然后检测列线的状态 只要有一列的电平为低 则表示键盘中有键被按下 而且闭合的键位于低电平线与4根行线相交叉的 4个按键之中 若所有列线均为高电平 则表示键盘中无键按下 判断闭合键所在的位置。 在确认有键按下后 即可进入确定具体闭合键的过程 其方法是 依次将行线置为低电平 即在置某根行线为低电平时 其它线为高电平 当确定某根行线为低电平后 再逐行检测各列线的电平状态 若某列为低 则该列线与置为低电平的行线交叉处的按键就是闭合的按键. 现将接收部分的键盘功能做一下说明。如图,0至9号键为数字键,六位密码从中产生。“确认”键,“更改”键,“取消”键和“MAS”键为功能按键,具有控制开锁,更改密码和取消相关操作等功能。剩余的两个键在本设计中未用,可作为今后的功能扩展键使用。 3.3 I2C总线技术 3.3.1 I2C总线特点 I2C总线最主要的优点是其简单性和有效性。由于接口直接在组件之上,因此I2C总线占用的2C总线是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。在CPU与被控IC串行 EEPROM24C02 读写实验 I2I2空间非常小,减少了电路板的空间和芯片管脚的数量,降低了互联成本。总线的长度可高达 25 英尺,并且能够以10Kbps的最大传输速率支持 40 个组件。I2C总线的另一个优点是,它支持多(multimastering),其中任何能够进行发送和接收的设备都可以成为主总线。一个主控能够控制信号的传输和时钟频率。当然,在任何时间点上只能有一个主控。 I之间、IC与IC之间进行双向传送,最高传送速率 100kbps。各种被控制电路均并联在这条总线上,但就像机一样只有拨通各自的才能工作,所以每个电路和模块都有唯一的地址,在信息的传输过程中,I2C总线上并接的每一模块电路既是主控器 (或被控器) ,又是发送器(或接收器),这取决于它所要完成的功能。 3.3.2 I2C通信原理 (1)数据传输:SDA线上的数据必须在时钟的高电平时期保持稳定,SDA线上的电平状态I21 数据传输:SDA 线只有在时钟的低电平时期才能改变。 图3.5 SDA和SCL相互关系 (2)开始信号:SCL 为高电平时,SDA 由高电平向低电平跳变,开始传送数据。 (3)完毕信号:SCL为高电平时,SDA由低电平向高电平跳变,完毕传送数据。 (4)应答信号:接收数据的 IC 在接收到 8bit 数据后,向发送数据的IC 发出低电平脉 (5)总线基本操作:I2C规程运用主/从双向通讯。器件发送数据到总线上,则定义为发送冲,表示已收到数据。CPU向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU接收到应答信号后,根据实际情况作出是否继续传递信号的判断。若未收到应答信号,则判断为受控单元出现故障。器,器件接收数据则定义为接收器。主器件和从器件都可以工作于接收和发送状态。总线必须由主器件(通常为微控制器)控制,主器件产生串行时钟(SCL)控制总线的传输方向,并产生起始和停止条件。SDA线上的数据状态仅在SCL为低电平的期间才能改变,SCL为高电平的期间,SDA状态的改变被用来表示起始和停止条件。参见图3.6 图3.6 SCL与SDA波形关系 3.3.3 硬件介绍: 24C04是CMOS 2048位串行EEPROM,部组织成 256×8位。16 字节页面写。与MCS-51单片机接口如图 40所示。由于SDA是漏极开路输出,且可以与任何数目的漏极开路或集电极 开路输出“线或”(wire-Ored)连接。上拉电阻的选择可参考 24C02 的数据手册(一般为 10K)。下面是通过I2C接口对 24C04 进行单字节写操作的例程。 图3.7 24C02电路图 3.4 显示模块 3.4.1 LCD液晶显示 LCD1602 可显示两行英文字符,并且带 ASCII 字符库。LCD1602 模块部可以完成显示扫描,单片机只要向 LCD1602 发送命令和显示容的 ASCII 码。 表3-1 引脚功能说明 引脚 符号 功能说明 1 VSS 一般接地 2 VDD 接电源(+5V) 3 V0 液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,可以通过一个10K的电位器调整对比度)。 4 RS RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 5 R/W R/W为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。 6 E E(或EN)端为使能(enable)端,下降沿使能。 7 DB0 底4位三态、 双向数据总线 0位(最低位) 8 DB1 底4位三态、 双向数据总线 1位 9 DB2 底4位三态、 双向数据总线 2位 10 DB3 底4位三态、 双向数据总线 3位 11 DB4 高4位三态、 双向数据总线 4位 12 DB5 高4位三态、 双向数据总线 5位 13 DB6 高4位三态、 双向数据总线 6位 14 DB7 高4位三态、 双向数据总线 7位(最高位)(也是busy flag) 15 BLA 背光电源正极 16 BLK 背光 电源负极 图3.8 LCD1602引脚图 表3-2寄存器选择控制表 RS R/W 操作说明 0 0 写入指令寄存器(清除屏等) 0 1 读busy flag(DB7),以与读取位址计数器(DB0~DB6)值 1 0 写入数据寄存器(显示各字型等) 1 1 从数据寄存器读取数据 1602液晶模块部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。 因为1602识别的是ASCII码,试验可以用ASCII码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如'A’。 图3.9是1602的16进制ASCII码值: 读的时候,先读上面那列,再读左边那行,如:感叹号!的ASCII为0x21,字母B的ASCII为0x42(前面加0x表示十六进制)。 图3.9 1602的16进制ASCII码值 表3-3 显示地址 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 00H 01H 02H 03H 04H 05H 06H 07H 08H 09H 0AH 0BH 0CH 0DH 0EH 0FH 40H 41H 42H 43H 44H 45H 46H 47H 48H 49H 4AH 4BH 4CH 4DH 4EH 4FH 指令集 1602通过D0~D7的8位数据端传输数据和指令。 显示模式设置: (初始化) 0011 0000 [0x38] 设置16×2显示,5×7点阵,8位数据接口; 显示开关与光标设置: (初始化) 0000 1DCB D显示(1有效)、C光标显示(1有效)、B光标闪烁(1有效) 0000 01NS N=1(读或写一个字符后地址指针加1 &光标加1), N=0(读或写一个字符后地址指针减1 &光标减1), S=1 且 N=1 (当写一个字符后,整屏显示左移) s=0 当写一个字符后,整屏显示不移动 数据指针设置: 数据首地址为80H,所以数据地址为80H+地址码(0-27H,40-67H) 其他设置: 01H(显示清屏,数据指针=0,所有显示=0);02H(显示回车,数据指针=0)。 通常推荐的初始化过程: 延时15ms 写指令38H 延时5ms 写指令38H 延时5ms 写指令38H 延时5ms (以上都不检测忙信号) (以下都要检测忙信号) 写指令38H 写指令08H 关闭显示 写指令01H 显示清屏 写指令06H 光标移动设置 写指令0cH 显示开与光标设置 3.4.2 数码管显示 数码管显示有动态扫描显示与静态显示。其中动态扫描显示是最常用的显示方法。在本次设计中,通过动态扫描方式显示密码与其状态。 由于人类的眼睛有视觉余留的特性,对快速变化的图象分辨不清,利用这点我们 制一数码管处于点亮的时间为 10ms,接着关闭它,锁存数据的显示码,选通这位,控制它点亮 10ms,以此下去直到第六个数码管也点亮 10ms,在从第一位开始重复上面的步骤。 图3.10 数码管显示流程图 3.5 本章小结 本章具体介绍了红外通讯模块,键盘模块,密码存储模块以与显示模块的基本知识与其实现的方法。红外通讯模块解决遥控解码问题,通过弄清楚红外的编码格式,就能通过软件解码方式读取遥控发射的数据。键盘部分介绍了4*4矩阵键盘的原理与实现。密码存储模块运用了I2C总线技术,详细介绍了I2C总线技术的优缺点。显示部分详细说明了LCD1602液晶显示的基本原理与运用操作,而且还提到了数码管的动态扫描显示原理。 4 总结 本设计利用两块89C52单片机芯片完成了基于红外遥控密码锁的设计,实现了红外遥控和键盘双输入控制,密码储存部分采用24C02芯片实现了断电保护问题,显示部分实现了数码管六位动态显示状态功能,并扩展到了LCD1602液晶屏上显示,在报警部分设计了蜂鸣器在密码输入错误三次蜂鸣器报警的功能。它的创新点在于用了一块单独的89C52芯片进行红外解码,而且解码部分软件设计用的是汇编语言,而显示键盘部分用的是C语言,通过两块89C52芯片使得这两种语言很好的组合在一起,使得他们既能够很好的完成各自的任务也能很好的兼容在一起完成整个系统的任务。 然而系统还是存在如下一些不足:没有考虑过多外部因素对系统的影响,比如密码丢失,误操作对系统的影响。报警与提示功能做得不够完善,遥控的有效距离没有进行系统的论证。这些因素有待进一步完善。 参考文献 [1]林伸茂.8051单片机彻底研究基础篇[M].:人民邮电,2003:24-153. [2]广林.Protel 99SE电路设计与制作[M].:电子工业,2005:15-342. [3]冯耀辉等.PowerPCB 5.0入门与提高[M].:人民邮电,2004:17-48. [4]康华光等.电子技术基础第2版[M].:高等教育,2004:10-156. [5]凯,颖超.生化分析仪的设计与与PC机的通信[J].微计算机信息,2006:208-209. [6]马鸿文.基于AT89C52单片机的自动存取柜的设计与实现[M].微计算机信息,2006:101-103. [7] 曹巧媛.单片机原理与应用[M].:电子工业,2002. [8] 牛翌光.单片机原理与接口技术[M].:电子工业,2008:32-79. [9] 路明.C语言程序设计[M].:邮电大学,2005:52-268. [10] 文峥,先亮,其善.IrDA 红外通信在导航仪中的应用[J]. 2000,10. [11] 邱玉春,文俊.单片机系统中的红外通信接口[J].2000:56-. [12] 黄耀军,周云,严国萍.计算机红外无线互连的设计几实现[J].2000,2. [13] 麦山,皮佑国.基于单片机的协议红外遥控系统[J].1998,5. [14] Jimemez Petal. Improved PPM schemes for infrared wireless LAN [J].Electronics Lettrs,1996,10. [15]Serial Infrared Link Access Protocol(IrLAP),Version 1.1. June 16,1996,IBM Corporation , Hewlett-Packard Company, Apple Computer, Inc.,Counterpoint Systems Foundry, Inc. 附录 源程序 ORG 0000H MAIN: JNB P3.2,IR ;遥控扫描 LJMP MAIN ;主循环 IR: ;解码开始 MOV R6,#10 IR_SB: ;CPL P1.0 ;LCALL DELAY882;延时882微秒 MOV R7,#202 DELAY882_A:;882us延时 NOP NOP DJNZ R7,DELAY882_A P3.2,IR_ERROR;数据错误退出解码 DJNZ R6,IR_SB;重复10次检测 ;识别连发码 JNB P3.2,$;等待高电平避开9MS低电平引导脉冲 ;LCALL DELAY2400 MOV R7,#245 DELAY2400_A: NOP NOP NOP NOP NOP NOP NOP DJNZ R7,DELAY2400_A JNB P3.2,IR_RP;这里为低电平,认为是连发码 ;LCALL DELAY2400 ;延时4.74MS避开4.5MS的结果码 MOV R7,#245 DELAY2400_B: NOP NOP NOP NOP NOP NOP NOP DJNZ R7,DELAY2400_B ;读取32位数据码 MOV R1,#1AH;存放数据的起始地址 MOV R2,#4 IR_4BYTE: MOV R3,#8 IR_8BIT: JNB P3.2,$;等待地址码第一位的高电平信号 ;LCALL DELAY882;高电平来后开始延时882uS MOV R7,#202 DELAY882_B:;882us延时 NOP NOP DJNZ R7,DELAY882_B MOV C,P3.2 JNC IR_8BIT_0;延时后为为低电平则跳到IR_8BIT_0 ;LCALL DELAY1000 MOV R7,#229 DELAY1000_A: NOP NOP DJNZ R7,DELAY1000_A IR_8BIT_0: MOV A,R1;将R1中的地址给累加器A RRC A;将C移入A的最低位 MOV R1,A;保存A中的值到RAM中 DJNZ R3,IR_8BIT;接收地址码的高8位 INC R1;下一地址 DJNZ R2,IR_4BYTE;接收完成8位数据,8位数据码和16位地址码 LJMP IR_GOTO ;解码完毕 IR_RP: LJMP IR_GOTO IR_ERROR: LJMP MAIN IR_GOTO: ;执行部分 MOV A,1CH CPL A CJNE A,1DH,IR_ERROR MOV P1,1DH ;接收到的数据显示到P1口 MOV 1AH,#00H ;接收区清0 MOV 1BH,#00H MOV 1CH,#00H MOV 1DH,#00H DELAY2400_1: NOP NOP NOP NOP NOP NOP NOP DJNZ R7,DELAY2400_1 DELAY2400_2: NOP NOP NOP NOP NOP NOP NOP DJNZ R7,DELAY2400_2 DELAY2400_3: NOP NOP NOP NOP NOP NOP NOP DJNZ R7,DELAY2400_3 DELAY2400_4: NOP NOP NOP NOP NOP NOP NOP DJNZ R7,DELAY2400_4 DELAY2400_5: NOP NOP NOP NOP NOP NOP NOP DJNZ R7,DELAY2400_5 DELAY2400_6: NOP NOP NOP NOP NOP NOP NOP DJNZ R7,DELAY2400_6 DELAY2400_7: NOP NOP NOP NOP NOP NOP NOP DJNZ R7,DELAY2400_7 DELAY2400_8: NOP NOP NOP NOP NOP NOP NOP DJNZ R7,DELAY2400_8 DELAY2400_9: NOP NOP NOP NOP NOP NOP NOP DJNZ R7,DELAY2400_9 DELAY2400_10: NOP NOP NOP NOP NOP NOP NOP DJNZ R7,DELAY2400_10 DELAY2400_11: NOP NOP NOP NOP NOP NOP NOP DJNZ R7,DELAY2400_11 DELAY2400_12: NOP NOP NOP NOP NOP NOP NOP DJNZ R7,DELAY2400_12 DELAY2400_13: NOP NOP NOP NOP NOP NOP NOP DJNZ R7,DELAY2400_13 DELAY2400_14: NOP NOP NOP NOP NOP NOP NOP DJNZ R7,DELAY2400_14 DELAY2400_15: NOP NOP NOP NOP NOP NOP NOP DJNZ R7,DELAY2400_15 DELAY2400_16: NOP NOP NOP NOP NOP NOP NOP DJNZ R7,DELAY2400_16 DELAY2400_17: NOP NOP NOP NOP NOP NOP NOP DJNZ R7,DELAY2400_17 DELAY2400_18: NOP- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 51单片机中 做红外遥控密码锁的课题论文毕业论文 51 单片机 红外 遥控 密码锁 课题 论文 毕业论文
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文