外贸商城 网站建设wordpress当前在线

张小明 2025/12/30 10:32:19
外贸商城 网站建设,wordpress当前在线,贵阳网站建设公,app商城开发定制文章目录一、红外线简介二、红外遥控的原理   1、红外发射装置   2、NEC协议     特征#xff1a;     NEC 码的位定义#xff1a;     NEC 遥控指令的数据格式#xff1a;     NEC编码#xff1a;3、红外接收装置   4、红外遥控器编码#xff08;十…文章目录一、红外线简介二、红外遥控的原理1、红外发射装置2、NEC协议特征NEC 码的位定义NEC 遥控指令的数据格式NEC编码3、红外接收装置4、红外遥控器编码十六进制三、原理图四、代码实例1、ired.h2、ired.c3、mian.c4、实例现象一、红外线简介人的眼睛能看到的可见光按波长从长到短排列依次为红、橙、黄、绿、青、蓝、紫。其中红光的波长范围为 0.620.76μm紫光的波长范围为 0.380.46μm。比紫光波长还短的光叫紫外线比红光波长还长的光叫红外线。红外线遥控就是利用波长为 0.761.5μm 之间的近红外线来传送控制信号的。二、红外遥控的原理红外遥控是一种无线、非接触控制技术具有抗干扰能力强信息传输可靠功耗低成本低易实现等显著优点被诸多电子设备特别是家用电器广泛采用。1、红外发射装置红外发射装置也就是通常我们说的红外遥控器是由键盘电路、红外编码电路、电源电路和红外发射电路组成。红外发射电路的主要元件为红外发光二极管。它实际上是一只特殊的发光二极管由于其内部材料不同于普通发光二极管因而在其两端施加一定电压时它便发出的是红外线而不是可见光。目前大量的使用的红外发光二极管发出的红外线波长为 940nm 左右外形与普通发光二极管相同。通常红外遥控为了提高抗干扰性能和降低电源消耗红外遥控器常用载波的方式传送二进制编码常用的载波频率为 38kHz这是由发射端所使用的 455kHz晶振来决定的。在发射端要对晶振进行整数分频分频系数一般取 12所以455kHz÷12≈37.9kHz≈38kHz。也有一些遥控系统采用 36kHz、40kHz、56kHz等一般由发射端晶振的振荡频率来决定。二进制脉冲码的形式有多种其中最为常用的是 NEC Protocol 的 PWM 码(脉冲宽度调制)和 Philips RC-5 Protocol 的PPM 码(脉冲位置调制码脉冲串之间的时间间隔来实现信号调制)。2、NEC协议特征1、8 位地址和 8 位指令长度2、地址和命令 2 次传输确保可靠性3、PWM 脉冲位置调制以发射红外载波的占空比代表“0”和“1”4、载波频率为 38Khz5、位时间为 1.125ms 或 2.25msNEC 码的位定义一个脉冲对应 560us 的连续载波一个逻辑 1 传输需要2.25ms560us 脉冲1680us 低电平一个逻辑 0 的传输需要 1.125ms560us脉冲560us 低电平。而红外接收头在收到脉冲的时候为低电平在没有脉冲的时候为高电平这样我们在接收头端收到的信号为逻辑 1 应该是 560us 低1680us 高逻辑 0 应该是 560us 低560us 高。所以可以通过计算高电平时间判断接收到的数据是 0 还是 1。NEC 遥控指令的数据格式引导码、地址码、地址反码、控制码、控制反码。引导码由一个 9ms 的低电平和一个 4.5ms 的高电平组成地址码、地址反码、控制码、控制反码均是 8 位数据格式。按照低位在前高位在后的顺序发送。采用反码是为了增加传输的可靠性可用于校验。NEC编码标准数据帧完整数据帧共 32 位按 “引导码 8 位地址码 8 位地址反码 8 位控制码 8 位控制反码” 的顺序组成。其中引导码是 9ms 高电平脉冲加 4.5ms 低电平间隔用于告知接收端即将接收数据地址码用于识别目标设备控制码对应具体操作指令反码则用于校验保障传输准确性。连发码当遥控器按键被长按发送一次完整数据帧后后续会发送连发码替代完整帧。其结构为 9ms 高电平 2.25ms 低电平 0.56ms 低电平 97.94ms 高电平用于高效告知接收设备持续执行上一命令同时减少电量消耗。3、红外接收装置红外接收设备是由红外接收电路、红外解码、电源和应用电路组成。红外遥控接收器的主要作用是将遥控发射器发来的红外光信好转换成电信号再放大、限幅、检波、整形形成遥控指令脉冲输出至遥控微处理器。正对接收头的凸起处看从左至右管脚依次是1VOUT2GND3VDD。由于红外接收头在没有脉冲的时候为高电平当收到脉冲的时候为低电平所以可以通过外部中断的下降沿触发中断在中断内通过计算高电平时间来判断接收到的数据是 0 还是 1。4、红外遥控器编码十六进制三、原理图四、代码实例将红外地址码和命令及指定按键计数显示到LCD1602。1、ired.h#ifndef_ired_H#define_ired_H#includereg52.h#defineIR_POWER0x45#defineIR_MODE0x46#defineIR_MUTE0x47#defineIR_START_STOP0x44#defineIR_PREVIOUS0x40#defineIR_NEXT0x43#defineIR_EQ0x07#defineIR_VOL_MINUS0x15#defineIR_VOL_ADD0x09#defineIR_00x16#defineIR_RPT0x19#defineIR_USD0x0D#defineIR_10x0C#defineIR_20x18#defineIR_30x5E#defineIR_40x08#defineIR_50x1C#defineIR_60x5A#defineIR_70x42#defineIR_80x52#defineIR_90x4A//管脚定义sbit IREDP3^2;//声明变量externunsignedchargired_data[4];//函数声明voidired_init(void);// 获取数据帧标志位的函数unsignedcharget_data_flag(void);#endif2、ired.c#includeired.hunsignedchargired_data[4];//存储4个字节接收码地址码地址反码控制码控制反码/******************************************************************************* * 函 数 名 : ired_init * 函数功能 : 红外端口初始化函数外部中断0配置 * 输 入 : 无 * 输 出 : 无 *******************************************************************************/voidired_init(void){IT01;//下降沿触发EX01;//打开中断0允许EA1;//打开总中断IRED1;//初始化端口}voidired_delay_10us(unsignedintten_us){while(ten_us--);}unsignedcharired_data_flag0;// 获取数据帧标志位的函数unsignedcharget_data_flag(void){if(ired_data_flag)// 如果收到数据帧标志置位{ired_data_flag0;// 清除数据帧标志return1;// 返回1表示已接收到数据帧}return0;// 否则返回0}voidired()interrupt0//外部中断0服务函数{unsignedcharired_high_time0;unsignedinttime_cnt0;unsignedchari0,j0;if(IRED0){time_cnt1000;while((!IRED)(time_cnt))//等待引导信号9ms低电平结束若超过10ms强制退出{ired_delay_10us(1);//延时约10ustime_cnt--;if(time_cnt0)return;}if(IRED)//引导信号9ms低电平已过进入4.5ms高电平{time_cnt500;while(IREDtime_cnt)//等待引导信号4.5ms高电平结束若超过5ms强制退出{ired_delay_10us(1);time_cnt--;if(time_cnt0)return;}for(i0;i4;i)//循环4次读取4个字节数据{for(j0;j8;j)//循环8次读取每位数据即一个字节{time_cnt600;while((IRED0)time_cnt)//等待数据1或0前面的0.56ms结束若超过6ms强制退出{ired_delay_10us(1);time_cnt--;if(time_cnt0)return;}time_cnt20;while(IRED)//等待数据1或0后面的高电平结束若超过2ms强制退出{ired_delay_10us(10);//约0.1msired_high_time;if(ired_high_time20)return;}gired_data[i]1;//先读取的为低位然后是高位if(ired_high_time8)//如果高电平时间大于0.8ms数据则为1否则为0gired_data[i]|0x80;ired_high_time0;//重新清零等待下一次计算时间}}}if(gired_data[2]!~gired_data[3])//校验控制码与反码错误则返回{for(i0;i4;i)gired_data[i]0;return;}else{ired_data_flag1;//获取到数据帧}}}3、mian.c#includereg52.h#includeLCD1602.h#includeired.hunsignedcharAddress0;unsignedcharCommand0;unsignedcharNum0;voidmain(){LCD_Init();LCD_ShowString(1,1,ADDR CMD NUM);LCD_ShowString(2,1,00 00 000);ired_init();//红外初始化while(1){if(get_data_flag()){Addressgired_data[0];//获取遥控器地址码Commandgired_data[2];//获取遥控器命令码LCD_ShowHexNum(2,1,Address,2);//显示遥控器地址码LCD_ShowHexNum(2,7,Command,2);//显示遥控器命令码if(CommandIR_VOL_MINUS)//如果遥控器VOL-按键按下{Num--;//Num自减}if(CommandIR_VOL_ADD)//如果遥控器VOL按键按下{Num;//Num自增}LCD_ShowNum(2,12,Num,3);//显示Num}}}4、实例现象
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

