实验16:红外遥控printf输出
红外遥控解码实验报告(3篇)
第1篇一、实验目的本次实验旨在通过搭建红外遥控系统,了解红外遥控的基本原理,掌握红外遥控信号的编码和解码方法,并利用单片机实现对红外遥控信号的解码,实现对红外遥控器的控制。
二、实验原理红外遥控技术是一种无线通信技术,通过发射端发送特定编码的红外信号,接收端接收该信号并进行解码,从而实现对电器的控制。
红外遥控系统主要由发射端和接收端两部分组成。
1. 发射端:由按键矩阵、编码调制电路和红外发射器组成。
按键矩阵根据按键的不同产生不同的编码信号,编码调制电路将这些信号调制在38kHz的载波上,红外发射器将调制后的信号发射出去。
2. 接收端:由红外接收器、前置放大电路、解调电路和指令信号检出电路组成。
红外接收器接收发射端发射的红外信号,前置放大电路对信号进行放大,解调电路将38kHz的载波信号去除,指令信号检出电路从解调后的信号中提取出指令信号。
三、实验设备1. 红外遥控发射器2. 红外接收模块3. 单片机开发板4. 连接线5. 电源6. 红外遥控解码程序四、实验步骤1. 搭建红外遥控系统:将红外接收模块连接到单片机开发板的相应引脚上,确保连接正确无误。
2. 编写红外遥控解码程序:根据红外遥控协议,编写解码程序,实现对红外信号的解码。
3. 程序烧录与调试:将解码程序烧录到单片机中,连接电源,进行程序调试。
4. 测试与验证:使用红外遥控器对单片机进行控制,观察单片机是否能够正确解码红外信号,并实现相应的控制功能。
五、实验结果与分析1. 红外遥控系统搭建成功:通过连接红外接收模块和单片机开发板,成功搭建了红外遥控系统。
2. 解码程序编写与调试:根据红外遥控协议,编写解码程序,实现对红外信号的解码。
在调试过程中,通过观察单片机的输出,验证了程序的正确性。
3. 测试与验证:使用红外遥控器对单片机进行控制,观察单片机是否能够正确解码红外信号,并实现相应的控制功能。
实验结果表明,单片机能够成功解码红外信号,并实现红外遥控器的控制功能。
红外遥控解码实验报告
if(buf_count>40&&buf_count<70)
{
buf_count=0;
buf_key_code>>=1;
buf_key_code|=0x80;//收到1
key_bit_count++;//数据脉冲累加
}
else if(buf_count>12&&buf_count<32)//收到0
uchar ir_status=0;//脉冲接收器所处的状态,0:无信号,1:系统码接收区,2:数据编码接收区
uchar code table[]="EE01 DEMO:IR";
uchar code table1[]="code:";
uchar code table2[]={'0','1','2','3','4','5','6','7','8','9',};
1.6实验步骤
将JP21的8个短接子全部用短接帽短接,使DG0-DG7与P2端口接通
将JP22的9个短接子全部用短睫毛短接,使A-DP与P0端口接通,VCC向数码管模块供电
将JP10的短接子用短接帽短接,使红外接头U16的数据线与P3.2端口接通。
将JP24的短接子用短接帽短接,禁止LCD1602显示功能,否则数码管将不能正常显示。
第一次使用遥控器要去下电池盖下的隔离胶片。
1.7实验电路原理分析
ME850选用T1838一体化红外接收头,接受来自红外遥控器的红外遥控信号。T1838集成红外接收二极管、放大、解调、整形等电路在同一封装上。T1838负责红外遥控信号的解调,将调制在38KHZ上的红外脉冲信号解调并倒相输入到单片机的P3.2引脚,由单片机进行高电平与低电平宽度的测量
红外遥控实验报告
1 学生实验报告专业班级: 学号: 姓名 成绩: 实验课程:光学实验 实验名称:光红红外遥控实验实验组号:第二大组 同组成员:实验地点:光热实验室 实验时间: 指导教师:实验目的:了解多红外遥控电路的设计原实验仪器:GCGDBJ-B 型红外遥控实验仪型红外遥控实验仪 红外发射装置红外发射装置红外发射装置 红外接收装置红外接收装置红外接收装置 实验原理:红外线遥控系统一般由发射器和接收器两部分组成。
发射器由指令键、指令信号产生电路、调制电路、驱动电路及红外线发射器组成。
当指令键被按下时,指令信号产生电路便产生所需要的控制信号,控制指令信号经调制电路调制后,最终由驱动电路驱动红外线发射器,发出红外线遥控指令信号。
线遥控指令信号。
接收器由红外线接收器件、前置放大电路、解调电路、指令信号检出电路、记忆及驱动电路、执行电路组成。
当红外接收器件收到发射器的红外指令信号时,它将红外光信号变成电信号并送到前置放大电路进行放大,再经过解调器后,由信号检出电路将指令信号检出,最后由记忆电路和驱动电路驱动执行电路,实现各种操作。
实验内容与步骤:四路红外遥控设计实验四路红外遥控设计实验1、分别用屏蔽线将红外发射装置与实验仪主板上的驱动模块的接口J3相接;红外接收装置与接收模块上的接口J4相连接,并且使红外发射装置与光电接收装置在同一水平线上。
相连接,并且使红外发射装置与光电接收装置在同一水平线上。
2、将编码模块中的T31T31((VCC 编码芯片电源引脚)与其下方的地址码高电平中任意一个接口相连接。
口相连接。
3、将编码模块的编码输出端口T30(DOUT)T30(DOUT)与驱动模块的与驱动模块的T4T4((Drive_in Drive_in)相连接。
)相连接。
)相连接。
4、将接收模块的T16T16((Signal_out Signal_out)与信号变换模块的)与信号变换模块的T72T72((Signal_1Signal_1)相连接。
红外遥控综合实验报告
红外遥控综合实验报告一、实验目的通过本次实验,掌握红外遥控的原理和基本应用,了解红外遥控器的工作原理,并通过实际操作掌握红外遥控的编程与控制方法。
二、实验器材- STM32F103RD开发板- 红外遥控接收器- 红外遥控发射器- 电脑三、实验原理红外遥控技术基于红外线的传输和接收。
红外遥控接收器和发射器分别位于遥控器和被控制设备之间,实现信号的传输和解码。
红外遥控器通过发送不同的红外信号来控制不同的设备。
当按下遥控器上的按钮时,红外遥控发射器会发出特定的红外信号。
被控制设备上的红外遥控接收器接收到红外信号后,通过解码判断接收到的信号是什么指令,然后执行相应的操作。
四、实验步骤1. 准备实验器材,将红外遥控接收器和发射器分别连接到开发板上。
2. 在电脑上下载并安装开发板的驱动程序和编程软件。
3. 编写程序,实现红外遥控的编码和传输功能。
使用开发板的GPIO口来控制红外发射器的工作,并通过编程设置红外遥控发射时的频率和协议。
4. 编写程序,实现红外遥控的译码和执行功能。
使用开发板的GPIO口来接收红外遥控接收器的信号,并通过解码判断接收到的信号是什么指令,然后执行相应的操作。
5. 将程序烧录到开发板上,将遥控器和被控制设备连接好。
6. 进行遥控测试,按下遥控器上的按钮,检查被控制设备是否执行了相应的操作。
五、实验结果经过实验,我们成功实现了红外遥控的功能。
按下遥控器上的按钮时,被控制设备能够准确执行相应的操作,例如打开或关闭灯光、调节电风扇的风速等。
六、实验总结本次红外遥控综合实验通过理论与实际操作相结合的方式,让我们更深入地了解了红外遥控的原理和应用。
通过编程与控制的实践,我们进一步加深了对红外遥控技术的理解,提高了程序设计和调试的能力。
红外遥控技术在日常生活中广泛应用于电视、空调、音响、智能家居等各种设备上。
掌握了红外遥控的编程和控制方法,对我们今后的学习和工作都将有很大的帮助。
通过本次实验,我们学会了团队合作和解决实际问题的能力。
红外遥控实训报告
安徽科技学院数理与信息工程学院《电子信息系统实训红外遥控开关设计》设计说明书题目: 电子信息系统实训红外遥控开关设计姓名(学号) 姜磊(1665120208)同组者(姓名)王山豹同组者(学号) 1665120230 专业: 电子信息工程班级: 122班指导教师:刘纯利2015 年 6 月 5 日电子信息系统实训红外遥控开关设计报告一、概述时至今日,无线遥控器已经在生活中得到了越来越多的应用,给人们带来了极大的便利。
随着科技的进步无线遥控器也扩展到了许多种类,简单来说常见的有2种,一种是家电常用的红外遥控模式(IR Remote Control),另一种是防盗报警设备、门窗遥控、汽车遥控等等常用的无线电遥控模式(RF Remote Control)。
两者各有不同的优势,应用的领域也有所区别。
本次开放性实验我们以PT2262/PT2272为发射接收模块,并辅以辅助电路。
实现简单的无线遥控的智能解码。
《电子信息系统实训》是以学生自己动手,掌握通信相关理论、一定操作技能和制作实际硬件产品为特色的实训项目。
本实训通过学生独立完成一个完整的具有较强实用性的硬件电路实物为任务,可以通过实训锻炼学生硬件电路的设计能力,电路辅助设计软件的应用以及熟悉印刷电路板的完整制作过程,在后期工作中,还需要学生对制作的好的印刷电路进行调试,排除故障。
通过本实训可以让学生掌握技能、积累经验和提高能力共同发展。
二、实习的目的与要求主要目标和任务:1、掌握电子技术应用过程中的一些基本技能。
2、熟练识别各种电子元器件;了解各种元器件的作用、分类、性能及其参数。
3、巩固、扩大已获得的理论知识。
4、掌握电路板的设计原则,熟悉简单印刷电路板制作的过程,掌握查找及排除电子电路故障的常用方法。
5、培养学生综合运用所学的理论知识和基本技能的能力,尤其是培养学生独立分析和解决问题的能力。
6、熟悉电子产品的安装及手工焊接技术,能独立完成电子元器件的拆、装、焊。
简易红外遥控系统实验报告
简易红外遥控系统实验报告2008211208班08211106号史永涛班内序号:01指导教师:***本次课程设计在实验室度过了两周时间,但接到实验任务却是暑假前的事了,由于已经有别班同学事先做过了相同的实验,所以我在暑假期间已经询问了一些实验中的注意事项和核心内容,为开学后的实验做好了充分的准备。
本次实验可分为三个步骤:1、实验前的准备工作,画出电路图,列出自己实验中需要用到的各个芯片,并得到各芯片的管脚图和功能表,对各个芯片应有自己的一定程度的理解。
2、搭建电路,电路分为发射和接收两部分,搭建的时候应有一定的整体意识,同时应注意好细节问题,比如各模块间应隔开一定的距离,方便后期的调试,使各模块间相互独立,而搭线时应注意VCC和地线的连接,有时前期细节的不注意需要后期调试花费大量的时间去弥补。
3、电路调试与改进。
这是本次实验中的核心问题,因为实验要求中要求发射与接收的距离大于两米,而发射端和接收端的调试对于接收距离的影响十分关键,尤其是接收端,由于使用的是CX20106芯片,必须较为全面的理解了CX20106的功能,才能正确调配CX20106周围的电阻、电容的值,从而使实验最终成功。
一、实验要求1、遥控对象8个,被控制设备用LED分别代替,LED发光表示工作。
接收机与发射机的距离不小于2米。
2、8 路设备中的一路为 LED 灯,用指令遥控 LED 灯亮度,亮度分为 8 级并用数码管显示级数。
在一定的发射功率下,尽量增大接收距离。
增加信道干扰措施。
二、选择芯片74ls147、MC145026、MC145027、按键开关、拨码开关、红外发射管、红外接收管、NE555、CD4069、LED灯、7段数码管、电阻、电容、CX20106、CD4514。
三、具体电路图1、发射部分(1)调制放大首先使用74ls147进行编码,八路开关控制高低电平接入74LS147优先编码,转换成三路信号,连接MC145026的数据端(D6~D8)。
红外遥控显示系统设计实训指
红外遥控显示系统设计实训指一、实训目的:1.理解红外遥控技术的原理和应用。
2.掌握红外遥控信号的接收和解码技术。
3.学习使用显示屏显示红外遥控信号的结果。
4.锻炼设计和实现系统的能力。
二、实训内容:1.学习红外遥控技术的原理和应用。
2.设计红外遥控信号的接收和解码电路。
3.连接显示屏和红外遥控信号解码电路。
4.编写程序,实现红外信号的接收、解码和显示。
三、实训步骤:1.学习红外遥控技术的原理和应用:a.理解红外遥控信号的发送和接收原理。
b.了解红外遥控技术在家电、车辆等领域的应用。
2.设计红外遥控信号的接收和解码电路:a.选择合适的红外接收器和解码芯片。
b.连接红外接收器和解码芯片,设计电路板。
3.连接显示屏和红外遥控信号解码电路:a.了解显示屏的接口和通信协议。
b.连接显示屏和解码电路,确保信号传输正常。
4.编写程序,实现红外信号的接收、解码和显示:a.选择合适的开发板和编程语言。
b.编写程序,使开发板能够接收并解码红外信号。
c.在显示屏上显示解码结果。
四、实训要求:1.设计电路时,要考虑信号传输的稳定性和抗干扰性。
2.程序编写时,要考虑信号的正确解码和显示效果。
3.实训过程中要注意安全,避免电路短路和触电事故。
4.在实训结束后,进行实验结果的讨论和总结。
五、实训评估:1.实训中的电路设计和编程代码。
2.实训结果的准确性和显示效果。
3.实训中的实验记录和实训报告。
六、实训心得体会:通过本次实训,我对红外遥控技术有了更深入的了解,掌握了红外遥控信号的接收和解码技术,以及使用显示屏显示红外遥控信号的结果的方法。
通过设计和实现该系统,我锻炼了解决问题的能力和团队合作精神。
通过实训,我深刻认识到理论与实践相结合的重要性,只有通过实践才能真正掌握知识。
通过实训,我发现了自己的不足之处,并且不断学习、提高自己的能力。
我相信,通过不断实践和学习,我会在红外遥控技术方面取得更大的成就。
plc红外遥控实验报告
plc红外遥控实验报告实验报告:PLC红外遥控实验一、实验目标本实验的目标是了解和掌握PLC(可编程逻辑控制器)在红外遥控中的应用,通过编程实现红外遥控控制,以提高对PLC的实际应用能力。
二、实验原理红外遥控是一种利用红外线传输信号的无线遥控技术。
它通过调制信号将二进制编码信号传输出去,接收端对接收到的信号进行解调,还原出原来的信号,从而实现遥控功能。
红外遥控具有方向性、不可穿透性、抗干扰能力强等优点。
三、实验步骤1. 实验准备:准备一台PLC、一个红外遥控器、一个红外接收器以及相关的连接线和编程软件。
2. 硬件连接:将红外接收器连接到PLC的输入端口,将PLC连接到电脑的通讯端口。
3. 编程:使用PLC的编程软件编写程序,实现红外遥控控制。
具体来说,需要编写一个程序,当红外接收器接收到遥控器发出的信号时,PLC会根据接收到的信号执行相应的动作。
4. 调试:将编写好的程序下载到PLC中,通过调试,检查程序是否能够正确地实现红外遥控控制。
5. 测试:在实际环境中测试PLC的红外遥控功能,观察是否能够正常工作。
四、实验结果与分析通过本次实验,我们成功地实现了PLC的红外遥控控制。
在实验过程中,我们发现PLC的红外遥控功能具有很高的实用价值,可以方便地实现对设备的远程控制。
同时,我们也发现红外遥控的信号传输距离有限,易受到遮挡物的干扰。
为了提高红外遥控的可靠性和稳定性,可以考虑增加中继器或采用其他通信方式。
五、实验总结与建议本次实验让我们深入了解了PLC在红外遥控中的应用,提高了我们的实际应用能力。
在未来的实验中,我们可以进一步探索PLC在其他领域的应用,如运动控制、过程控制等。
同时,我们也可以尝试使用其他通信方式来实现远程控制,以提高控制的可靠性和稳定性。
单片机红外遥控实验报告
单片机红外遥控实验报告【实验报告】单片机红外遥控摘要:本实验通过使用单片机和红外遥控器,实现了对电器设备的远程控制。
首先,介绍了红外遥控技术的原理和应用场景;接着,详细描述了实验所使用的硬件与软件配置;然后,阐述了实验的步骤和过程;最后,总结了实验结果与心得体会。
1. 简介红外遥控技术是一种基于红外线信号传输的无线控制技术,广泛应用于家电、汽车、医疗设备等领域。
它通过红外线发射器将指令信号转换为红外线信号,并通过红外线接收器接收并解码信号,从而实现对电器设备的远程控制。
2. 硬件配置本实验所使用的硬件配置包括单片机、红外发射模块、红外接收模块、继电器模块和电器设备。
其中,单片机作为控制中心,通过编程控制红外发射模块发射特定的红外信号,红外接收模块接收信号并解码,继电器模块实现对电器设备电源的切换。
3. 软件配置3.1 单片机编程使用C语言编写单片机的控制程序。
首先,通过引入相应的库函数,对单片机进行初始化配置。
然后,定义红外信号对应的按键码,并设置相应的工作模式。
最后,编写主循环程序,实现对红外发射模块的控制和对红外接收模块的解码处理。
3.2 红外遥控器配置在红外遥控器上配置对应的按键码与功能,将其与实验中的电器设备进行匹配。
通过学习功能,将红外遥控器上的按键码与相应操作绑定。
4. 实验步骤4.1 硬件连接将红外发射模块、红外接收模块和继电器模块连接到单片机的相应引脚上,并保证连接正确可靠。
4.2 单片机编程根据实验需求,编写单片机的控制程序,并将程序下载到单片机的存储芯片中。
4.3 红外遥控器学习使用红外遥控器学习功能,将红外遥控器上的按键码与需要控制的电器设备进行匹配。
4.4 实验执行先使用红外接收模块接收红外遥控器发送的信号,并解码得到相应的按键码。
然后,通过单片机的控制程序判断收到的按键码,并控制继电器模块对电器设备进行功率切换。
5. 实验结果经过实验,验证了红外遥控技术在远程控制电器设备中的有效性。
红外遥控测试实验报告(3篇)
第1篇一、实验目的1. 了解红外遥控的基本原理和组成。
2. 掌握红外遥控信号的发射和接收技术。
3. 评估红外遥控系统的性能,包括遥控距离、角度和抗干扰能力。
4. 分析实验过程中遇到的问题,并提出相应的解决方案。
二、实验原理红外遥控技术是一种无线通信技术,通过发射端发送红外信号,接收端接收并解析红外信号,从而实现对设备的控制。
红外遥控系统主要由发射端、传输介质和接收端组成。
三、实验器材1. 红外遥控器2. 红外接收模块3. 逻辑分析仪4. 万用表5. 电源6. 调试工具四、实验步骤1. 搭建实验平台:将红外遥控器和红外接收模块连接到逻辑分析仪,并将逻辑分析仪与电脑连接,以便实时观察和分析信号。
2. 测试遥控距离:在实验室内,保持红外遥控器和红外接收模块之间距离不变,逐步增加距离,记录不同距离下的遥控效果。
3. 测试遥控角度:在实验室内,保持红外遥控器和红外接收模块之间距离不变,改变红外遥控器与红外接收模块之间的角度,记录不同角度下的遥控效果。
4. 测试抗干扰能力:在实验室内,向红外遥控器和红外接收模块之间添加干扰信号,观察红外遥控系统的抗干扰能力。
五、实验结果与分析1. 遥控距离测试:在实验过程中,当红外遥控器和红外接收模块之间距离为5米时,遥控效果良好;当距离增加到10米时,遥控效果有所下降;当距离增加到15米时,遥控效果基本失效。
这表明红外遥控系统的遥控距离与发射端和接收端之间的距离有关,距离越远,遥控效果越差。
2. 遥控角度测试:在实验过程中,当红外遥控器和红外接收模块之间距离为5米时,在正前方角度范围内,遥控效果良好;当角度增加到45度时,遥控效果有所下降;当角度增加到90度时,遥控效果基本失效。
这表明红外遥控系统的遥控角度与发射端和接收端之间的角度有关,角度越大,遥控效果越差。
3. 抗干扰能力测试:在实验过程中,向红外遥控器和红外接收模块之间添加干扰信号,发现当干扰信号强度较高时,红外遥控系统的抗干扰能力较差,容易导致遥控失效。
红外线遥控解码接收程序-C语言
红外线遥控解码接收程序-C语言.txt铁饭碗的真实含义不是在一个地方吃一辈子饭,而是一辈子到哪儿都有饭吃。
就算是一坨屎,也有遇见屎壳郎的那天。
所以你大可不必为今天的自己有太多担忧。
红外线遥控解码接收程序-C语言#include <regx51.h>#define uchar unsigned char#define uint unsigned int#define IR_RE P3_2bit k=0; //红外解码判断标志位,为0那么为有效信号,为1那么为无效uchar date[4]={0,0,0,0}; //date数组为存放地址原码,反码,数据原码,反码/*--------------------------延时1ms程子程序-----------------------*/delay1000(){uchar i,j;i=5;do{j=95;do{j--;}while(j);i--;}while(i);}/*---------------------------延时882us子程序-----------------------*/delay882(){uchar i,j;i=6;do{j=71;do{j--;}while(j);i--;}while(i);}/*--------------------------延时2400us程子程序-----------------------*/delay2400(){uchar i,j;i=5;do{j=237;do{j--;}while(j);i--;}while(i);}//**************************************************************//**************************************************************/*----------------------------------------------------------*//*-----------------------红外解码程序(核心)-----------------*//*----------------------------------------------------------*/void IR_decode(){uchar i,j;while(IR_RE==0);delay2400();{delay1000();delay1000();for(i=0;i<4;i++){for(j=0;j<8;j++){while(IR_RE==0); //等待地址码第1位高电平到来delay882(); //延时882us判断此时引脚电平///CY=IR_RE;if(IR_RE==0){date[i]>>=1;date[i]=date[i]|0x00;}else if(IR_RE==1){delay1000();date[i]>>=1;date[i]=date[i]|0x80;}} //1位数据接收完毕} //32位二进制码接收完毕}}//*****************************************************************//********************************************************************/*------------------------外部中断0程序-------------------------*//*------------------主要用于处理红外遥控键值--------------------*/void int0() interrupt 0{uchar i;k=0;EX0=0; //检测到有效信号关中断,防止干扰for(i=0;i<4;i++){delay1000();if(IR_RE==1){k=1;} //刚开场为9ms的引导码. }if(k==0){// EX0=0; //检测到有效信号关中断,防止干扰IR_decode(); //如果接收到的是有效信号,那么调用解码程序P0=date[1];delay2400();delay2400();delay2400();}EX0=1; //开外部中断,允许新的遥控按键}//*********************************************************************//********************************void main(){SP=0x60; //堆栈指针EX0=1; //允许外部中断0,用于检测红外遥控器按键EA=1; //总中断开while(1);}总结:关于本段程序的准确延时在<<C51中准确的延时与计算的实现>>里的评论有很好的诠释.//在STC12C5410上运用红外线解码程序.主要的问题在于延迟上。
红外遥控显示系统设计实训指(doc 7页)
红外遥控显示系统设计实训指(doc 7页)通信工程应用设计——红外遥控显示系统设计实训指导书一、设计目标1.完成红外控制现实系统的设计,即以单片机位核心微处理器,完成接收处理红外遥控信号和控制点阵LED显示两部分功能电路的设计;2.学会使用Protel系列软件,完成红外遥控显示系统的电路原理图绘制和PCB版图绘制;3.掌握通用版焊接工艺,完成红外遥控显示系统的硬件结构搭建,并调通硬件部分;4.掌握基于C语言编程的单片机控制技术,完成实现红外遥控显示系统功能的控制程序设计(信号的接收、信息的处理及点阵LED显示控制程序);5.软硬件联调,完成系统的最终功能。
二、设计任务1.完成基于单片机的红外遥控显示系统设计,利用红外接收装置接收遥控器发射的控制信号,利用单片机对接收的控制信号进行处理并通过应用程序控制使与单片机I/O相连的8X8点阵LED输出显示与遥控器控制信号相应的内容。
2.具体要求完成内容:1)电路原理图绘制;2)PCB版图绘制;3)硬件电路焊接调试;4)系统应用程序编写与编译调试;5)软硬件联调实现完整系统设计要求;6)撰写实训报告。
三、设计要求1.信号接收部分利用红外线接收器HS0038实现。
HS0038采用黑色环氧树脂封装,不受日为了减少引脚且便于封装,各种点阵LED显示模块都采用阵列形式排布,即在行列线的交点处接有现实LED(发光二极管)。
点阵LED显示模块的显示驱动只能采用动态驱动方式,每次最多只能点亮一行LED(共阳形式点阵LED 显示模块,即每行行列线交点处的发光二极管正极共同接高电平)或一列LED (共阴形式点阵LED显示模块,即每列行列线交点处的发光二极管负极共同接地)。
8X8点阵LED显示模块结构原理及引脚图如图2所示。
图2 8X8点阵LED显示模块结构原理及引脚图点阵LED的显示控制部分的电路连接方式可分为三种。
第一种方法是将点阵LED显示模块的所有管脚都与单片机的I/O相连,控制显示编程时同时对两个I/O赋值对相应位置的发光二极管亮灭进行控制。
红外遥控制作报告
电子基础实验C实验报告专业通信工程学号2220姓名徐子婷实验时间:~实验地点:25教502 1.实验目的1、制作红外遥感接收器跟发射器,实现红外遥控控制台灯开关。
2、了解红外遥感原理,以及学会如何自己查找资料,进行设计,成功制作成品3、学会如何在面包板上布线,尽量减少飞线并同时是布线美观4、培养学生的综合能力:查找资料、学习并使用新器件、自行安排进度、学习如何与他人协作的前提、发现并解决问题;5、加强电子制作能力2.实验器材电脑,电烙铁,面包板,焊锡,吸锡器,松香,海绵名称数量名称数量名称数量名称数量电阻 1 555 1 电容1U 1 滑动变阻器50k 1电阻10k 1 电容471U 1 9013 1 红外发射头 1电阻56 1 电容104U 2 电阻2K 1 9V电池扣 1小开关 13.实验原理1、红外遥控原理简介:红外遥控技术是一种利用红外线进行点对点通信的技术,其相应的软件和硬件技术都已比较成熟。
它是把红外线作为载体的遥控方式。
由于红外线的波长远小于无线电波的波长,因此在采用红外遥控方式时,不会干扰其他电器的正常工作,也不会影响临近的无线电设备。
红外遥控是利用波长为μμm之间的近红外线来传递控制信号的。
它具有以下特点:1.由于为不可见光,因此,对环境影响很小。
红外线的波长远小于无线电波的波长,所以,红外遥控不会干扰其它家用电器,也不会影响近邻的无线电设备。
2.红外线为不可见光,具有很强的隐蔽性和保密性,因此在防盗,警戒等安全保卫装置中也得到了广泛的应用。
3. 红外线遥控的遥控距离一般为几米至几十米或更远一点。
4.红外线遥控具有结构简单,制作方便,成本低廉,抗干扰能力强,工作可靠性高等一系列优点,特别是室内遥控的优先遥控方式。
同时,由于采用红外线遥控器件时,工作电压低,功耗小,外围电路简单,因此它在日常工作生活中的应用越来越广泛。
它在技术上的主要优点是:1.无需专门申请特定频率的使用执照;2.具有移动通信设备所必需的体积小、功率低的特点;3.传输速率适合于家庭和办公室使用的网络;4.信号无干扰,传输准确度高;它的缺点是:由于它是一种视距传输技术,采用点到点的连接具有方向性,两个设备之间如果传输数据,中间就不能有阻挡物;而且通讯距离较短,此外红外LED不是一种十分耐用的器件。
红外遥控系统实验报告
一、实验目的1. 了解红外遥控系统的基本原理和组成。
2. 掌握红外遥控发射器和接收器的制作方法。
3. 学习红外信号的调制和解调技术。
4. 培养动手实践能力和问题解决能力。
二、实验原理红外遥控系统利用红外线作为传输介质,通过调制和解调技术实现信号的传输。
发射端将控制信号调制到红外载波上,发射出去;接收端接收红外信号,进行解调,恢复出控制信号。
三、实验器材1. 红外遥控发射器模块2. 红外接收器模块3. LED指示灯4. 电阻、电容等电子元件5. 万用表6. 电路板7. 调试工具四、实验步骤1. 搭建红外遥控发射器电路(1)根据发射器模块的数据手册,设计电路原理图。
(2)在电路板上焊接元件,包括红外发射器模块、电阻、电容等。
(3)用万用表测试电路连接是否正确。
2. 搭建红外遥控接收器电路(1)根据接收器模块的数据手册,设计电路原理图。
(2)在电路板上焊接元件,包括红外接收器模块、电阻、电容等。
(3)用万用表测试电路连接是否正确。
3. 连接LED指示灯将LED指示灯连接到接收器电路的输出端,用于显示接收到的信号。
4. 调试电路(1)使用红外遥控发射器模块发射信号。
(2)观察接收器电路中的LED指示灯是否亮起,判断接收是否成功。
(3)根据需要调整电路参数,提高接收灵敏度。
5. 编写程序(1)根据实验要求,编写控制程序。
(2)将程序烧写到单片机或微控制器中。
6. 测试实验结果(1)使用红外遥控发射器模块控制接收器电路中的LED指示灯。
(2)观察LED指示灯的亮灭情况,判断控制是否成功。
(3)根据需要调整程序参数,提高控制效果。
五、实验结果与分析1. 成功搭建了红外遥控发射器和接收器电路。
2. 通过调试,接收器电路能够成功接收红外遥控发射器模块发射的信号。
3. 通过编写程序,实现了对LED指示灯的控制。
4. 实验过程中遇到了一些问题,如电路连接错误、参数设置不当等,通过查阅资料和反复调试,最终解决了问题。
六、实验总结本次实验成功实现了红外遥控系统的设计与制作,掌握了红外遥控的基本原理和制作方法。
手把手教你红外遥控解码实验
手把手教你红外遥控解码实验单片机轻松入门教学 ------- 『电子驿站』原创,转载请注明出处!---------------------------------------------------------------------------------------------------------------红外线遥控是目前使用最广泛的一种通信和遥控手段。
由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。
工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。
【红外遥控系统】通用红外遥控系统由发射和接收两大部分组成,应用编/解码专用集成电路芯片来进行控制操作,如图1所示。
发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光、电转换放大器、解调、解码电路。
图1a图1b【遥控发射器及其编码】遥控发射器专用芯片很多,根据编码格式可以分成两大类,这里我们以运用比较广泛,解码比较容易的一类来加以说明,现以日本NEC的uPD6121G组成发射电路为例说明编码原理。
当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。
这种遥控码具有以下特征:采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”,其波形如图2所示。
上述“0”和“1”组成的32位二进制码经38kHz的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。
然后再通过红外发射二极管产生红外线向空间发射,如图3所示,连发波形如图4所示。
UPD6121G产生的遥控编码是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的电器设备,防止不同机种遥控码互相干扰。
android手机应用开发技术红外遥控器开发实习报告
河南科技大学生产实习报告实习主题 Android手机应用开发技术实习单位洛阳科洛信息技术有限公司学院软件学院专业班级软件工程151学生学号 153251090108学生姓名韩哲宇指导教师张虎马啸2016-2017 学年第一学期生产实习任务书姓名韩哲宇学号153251090108 班级软件工程(专升本)所学专业软件工程实习单位洛阳科洛信息技术有限公司指导教师张虎马啸实习主题(方向)Android手机应用开发技术实习内容通过本课程设计,使学生巩固android的基本概念、原理和技术,在完成一个小型程序的设计过程中,学习android软件设计思想、方法,锻炼学生软件设计、查阅及运用资料的能力,以达到强化学生的实践意识,提高学生实际动手能力和创新能力的目的。
实习目标和要求任务要求:1、将遥控各种家用电器的遥控器们集合起来,利用它们都是利用发射红外线进行遥控的共同特点,将功能集合在一部智能手机上。
这种高度集合、统一的特征是本项目的优势。
2、利用智能手机的耳机接口输出的音频电压信号传出控制外接模块发射红外线遥控信号的电压信息。
利用耳机接口的巨大优势是,相比于各种手机不同型号的USB接口,耳机接口可以使外接模块适合各种安卓系统智能手机,并且巧妙利用了音频电压信号这种信息载体,通过耳机口输出的音频电压信号,对外接模块发射红外遥控信号进行控制。
3、软件部分所实现的功能是:遥控器面板的选择以及绘制;遥控器面板上的按键与对应要发出的红外遥控信号所对应的控制音频信号之间的触发关系对应;音频电压信号从耳机接口的输出。
时间进度安排序号起止日期工作内容1 9.5-9.8 Java、Android基础学习2 9.9-10.28 学生进行项目功能模块设计、编码、测试3 10.31 程序验收4 11.1-11.10 根据设计内容形成课程设计文档,撰写课程设计报告5 11.11 上交课程设计报告指导教师意见:指导教师: 2016 年 11 月 14 日生产实习教学计划学年学期:2016~2017学年第一学期专业班级:软工151周次工作日日期时间教学环节内容实习部门指导/授课教师第一周周一9月5日上午讲课Java核心语法研发部马啸下午实践基本语法练习研发部马啸周三9月7日上午讲课android中的面向对象研发部马啸下午实践面向对象集合基本练习研发部马啸周五9月9日上午讲课android中java的多线程研发部马啸下午实践Android中的java编程练习研发部马啸第二周周一9月12日上午讲课重新定义手机软件开发方式,手机软件开发注意1研发部马啸下午讲课重新定义手机软件开发方式,手机软件开发注意2研发部马啸周三9月14日上午讲课android开发七大件1_activity研发部马啸下午实践Activity跳转练习研发部马啸周五9月16日上午实践android开发七大件2_activity研发部马啸下午实践Activity跳转传参研发部马啸第三周周一9月19日上午实践Android开发七大件 3研发部马啸下午讲课使用Intent实现拍照练习研发部马啸周三9月21日上午讲课Android开发七大件 4研发部马啸下午实践使用service完成多线程下载练习研发部马啸周五9月23日上午讲课Android开发七大件 5研发部马啸下午实践使用Laucher制作APP启动效果研发部马啸第四周周一9月26日上午讲课Android开发七大件 6研发部马啸下午实践使用Notification完成设计模式案例研发部马啸周三9月28日上午讲课Android开发七大件7研发部马啸下午实践Broadcast Receiver接收系统通知研发部马啸第五周周五9月30日上午讲课生产实习学习目标介绍研发部马啸下午讲课生产实习学习目标介绍研发部马啸周六10月8日上午讲课红外遥控器原理研发部马啸下午实践学习红外遥控器电路图研发部马啸第六周周一10月10日上午讲课红外遥控器的解码 1研发部马啸下午实践红外遥控解码过程研发部马啸周三10月12上午讲课红外遥控器的解码 2研发部马啸下午实践空调红外遥控解码研发部马啸周五10月14上午讲课红外遥控设备选择研发部马啸下午实践耳机插孔红外设备原理研发部马啸第七周周一10月17上午讲课红外遥控APP界面讲解 1研发部马啸下午实践制作设备选择界面研发部马啸周三10月19上午讲课红外遥控APP界面讲解 2研发部马啸下午实践制作设备控制界面研发部马啸周五10月21上午讲课红外控制开发 1研发部马啸下午实践Android系统识别红外设备驱动研发部马啸第八周周一10月24上午讲课红外控制开发 2研发部马啸下午实践Android系统识别红外设备驱动研发部马啸周三10月26上午讲课红外控制开发 3研发部马啸下午实践发送编码识别空调开关研发部马啸周五10月28上午讲课红外控制开发 4研发部马啸下午实践发送编码识别空调开关研发部马啸第九周周一10月31上午讲课红外控制开发 5研发部马啸下午实践识别空调开关后适配空调各种控制键研发部马啸周三11月2上午讲课红外控制开发 6研发部马啸下午实践控制空调温度研发部马啸周五11月4上午讲课红外控制开发7研发部马啸下午实践空调控制功能测试研发部马啸第十周周一11月7上午实践撰写报告研发部马啸下午实践撰写报告研发部马啸周三11月9上午实践撰写报告研发部马啸下午实践撰写报告研发部马啸周五11月11上午实践撰写报告研发部马啸下午实践撰写报告研发部马啸目录第一章需求分析 (8)1.1 生产实习题目 (8)1.2 生产实习任务及要求 (8)1.3 软硬件运行环境及开发工具 (8)第二章系统设计 (8)2.1 系统分析 (8)2.2 系统的主要功能 (9)第三章详细设计 (9)3.1 系统的主要功能 (9)3.2软件部分 (13)3.3软、硬件的配合 (13)3.4 软件界面效果 (15)3.5主要代码 (17)第四章测试用例文档 (48)4.1测试范围 (48)4.2测试目标 (48)4.3测试环境 (48)4.4测试工具 (48)4.5功能测试 (49)4.6被测试对象(单元)的介绍 (49)4.7测试环境与测试辅助工具的描述 (49)4.8功能测试 (49)第五章生产实习总结与体会 (51)参考文献 (52)第一章需求分析1.1 生产实习题目通过本生产实习,使学生巩固android的基本概念、原理和技术,学会使用java 语言进行android红外遥控程序的开发,将理论与实际相结合,完成一个红外遥控器的设计与实现,并在此基础上强化学生的实践意识,提高其实际动手能力和创新能力。
红外遥控实验
红外遥控通信系统现在家电产品大部分配有红外线遥控器,在PC上也有红外传输的接口,有些鼠标加了红外控制接口,变成了无线鼠标。
所以说使用红外已经是一种非常广泛的通信方式。
红外通信知识的概述。
实验内容简介实验目的1、掌握红外通信系统的知识。
2、学会对接收到的红外信号进行解码操作。
3、学会如何使用单片机来控制红外发射器发射红外信号。
4、了解NEC码的编码方式等相关知识。
实验要求1、使用开发板上的红外发射器TSAL6200模拟一个采用NEC码的红外遥控器进行红外信号的发射。
2、红外的编码使用开发板上的矩阵键盘实现(按键扫描实验)。
3、开发板通过红外接收模块(HS0038)完成红外数据的接受,同时进行解码等操作。
4、MCU对解码后的数据进行处理,将其显示在数码管上。
简单硬件需求分析1、一般的红外通信系统都由发射与接收两个部分组成,所以我们需要一个发送红外信号的发射器和一个红外接收器,由于我们需要对接收到的红外信号进行解码,然后送给单片机进行处理,所以选择的接收器应该可以解码出单片机可以直接处理的数据。
2、选择一个MCU对红外发射器进行控制,得到想要的红外数据。
3、由于我们实验需要显示接收到的红外数据,所以需要一个显示器件,数码管就能够满足显示的需求。
开发板设计HS0038模块:HS0038是一个直接输出MCU可以处理的数字信号,所以在电路连接中,可以直接将它的OUT引脚接在单片机的I/O口上,进行红外数据的处理,但是在我们的开发板上,不仅接在了I/O口上,同时也将其接在了8259A中断控制器上,这样做,可以让我们在编写程序时有多种做法。
这里的OUT引脚默认情况下为高电平的,这是上拉电阻所起到的作用。
TSAL6200模块:该器件是一个红外发射器,发射器的一端接在5V电源上,另一段接在PNP型三极管的发射极上,三极管主要起到一个电流放大的作用。
这里的IR_OUT信号通过电阻接在电源上,除了让IR_OUT信号线在默认情况下输出高电平的作用外(IR_OUT=1红外发射管不工作),还起到了分压的作用,因为TSAL6200的正向压降只有1.35V(详细内容见TSAL6200)。
红外遥控解码实验报告
嵌入式系统试验报告1.红外遥控解码实验1.1 实验目的了解红外遥控编码并用单片机捕捉信号及解码熟悉LCD1602的驱动1.2 实验设备T1838一体化红外接收头DT9122D芯片制作89S511.3 实验内容红外一体化接收头接收到红外遥控发射器所发射的信号,并将此信号进行整形和反相送入单片机端口。
经过软件译码,将译码结果(按键代码)昂数码管显示。
1.4 实验预习要求遥控编码知识ME850单片机开发实验仪集成有一路一体化红外接收头,并配有红外发射器,能够做红外接收与解码实验了解简单的单片机的开发的环境要有一定的C语言基础1.5 实验原理所谓解码就是能用单片机把以不同宽度的脉冲区别开来,一种比较好思路就是计算两次下降沿间隔时间,当单片机外部中断1口有下降沿时中断一次,并启动定时器,定时器定50us,当下次下降沿到来时我们计算定时器中断的次数,这样我们就能很好的区分不同宽度的脉冲了。
1.6 实验步骤将JP21的8个短接子全部用短接帽短接,使DG0-DG7与P2端口接通将JP22的9个短接子全部用短睫毛短接,使A-DP与P0端口接通,VCC向数码管模块供电将JP10的短接子用短接帽短接,使红外接头U16的数据线与P3.2端口接通。
将JP24的短接子用短接帽短接,禁止LCD1602显示功能,否则数码管将不能正常显示。
第一次使用遥控器要去下电池盖下的隔离胶片。
1.7 实验电路原理分析ME850选用T1838一体化红外接收头,接受来自红外遥控器的红外遥控信号。
T1838集成红外接收二极管、放大、解调、整形等电路在同一封装上。
T1838负责红外遥控信号的解调,将调制在38KHZ上的红外脉冲信号解调并倒相输入到单片机的P3.2引脚,由单片机进行高电平与低电平宽度的测量T1838的输出端通过JP10与AT89S52的P3.2连接,既可以受用中断的方式也可以使用查询方式来编程1.8 实验参考程序分析#include<reg52.h>#define uint unsigned int#define uchar unsigned charsbit ir=P3^3;//红外端口sbit dm=P1^4;//数码管段码控制位sbit wm=P1^5;//数码管位码控制位sbit led_cs=P1^6;//LED控制位sbit rs=P3^5;//1602数据命令选择端sbit en=P3^4;//1602使能信号uchar num;uchar key_code=0;//遥控键值uchar new_code=0;//有无新按键uint buf_key_code=0;//键值暂存uchar key_bit_count=0;//键编码脉冲计数uint count=0;//定时中断次数计数uint buf_count=0;//定时中断计数暂存uchar common_code_count=0;//前导码脉冲计数uchar ir_status=0;//脉冲接收器所处的状态,0:无信号,1:系统码接收区,2:数据编码接收区uchar code table[]="EE01 DEMO:IR";uchar code table1[]="code:";uchar code table2[]={'0','1','2','3','4','5','6','7','8','9',};void delay_10us(unsigned char y)///延时子程序10us{unsigned char x;for(x=y;x>0;x--);}void delay_ms(uint z)//延时子程序1ms{uint x,y;for(x=z;x>0;x--)for(y=113;y>0;y--);}void init(void)/////初始化{ir=1; //红外端口写1led_cs=0; //关闭LEDEA=1; //开总中断TMOD=0x02; //定时器0,模式2,8位自动装载模式TH0=0Xd1; //定时50usTL0=0Xd1;IT1=1; //INT1下降沿触发ET0=1; //允许定时器中断EX1=1; //允许外部中断}/***********************************************定时器中断***********************************************/void time0() interrupt 1///定时器中断{count++;//定时器中断次数累加}/**********************************************外部中断,红外解码程序**********************************************/void int1() interrupt 2///外部中断{TR0=1;//开定时器中断if(count>12&&count<270)//如果信号合法,则放入buf_count,count清0,对下一个脉冲{buf_count=count;count=0;}delay_10us(10);//延时100us以消除下降沿跳变抖动if(ir==0)//INT1引脚稳定为低电平,则表法确实是信号,count重新计时,因上面延时了50us,故要补偿1次TO中断{count=2;}if(buf_count>12&&buf_count<270)//若收到的信号合法,则再进行信号分析{if(ir_status==0)//如果之前未收到引导码{if(buf_count>210&&buf_count<270)//判断是否引导码13.5ms{ir_status=1;//系统标记buf_count=0;//}}else if(ir_status==1)///收到引导码if(common_code_count>=25)//若收完26个脉冲{ir_status=2;//数据解码标记common_code_count=0;//系统码计算清零buf_count=0;//中断计数暂存清0}else if((buf_count>40&&buf_count<70)||(buf_count>12&&buf_count<32)){buf_count=0;common_code_count++;//每收到一个信号自加1}}else if(ir_status==2)//进入数据编码接收{if(key_bit_count<8)//收到数据少于8位,则将收到的数据写入buf_key_code {if(buf_count>40&&buf_count<70){buf_count=0;buf_key_code>>=1;buf_key_code|=0x80;//收到1key_bit_count++;//数据脉冲累加}else if(buf_count>12&&buf_count<32)//收到0 {buf_count=0;buf_key_code>>=1;//收到0key_bit_count++;}}else //若收完8位数据则做以下处理{ir_status=0;//接收状态返回到空闲key_code=buf_key_code;key_bit_count=0;buf_key_code=0;buf_count=0;TR0=0;new_code=1;}}}}1.9 实验结论和分析将上面的程序写入89S51单片机中,通电后,按压遥控器上0-9按键,则实验板上的数码管就显示出对应的按键值,同时解码成功后发出声音指示Welcome To Download !!!欢迎您的下载,资料仅供参考!。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验16 红外遥控实验
本章我们将向大家介绍如何通过 STM32来解码红外遥控器的信号。
普中科技STM32开发板标配了红外接收头和一个很小巧的红外遥控器。
在本章中,我们将利用 STM32 的外部中断功能,解码开发板标配的这个红外遥控器的编码信号,并将解码后的键值数据通过printf打印输出在串口助手上。
本章分为以下学习目标:
1. 了解红外遥控的解码原理
1.1红外遥控简介简介
红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低,成本低,易实现等显著优点,被诸多电子设备特别是家用电器广泛采用,并越来越多的应用到计算机系统中。
由于红外线遥控不具有像无线电遥控那样穿过障碍物去控制被控对象的能力,所以,在设计红外线遥控器时,不必要像无线电遥控器那样,每套(发射器和接收器)要有不同的遥控频率或编码(否则,就会隔墙控制或干扰邻居的家用电器),所以同类产品的红外线遥控器,可以有相同的遥控频率或编码,而不会出现遥控信号“串门”的情况。
这对于大批量生产以及在家用电器上普及红外线遥控提供了极大的方面。
由于红外线为不可见光,因此对环境影响很小,再由红外光波动波长远小于无线电波的波长,所以红外线遥控不会影响其他家用电器,也不会影响临近的无线电设备。
红外遥控的编码目前广泛使用的是: NEC Protocol 的 PWM(脉冲宽度调制)和 Philips RC-5 Protocol 的 PPM(脉冲位置调制)。
普中科技 STM32 开发板配套的遥控器使用的是NEC 协议,其特征如下:
1、 8 位地址和 8 位指令长度;
2、地址和命令 2 次传输(确保可靠性)
3、 PWM 脉冲位置调制,以发射红外载波的占空比代表“ 0”和“ 1”;
4、载波频率为 38Khz;
5、位时间为 1.125ms 或 2.25ms;
NEC 码的位定义:一个脉冲对应 560us 的连续载波,一个逻辑 1 传输需要 2.25ms
( 560us脉冲+1680us 低电平),一个逻辑 0 的传输需要 1.125ms( 560us 脉冲+560us 低电平)。
而遥控接收头在收到脉冲的时候为低电平,在没有脉冲的时候为高电平,这样,我们在接收头端收到的信号为:逻辑 1 应该是 560us 低+1680us 高,逻辑 0 应该是 560us 低+560us 高。
NEC 遥控指令的数据格式为:同步码头、地址码、地址反码、控制码、控制反码。
同步码由一个 9ms 的低电平和一个 4.5ms 的高电平组成,地址码、地址反码、控制码、控制反码均是8 位数据格式。
按照低位在前,高位在后的顺序发送。
采用反码是为了增加传输的可靠性(可
用于校验)。
1.ENC 协议的时序图
ENC 特点如下:
1)协议规定低位首先发送。
一串信息首先发送9ms 的AGC(自动增益控制)的高
脉冲,接着发送 4.5ms 的起始低电平,接下来是发送四个字节的地址码和命令码,这四个字节分别为:地址码;地址码反码;命令码;命令码反码。
2)如果你一直按那个按键,一串信息也只能发送一次,一直按着,发送的则是以110ms
为周期的重复码。
3)接收到的信号是跟发送信号正好反向的。
2.重复码的格式
重复码的格式是由9ms 的AGC 高电平和 4.5ms 的低电平及一个560us 的高电平组成。
3.逻辑“1”的表示
逻辑 1 的是由560us 的高电平和1.69ms 的低电平组成的脉冲表示。
4.逻辑“0”的表示
5.ENC 的解码过程
一般ENC 的解码过程为:
1) 产生下降沿,进入外部中断15 的中断函数,延时一下之后检测IO 口是否还是低
电平,是就等待9ms 的低电平过去。
2) 等待完9ms 低电平过去,再去等待4.5ms 的高电平过去。
3) 接着开始接收传送的4 组数据
⏹ 先等待560us 的低电平过去
⏹ 检测高电平的持续时间,如果超过1.12ms 那么是高电平(高电平的的持续时间
为 1.69ms,低电平的持续时间为565us。
)
4)检测接收到的数据和数据的反码进行比较,是否等到的数据是一样的。
6.ENC 的解码函数为:
void EXTI15_10_IRQHandler(void) //红外遥控外部中断
{
u8 Tim=0,Ok=0,Data,Num=0;
while(1)
{
if(GPIO_ReadInputDataBit(GPIOG,GPIO_Pin_15)==1) {
Tim=HW_jssj();//获得此次高电平时间
if(Tim>=250) break;//不是有用的信号
if(Tim>=200 && Tim<250)
{
Ok=1;//收到起始信号
}
else if(Tim>=60 && Tim<90)
{
Data=1;//收到数据 1
}
else if(Tim>=10 && Tim<50)
{
Data=0;//收到数据 0
}
if(Ok==1)
{
hw_jsm<<=1;
hw_jsm+=Data;
if(Num>=32)
{
hw_jsbz=1;
break;
}
}
Num++;
}
}
EXTI_ClearITPendingBit(EXTI_Line15);
}
/************************************************************************** *****
* 函数名 : HW_jssj
* 函数功能 : 高电平持续时间,将记录的时间保存在t中返回,其中一次大约20us
* 输入 : 无
* 输出 : t
*************************************************************************** ****/
u8 HW_jssj()
{
u8 t=0;
while(GPIO_ReadInputDataBit(GPIOG,GPIO_Pin_15)==1)//高电平
{
t++;
delay_us(20);
if(t>=250) return t;//超时溢出
}
return t;
}
1.2电路设计
从上图我们可以看出,红外接收头使用的是一跟数据线传输数据,跟DS18B20 差不多。
我们开发板上面使用的单片机的PG15口。
1.3例程主函数
/**************************************************************************** * Function Name : main
* Description : Main program.
* Input : None
* Output : None
* Return : None
****************************************************************************/ int main()
{
hwjs_init(); //红外接口初始化
printf_init(); //printf初始化
while(1)
{
if(hw_jsbz==1) //如果红外接收到
{
hw_jsbz=0; //清零
printf("红外接收码 %0.8X\r\n",hw_jsm); //打印
hw_jsm=0; //接收码清零
}
}
}
主程序的效果是,解码红外遥控的键值,将其地址码和反码还有控制码及反码通过printf输出到串口助手上,如下:
当程序下载进去后,打开串口,对DTR前进行勾选,然后在取消。
再通过发送字符即可以显示。