红外遥控控制系统设计讲解23248

上传人:沈*** 文档编号:192791697 上传时间:2023-03-07 格式:PDF 页数:22 大小:1.02MB
收藏 版权申诉 举报 下载
红外遥控控制系统设计讲解23248_第1页
第1页 / 共22页
红外遥控控制系统设计讲解23248_第2页
第2页 / 共22页
红外遥控控制系统设计讲解23248_第3页
第3页 / 共22页
资源描述:

《红外遥控控制系统设计讲解23248》由会员分享,可在线阅读,更多相关《红外遥控控制系统设计讲解23248(22页珍藏版)》请在装配图网上搜索。

1、河南科技学院机电学院 单片机课程设计报告 题目:红外遥控控制系统设计 专业班级:电气工程及其自动化103 姓 名:张 明 军 时 间:2012.12.15 2012.12.28 指导教师:田丰庆 邵 锋 张素君 完成日期:2012 年 12 月 28 日 红外遥控控制课程设计任务书 1.设计目的与要求 设计出一个用于红外遥控控制的控制器。准确地理解有关要求,独立完 成系统设计,要求所设计的电路具有以下功能:(1)有效遥控距离大于10 米。(2)遥控控制的路数在5 路以上。(3)采用数码管显示当前工作的控制电路。(4)通过遥控器可以任意设置用户密码(1-16 位长度),只有合法用户才能有修改电路

2、控制的功能,同时系统掉电后能自动记忆和存储密码在系统中。(5)密码的输入时间超过12 秒或者连续3 次输入失败,声音报警同时锁定系统,不让再次输入密码。此时只有使用管理员密码方能对系统解锁。2设计内容 (1)画出电路原理图,正确使用逻辑关系;(2)确定元器件及元件参数;(3)进行电路模拟仿真;(4)SCH 文件生成与打印输出;3编写设计报告 写出设计的全过程,附上有关资料和图纸,有心得体会。4答辩 在规定时间内,完成叙述并回答问题。论文结构清晰,层次分明,理论严谨 目录 1 引言1 2 总体设计方案2 2.1 设计思路2 2.2设计方框图3 3 设计原理分析4 3.1发射电路设计4 3.2接收

3、电路设计7 3.3 软件设计9 4 结束语12 参考文献13 附录一14 附录二15 1 红外遥控控制系统 摘要:本设计由发射器和接收器两部分组成。指令键、指令信号产生电路、调制电路、驱动电路及红外线发射器组成。当指令键被按下时,指令信号产生电路便产生所需要的控制信号,控制指令信号经调制电路调制后,最终由驱动电路驱动红外线发射器,发出红外线遥控指令信号。接收器由红外线接收器件、前置放大电路、解调电路、指令信号检出电路、记忆及驱动电路、执行电路组成。当红外接收器件收到发射器的红外指令信号时,它将红外光信号变成电信号并送到前置放大电路进行放大,再经过解调器后,由信号检出电路将指令信号检出,最后由记

4、忆电路和驱动电路驱动执行电路,实现各种操作。控制信号一般以某些不同的特征来区分,常用的区分指令信号的特征是频率和码组特征,即用不同的频率或者编码的电信号代表不同的指令信号来实现遥控。所以红外遥控系统通常按照产生和区分控制指令信号的方式和特征分类,常分为频分制红外线遥控和码分制红外线遥控。关键词:4 4 矩阵键盘;AT89C51;接收器件;震荡特性 1 引言 红外线遥控是目前使用很广泛的一种通信和遥控技术。由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。工业设备中,在高压、辐射、有毒

5、气体、粉尘等环境下,采用红外线遥控不仅完全可*而且能有效地隔离电气干扰。远程遥控技术又称为遥控技术,是指实现对被控目标的遥远控制,在工业控制、航空航天、家电领域应用广泛。红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低,成本低,易实现等显著优点,被诸多电子设备广泛采用,并越来越多的应用到计算机系统中。红外线又称红外光波,在电磁波谱中,光波的波长范围为 0.01um1000um。根据波长的不同可分为可见光和不可见光,波长为 0.38um0.76um 的光波可为可见光,红外线遥控是利用近红外 光传送遥控指令的,波长为 0.76um1.5um。用近红外作为遥控光源,是因为目