免费网站建设app小程序内容编辑

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个基于深度学习的OCR应用,支持多语言文本识别,包括印刷体和手写体。应用应具备图像预处理功能(如去噪、对比度增强)&#xff0…

张小明 2025/12/25 18:53:48 网站建设

写手机版网站的静态页面什么网站可以自己做房子设计图

在当今网络安全日益重要的背景下,HTTPS部署已成为Web应用上线的标配。本文将以GitHub_Trending/ba/basic项目为例,带你从零开始完成HTTPS部署的完整流程,让数据传输安全无忧。 【免费下载链接】basic ⭐⭐⭐⭐⭐ 一款开箱即用的 Vue 中后台管…

张小明 2025/12/29 22:09:55 网站建设

备案网站名称重复wordpress主题idowns

你是否曾精心设计了一张海报,发布后却发现它与网络上大量作品“似曾相识”,甚至“撞了衫”?这种尴尬的“设计撞车”,根源往往并非创意匮乏,而是掉入了主流素材库同质化的陷阱。当大家都在相同的几个热门网站寻找灵感、…

张小明 2025/12/25 18:52:09 网站建设

python做网站有什么优势襄阳南漳县城乡建设局网站

3步实现惊艳网页粒子动画:零代码也能玩转Canvas特效 【免费下载链接】particles.js A lightweight JavaScript library for creating particles 项目地址: https://gitcode.com/gh_mirrors/pa/particles.js 你是否曾想过在网页中添加那些令人惊叹的粒子动画效…

张小明 2025/12/25 18:51:37 网站建设

网站制作一般怎么收费做网站时如何上传图片

从2022年生成式AI元年的惊艳亮相,到2023年大模型的爆发式增长,再到2024年的应用落地深耕,人工智能技术历经数年迭代,于2025年站在了新的历史节点。李开复曾预判,2025年是AI-First应用爆发之际,也是大模型行…

张小明 2025/12/27 20:13:45 网站建设

西部数码网站管理助手卸载网站保障体系建设

工作流服务主机与婚礼工作流设计实践 在工作流开发中,会涉及到多个方面的内容,包括工作流服务主机的使用、应用接口的实现、配置文件的添加、LINQ冲突的解决,以及长运行工作流中补偿、确认和取消机制的设计等。下面将详细介绍这些内容。 工作流服务主机相关操作 应用接口…

张小明 2025/12/25 18:50:33 网站建设