STM32单片机以NEC协议实现红外遥控设计_第1页
STM32单片机以NEC协议实现红外遥控设计_第2页
STM32单片机以NEC协议实现红外遥控设计_第3页
STM32单片机以NEC协议实现红外遥控设计_第4页
全文预览已结束

付费下载

下载本文档

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

文档简介

STM32单片机以NEC协议实现红外遥控设计红外的介绍、优点、缺点就不给大家说了,进入正题一、红外遥控协议的的讲解红外遥控的编码目前广泛使用的是:NECProtocol的PWM(脉冲宽度调制)和PhilipsRC-5Protocol的PPM(脉冲位置调制)本文将以NEC协议实现红外遥控。NEC协议的特征:1、8位地址和8位指令长度;2、地址和命令两次传输;(确保可靠性)3、PWM脉冲宽度调制,以发射红外载波的占空比代表“0”和“1”;4、载波频率为38KHz5、位时间为1.125ms和2.25msNEC码位的定义:一个脉冲对应560us的连续载波,一个逻辑1传输需要2.25ms(560us脉冲+1680us低电平),一个逻辑0的传输需要1.125ms(560us脉冲+560us低电平)。而遥控接收头在收到脉冲时为低电平,在没有收到脉冲时为高电平,因此,我们在接收头端收到的信号为:逻辑1应该是560us低+1680us高,逻辑0应该是560us低+560us高。如下图:NEC遥控指令的数据格式为:同步码头(引导码)+地址码+地址反码+控制码+控制反码。同步码是由一个9ms的低电平和一个4.5ms的高电平组成,地址码、地址反码、控制码、控制反码均为8位数据格式。按照高位在前低位在后的顺序发送。采用反码是为了增加传输的可靠性(可用于校验)。下图是我们按下按键2时,从红外接收头端测到的波形:在图中可以看到,在100ms之后,我们还收到了几个脉冲,这是NEC码规定的连发码(由9ms低电平+2.5ms高电平+0.56ms低电平和97.94ms高电平组成),如果在一帧数据发送完后,按键仍没有松开,则发送重复码(连发码),可以通过统计连发码的次数来标记按键按下的长短/次数。二、解码程序解析(参考正点原子的代码)在正点原子的代码中是利用定时器的输入捕获功能来实现遥控解码的,下面解析一下关键代码:在该实验remote.h文件中,定义了3个函数:Remote_Init();、TIM4_IRQHandler();、Remote_Scan();。1、Remote_Init();这里要注意中断优先级,定时器4的两个中断,溢出(更新)中断,捕获事件中断的优先级是一样的。意思就是,他两谁也不能打断谁,例如A在执行时,B就不会产生中断。这里很重要,很重要,很重要!2、TIM4_IRQHandler();注意:遥控器发过来的码都是编好的,比如想破解遥控器编码,

温馨提示

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

评论

0/150

提交评论