6、前红外发射 器件(红外发光管)与红外接收器件(光敏二极管、三极管及光电池)的发光与受光峰值波长 一般为 0.8um0.94um,在近红外光波段内,二者的光谱正好重合,可获得较高的传输效率及较高的可靠性。随着远程教育系统的不断发展和日趋完善,利用多媒体作为教学手段各级各类学校都得到了广泛应用。但经常会遇到同时使用多种设备,如:DVD、VCD、录像机、电视机等,由于各种设备都自带遥控器,而且不同的设备所遵循的红外传输规约也不尽相同,操纵这些设备得用多种控器,给使用者带来了诸多不便。基于单片机的控制指令来对多种设备进行远程控制,从而方便快捷的实现远程控制。红外遥控的特点是不影响周边环境的、于 10

7、米)遥控中得到了广泛的应用。2 2 总体设计方案 2.1 设计思路 主要的设计实施过程:首先,选用 ATMEL公司的单片机 AT89C51,以及选购其他电子元器件。第二步,使用 DXP 2004设计硬件电路原理图,并设计 PCB图完成人工布线 第三步,使用 Keil uVision2软件编写单片机的汇编语言程序、仿真、软件调试。第四部,使用 PROTEUS软件进行模拟软、硬件调试。最后,联合软硬件调 试电路板,完成本次毕业设计。2.1.1 方案确定 红外遥控器的发射器电路比较简单,由一个 4 4 矩形键盘、一个 NPN驱动三极管、一个红外线发光二极管和限流电阻组成。要遥控哪台接收器由键盘输入,

8、即由键盘输入要红外遥控的地址,地址经过编码、调制后通过红外发光二极管发射出去。矩阵键盘部分由 16 个轻触按键按照 4 行 4 列排列,将行线所接的单片机的I/O口作为输出端,而列线所接的作为输入。当没 然后解码:平时,遥控器无键按下时,红外发射二极管不发出信号,遥控接收头输出信号 1,有键按下时,0 和 1 的编码的高电平经遥控接收头反相后会输出信号 0,由于与单片机的中断脚相连,将会引起单片机中断。继续接收下面的数据,当接收到 32 位数据时,说明一帧数据接收完毕,然后判断本次接收是否有效,如果两次地址码相同并且等于本系统的地址码,数据码和数据反码之和等于 0FFH,则接收的本帧数据有效,

9、点亮一只发光二极管,否则丢弃本次接收到的数据。接收完毕后,初始化本次接收到的数据,准备下次遥控接收。2.2 设计方框图 3 图 2-1 发射电路 红外遥控系统由发射和接收两大部分组成,系统采用编/解码专用集成电路和单片机芯片来进行控制操作。设计的电路由如下的几个基本模块组成:红外发射电路,红外接收电路及控制部分。2-3系统框图如图 2-2 所示。图 2-2 接收电路原理图 3 设计原理分析 3.1红外发射电路的设计 3.1.1单片机 89C51 介绍 AT89C51 数码管 蜂鸣器 LED 4 4 键盘 复位电路 电源 接收部分 单片机 89C51 显示电路 复位电路 4 主要特性:8031

10、CPU与 MCS-51 兼容 4K字节可编程 FLASH存储器(寿命:1000写/擦循环)图 3-1 89C51 全静态工作:0Hz-24KHz 三级程序存储器保密锁定 128*8位内部 RAM 32条可编程 I/O线 两个 16 位定时器/计数器 6 个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路 图 3-1 89C51 3.1.2 管脚说明 VCC:供电电压。GND:接地。P0 口:P0 口为一个 8 位漏级开路双向 I/O口,每脚可吸收 8TTL门电流。当 P1 5 口的管脚第一次写 1时,被定义为高阻输入。P0 能够用于外部程序数据存储器,它可以被定义为数据/地

11、址的第八位。在 FIASH编程时,P0 口作为原码输入口,当 FIASH进行校验时,P0 输出原码,此时 P0 外部必须被拉高。P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O口,P1 口缓冲器能接收输出4TTL门电流。P1 口管脚写入 1 后,被内部上拉为高,可用作输入,P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2 口为一个内部上拉电阻的 8 位双向 I/O口,P2 口缓冲器可接收,输出4 个 TTL门电流,当 P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P

12、2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时,P2 口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在 FLASH编程和校验时接收高八位地址信号和控制信号。P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O口,可接收输出 4 个 TTL门电流。当 P3 口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3 口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为 AT89C

13、51的一些特殊功能口,如下表所示:管脚 备选功能: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(外部数据存储器读选通)P3 口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持 RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在 FLASH编程期间,此引脚用于输入编程脉冲。在平时,

14、ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是 ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态 ALE禁止,置位无效。6 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(000

15、0H-FFFFH),不管是否有内部程序存储器。注意加密方式 1时,/EA将内部锁定为 RESET;当/EA端保持高电平时,此间内部程序存储器。在 FLASH编程期间,此引脚也用于施加 12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。3.1.2 震荡特性 XTAL1和 XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度

16、。3.1.3芯片擦除 整个 PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持 ALE管脚处于低电平 10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但 RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存 RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。3.1.4 44 矩阵键盘 如图所示,本系统采用 4 4 矩阵键盘,16 个按键分为输入数字键:*、0

17、、#、1、2、3、4、5、6、7、8、9;功能键 lock、modify、cel、Enter。矩阵键盘。7 图 3-2 矩阵键盘 3.1.5 复位电路 图 3-3 复位电路 时钟电路工作后,在 REST 管脚上加两个机器周期的高电平,芯片内部开始进行初始复位(如图 3 3)。3.1.6 振荡电路 图 3-4 振荡电路 本设计晶振选择频率为12MHZ,电容选择30pF 如图(3 4)。经计算得单片机工作胡机器周期为:12(1 12M)=1us。3.2 接收电路的设计 8 该接收模块是一个三端元件,具有功耗低、抗干扰能力强、输入灵敏度高、对其它波长(950nm 以外)的红外光不敏感的特点。工作原理

18、为:首先,通过红外光敏元件将接收到的载波频率为38kHz 的脉冲调制红外光信号转化为电信号,再由前置放大器和自动增益控制电路进行放大处理;然后,通过带通滤波器进行滤波,滤波后的信号由解调电路进行解调;最后,由输出级电路行反向放大输出。当接收到红外信号,就会把红外信号转换的电平从OUT 脚输出,P2.0 口就会产生一个中断,进入红外中断服务程序,进而判断是什么信号,并且对信号做出反应。3.2.1 摇控码的编码格式 该遥控器采用脉冲个数编码,不同的脉冲个数代表不同的码,最小为2 个脉冲,最大为17个脉冲。为了使接收可靠,第一位码宽为3ms,其余为 1ms,遥控码数据帧间隔大于10ms,如图 3-5

19、 所示。图 3-5输出端口波形图 3.2.3 数码帧的接收处理 在接收过程中,脉冲通过光学滤波器和红外二极管转换为 40KHZ的电信号,此信号经过放大,检波,整形,解调,送到解码与接口电路。通常,红外遥控器将遥控信号(二进制脉冲码)调制在 40KHz的载波上,经缓冲放大后送至红外发光二极管,产生红外信号发射出去。将上述的遥控编码脉冲对频率为 40 KHz(周期为 26.3ms)的载波信号进行脉幅调制(PAM),再经缓冲放大后送到红外发光管,将遥控信 3.3 软件设计 因为发光二极管的发光距离与其发射功率成正比,为了提高发光二极管的发光距 9 离,必须提高它的发射功率,也就是使红外发光二极管工作

20、于脉冲状态。可以用两种方法来实现:一是用硬件方法,即设计脉冲电路来产生占空比尽量小的脉冲载波信号;另一种就是用软件来控制MSP430F413 的输出端P2.1,让其输出即为占空比较小的脉冲信号。这里利用软件来实现这个功能。即在需要输出高电平的时候,让程序定时把 P2.1 口输出状态反向,其中定时时间是由指令数和指令周期来决定的,每条指令的指令执行周期是固定的,所以如果想让反向频率高一些,则让指令执行的少一些,反之就让指令多一些。可见输出信号占空比可以由定时时间的长短来决定,这样就可以在高电平时输出占空比尽量小的脉冲信号。因为接收头对38KHz 的光信号转换能力比较强,所以把高电平的频率设置为3

21、8KHz。在需要输出低电平的时候,控制P2.1 口一直为低就可以了。红外发光二极管发射波形如图 3 所示。先发一段前导码,以检验这组码是否为想要的码。前导码由一个9ms 的高电平和一个4ms 的低电平组成。然后再发32 位数据代码,其中高电平为0.5ms,低电平为0.5ms 的一个周期为代码“0”;高电平为0.5ms,低电平为1.5ms 的一个周期为代码“1”。为了提高发射功率,实际工作时,发光二极管的高电平用38kHz 的载波信号载波,低电平则一直为低。在主程序中,先设置P2.0 口为上升沿和下降沿都捕获,然后中断允许,进入主循环。一旦P2.0 口有电平的跳变即进入中断程序。在中断程序中,首

22、先判断是否上升沿。若是,则上升沿标志置1,并记录上升沿时刻;否则,说明是下降沿,再判断上升沿标志是否置1。若是,说明已有上升沿,记录下降沿时刻,并计算脉宽(脉宽=下降沿时刻上升沿时刻);否则,说明这是干扰信号,直接返回。下一步,判断脉宽的大小。开始 发送前导num 置 0 发送 0.5ms的高电num为 0?发送 0.5ms的低电发送 1.5ms的低电num=num+1 num=3?结束 N N Y Y 图 3-1 发射流程图 10 4 结束语 由于目前的遥控装置大多对某一设备进行单独控制,而在本设计中的红外遥控电路设计了多个控制按键,可以对不同的设备,也可以对同一设备的多个功能进行不同的控制

23、。基本符合技术要求。但是本电路也有不完,它只能单通道实现对多个设备的控制,即它不能同时控制两个或者两个以上的设备。通过这次毕业设计,让我复习了很多学过的旧知识,同时锻炼了自己的动手能力和查阅资料。尤其是解决在实际中解决排查问题的能力。通过这次的设计,我熟悉了使用 protel的技巧,学会了制作电路板的一些技巧,并且熟悉了 如何选购使用电子元器件。在设计中,我学到了如何使用 C 语言对单片机进行编写程序,熟悉了使用 KEIL C软件,并且加深了对单片机的编程技巧。在做这个设计的过程中,我遇到了不少的问题。这锻炼了我筛选、查阅资料,并将理论结合到自己的设计中的能力。一步一步的排除故障原因,找到故障

24、的原因并解决故障。11 在设计过程中,通过大量的查阅资料,认真研究材料,对单片机有了更为深刻的理解,在设计软件时,须仔细的分析硬件电路,画出程序流程图,培养了我的耐性和刻苦钻研的精神。参考文献 1 当方微型计算机控制技术M中国水利水电出版社,2001年,42-45 2 胡汉才单片机原理及其借口技术M清华大学出版社,1996年,24-28 3 赵新民智能仪器设计基础M哈尔滨工业大学出版社,1999年,34-36 4 潘新,民王,燕芳微型计算机控制技术M电子工业出版社,2003年,67-68 5 李钟实实用电子报警器精选百例M北京:科技技术文献出版社,2002年,12-15 6 陈爱弟Protel

25、99se实用培训教程M人民邮电出版社,2000年,33-35 7 阎石数字电子技术基础M高等教育出版社,1998年,56-57 8 童诗白模拟电子技术基础M高等教育出版涉,1998年,78-80 9 候振鹏嵌入式 C 语言程序设计M北京:人民邮电出版社,2006年,99-100 10 徐士良C 语言程序设计教程M北京:人民邮电出版社,2001年,66-72 附录一 12 附录二 附录图1 红外发射图 附录图2 红外接收图 13 外遥控发射程序:ORG 0000H ;程序执行开始地址 AJMP START ;跳至 START执行 ORG 000BH ;定时器 T0 中断入口地址 LJMP INT

26、T0 ;跳至 INTT0中断服务程序 ORG 0030H PCODE EQU 30H ;识别码 OPPCODE EQU 31H ;识别码反码 BUT EQU 32H ;按键码 OPPBUT EQU 33H ;按键反码 START:MOV SP,#70H ;设堆栈基址为 70H CLR P3.4 ;关遥控输出 MOV IE,#00H ;关所有中断 MOV IP,#01H ;设优先级 MOV TMOD,#22H ;8位自动重装初值模式 MOV TH0,#0F3H ;定时为 13 微秒初值 MOV TL0,#0F3H SETB EA ;开总中断允许 MOV PCODE,#0ABH ;识别码赋值 MO

27、V OPPCODE,#54H ;识别码反码赋值 JIAN:;识别键盘有无键按下子程序 MOV P2,#00FH ;置列线为 1 MOV R7,#0FFH ;延时 DJNZ R7,JIAN1 JIAN1:MOV A,P2 ;读 P2 口 CPL A ;ANL A,#00FH ;JZ JIAN ;LCALL DELAY SKEY:;识别具体按键值子程序 MOV A,#00 ;1 行 1 行扫 MOV R0,A ;R00 MOV R1,A ;R10 MOV R3,#07FH ;R34 位为行 SKEY2:MOV A,R3 MOV P2,A ;4 位全 1 NOP 14 NOP NOP ;3个 NOP

28、操作使 P2 口输出稳定 MOV A,P2 ;读列值 MOV R1,A ;暂存列值 CPL A ;高电平则有键闭合 ANL A,#00FH ;取列值 S123:JNZ SKEY3 ;有键按下转 SKEY3,无键按下时进 INC R0 ;行计数器加 1 SETB C ;准备将行扫描右移 1 MOV A,R3 ;R3带进位 C 右移 1 位 RRC A MOV R3,A ;形成下一行扫描字送入 R3 MOV A,R0 CJNE A,#04H,SKEY2 ;4 NN:LJMP JIAN MN:MOV BUT,A CPL A MOV OPPBUT,A LCALL REMOTE ;转发送程序 AJMP

29、NN SKEY3:MOV A,R1 JNB ACC.0,SKEY5 JNB ACC.1,SKEY6 JNB ACC.2,SKEY7 JNB ACC.3,SKEY8 LJMP NN SKEY5:MOV A,#01H MOV R2,A ;存 0 列号 AJMP DKEY SKEY6:MOV A,#01H MOV R2,A ;存 1 列号 AJMP DKEY SKEY7:MOV A,#01H MOV R2,A ;存 2 列号 AJMP DKEY SKEY8:MOV A,#01H MOV R2,A ;存 3 列号 AJMP DKEY DKEY:MOV A,R0 ;取行号 ACALL DECODE LJ

30、MP MN 15 DECODE:MOV A,R0 ;取行号送 A MOV B,#04H ;每一行按键个数 MUL AB ;行号*按键数 ADD A,R2 ;行号*按键数+列号=键值A 中 RET REMOTE:SETB ET0 ;开 T0 中断 SETB TR0 ;开启定时器 T0 MOV R1,#06H ;原数值#09H OUT01:MOV R2,#0C8H ;发 5ms引导码 DJNZ R2,$DJNZ R1,OUT01 CLR TR0 ;关定时器 T0 CLR ET0 ;关 T0 中断 CLR P3.4 ;关脉冲输出 MOV R1,#0AH ;3ms空隙 OUT02:MOV R2,#96

31、H DJNZ R2,$DJNZ R1,OUT02 OUT03:;发射数据流 MOV A,PCODE LCALL OUT04 ;调用发送子程序 MOV A,OPPCODE ACALL OUT04 ;调用发送子程序 MOV A,BUT LCALL OUT04 ;调用发送子程序 MOV A,OPPBUT LCALL OUT04 ;调用发送子程序 SETB C ;发送结束码 1 LCALL SEND ;调用发送子程序 MOV R1,#0EAH ;延时 130MS OUTWAIT:MOV R2,#0C8H DJNZ R2,$DJNZ R1,OUTWAIT RET OUT04:;循环发射各数据位 MOV

32、R1,#08H OUT:RLC A ACALL SEND DJNZ R1,OUT RET SEND:CLR TR0 ;关定时器 T0 CLR ET0 ;关 T0 中断 16 CLR P3.4 ;关脉冲输出 JC SEND1 MOV R3,#08H ;发射 0 码 SEND0:MOV R4,#69H ;0码低电平 DJNZ R4,$DJNZ R3,SEND0 AJMP SIG ;转脉冲发送信号 SEND1:MOV R3,#02H ;1码低电平 SEND10:MOV R4,#8CH DJNZ R4,$DJNZ R3,SEND10 SIG:SETB ET0 ;开 T0 中断 SETB TR0 ;开启

33、定时器 T0 MOV R3,#08CH ;发射脉冲 DJNZ R3,$CLR TR0 ;关定时器 T0 CLR ET0 ;关 T0 中断 CLR P3.4 ;关脉冲输出 RET INTT0:CPL P3.4 ;40kHZ红外线遥控信号产生 RETI ;中断返回 DELAY:MOV R7,#10H ;延时 10 秒子程序 TS1:MOV R6,#0FFH TS2:DJNZ R6,TS2 DJNZ R7,TS1 RET END ;程序结束 红外遥控系统接收部分源程序:ORG 0000H LJMP START ORG 0003H LJMP INTEX0 ORG 0030H PCODE EQU 30H

34、 ;识别码 OPPCODE EQU 31H ;识别码反码 BUT EQU 32H ;按键码 OPPBUT EQU 33H ;按键反码 CODENUM EQU 34H ;接收码数 MINMA EQU 35H ;储存密码 GUAN EQU 36H ;储存管理员密码 17 START:MOV SP,#70H MOV IE,#00H ;关所有中断 SETB EX0 ;开外中断 SETB EA ;总中断允许 MOV PCODE,#0ABH ;识别码初值 MOV OPPCODE,#54H ;识别码反码初值 MAIN:MOV R3,#0FFH DJNZ R3,$;持续 510微秒 MOV R5,#08H X

35、UN:CLR C MOV C,P3.2 ;读入 P3.2引脚状态 MOV A,R6 RLC A MOV R6,A DEC R5 DJNZ R5,XUN MOV A,R6 SETB P2.0 ;开放显示器控制 SETB P3.1 ;开放显示器控制 MOV SBUF,A ;送 LED显示 LJMP MAIN ;转 MAIN循环 NOP ;PC值出错处理 LJMP START ;出错时重新初始化 INTEX0:MOV 37H,A ;采用中断接收 保护现场 MOV 20H,C CLR EX0 ;关外中断 JNB P3.2,READ ;P3.2口为低电平转 READ OUT:SETB EX0 ;MOV

36、A,37H ;恢复现场 MOV C,20H RETI 退出中断 READ:CLR A ;清 A 读取引导码 MOV DPH,A ;清 DPTR MOV DPL,A HEAD:JB P3.2,HEAD01 ;P3.2变高电平转 HARD01 INC DPTR ;用 DPTR对低电平计数 MOV R1,#04H DJNZ R1,$AJMP HEAD ;转 HARD HEAD01:MOV A,DPH ;DPTR高 8 位放入 A JZ OUT 016*255=4秒 MOV R1,#0AH ;3ms低电平 18 HEAD02:MOV R2,#96H DJNZ R2,$DJNZ R1,HEAD02 AC

37、ALL READ01 ;接收识别码 CJNE A,PCODE,OUT ;识别码判定 ACALL READ01 CJNE A,OPPCODE,OUT 识别码反码判定 ACALL READ01 MOV BUT,A ;接收控制码 ACALL READ01 接收控制反码 CPL A CJNE A,BUT,OUT ;控制码校验 ACALL READEND ;接收结束码 CJNE A,#01H,OUT MOV A,BUT MOV R5,#08H XUN2:CLR C MOV C,P3.2 ;读入 P3.2引脚状态 MOV A,R6 RLC A MOV R6,A DEC R5 DJNZ R5,XUN MOV

38、 A,R6 SETB P2.0 ;开放显示器控制 SETB P3.1 ;开放显示器控制 MOV SBUF,A ;送 LED显示 CLR P3.1 ;关闭显示器控制 PAN:CJNE A,GUAN,JISHU ;识别密码 JISHU:INC R4 CJNE R4,#003H,XUN2 LJMP BAOJING BAOJING:CLR P0.0 LJMP OUT ;转中断退出 READ01:MOV CODENUM,#08H ;读取数据码 8 位 CLR A ;清 A LJMP READ02 READEND:MOV CODENUM,#01H ;读取结束码 CLR A READ02:CLR C MOV R1,#02H ;延时 0.8ms READ03:MOV R2,#0C8H DJNZ R2,$DJNZ R1,READ03 19 MOV C,P3.2 ;取码 CPL C ;还原码值 RLC A ;移位赋值 JB P3.2,$JNB P3.2,$DJNZ CODENUM,READ02 RET END ;结束程序

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!