C51 - 红外遥控NEC协议

news/2024/6/3 0:18:17 标签: 51单片机

Infrared

  • 1> 实验概述
  • 2> 红外遥控器
    • 2.1> 硬件电路
  • 3> NEC红外传输协议
    • 3.1> 5部分构成
    • 3.2> 引导码
    • 3.3> 38KHz载波长啥样?
    • 3.4> 咋表示 0 / 1;
  • 4> 红外接收
  • 5> 程序设计


1> 实验概述

通过红外遥控器,控制DAYi(51开发板),开/关灯等,并将按键信息通过串口,发送到PC端;

1


2> 红外遥控器


2.1> 硬件电路

upd6121内部框图:
2.1

参考原理图:
21
工作原理:

Step 1> 扫描键盘键盘,得到按键编码值;
Step 2> 然后,用内部产生的38KHz的载波,按照【NEC红外传输协议】键值等信息调制;
Step 3> 最后通过红外发射二极管发射出去;


3> NEC红外传输协议


3.1> 5部分构成

5部分构成:1> 引导码; 2> 客户码; 3> 客户码反码; 4> 数据码; 5> 数据码反码;
客户码,数据码, 由8bit数据组成, 先发送LSB(最低有效位);

31

时间参数:
22


3.2> 引导码

21

38KHz载波保持9ms, 低电平4.5ms;
9ms = 9000us;
9000us / 26.3 ≈ 342个载波周期;


3.3> 38KHz载波长啥样?

222


3.4> 咋表示 0 / 1;

34

通过载波间隔不同表示 0 或 1;
0: 低电平0.56ms;
1: 低电平1.69ms;
载波都是保持0.56ms = 560us;
560us / 26.3us = 21个载波周期;


4> 红外接收


5> 程序设计


http://www.niftyadmin.cn/n/316458.html

相关文章

Java内存异常和垃圾回收机制

内存溢出异常 Java会存在内存泄漏吗?请简单描述 内存泄漏是指不再被使用的对象或者变量一直被占据在内存中。理论上来说, Java是有GC垃圾回收机制 的,也就是说,不再被使用的对象,会被GC自动回收 掉,自动…

Linux下的Tomcat的安装详解--值得一看

如有错误,敬请谅解! 此文章仅为本人学习笔记,仅供参考,如有冒犯,请联系作者删除!! 目录 简述静态网页和动态网页的区别。 简述 Webl.0 和 Web2.0 的区别。 tomcat8的安装,配置服…

DCDC反馈电阻的阻值如何取值?

DCDC芯片的反馈电阻 下图为我们公司现在常用的两款DCDC芯片,TPS54335ADDA/TI和LMR14050SDDA/TI。 其中RFBT和RFBB都是反馈电阻,可以通过调节这两个电阻的比值来输出 预期电压。 FBT:feedback top&a…

数据库分区;pgAdmin操作pgsql分区;修改pgsql数据库名字

目录 分区 什么是分区 分区的优势 pgAdmin操作pgsql分区 创建父表 创建分区 数据入库分区 扩展(按天创建分区脚本) 修改数据库名字 链接 分区 什么是分区 指将一个大的表或索引分成多个小的、独立的部分,每个部分称为一个分区&#x…

消息队列中间件介绍

消息队列介绍 消息队列中间件是大型系统中的重要组件,已经逐渐成为企业系统内部通信的核心手段。它具有松耦合、异步消息、流量削峰、可靠投递、广播、流量控制、最终一致性等一系列功能,已经成为异步RPC的主要手段之一。 目前常见的消息中间件有Active…

class其实是function的语法糖,底层继承实现还是基于原型链

定义在原型上的方法与定义在构造函数内部的方法不同 function Person(name, age) {this.name name;this.age age;}Person.prototype.greet function() {console.log("Hello, my name is " this.name);};const person new Person("Alice", 25);functio…

linux如何查询某个关键字所处在哪个文件夹的哪个文件下

问题:: linux如何查询某个关键字所处在哪个文件夹的哪个文件下 或者 linux如何查询文件夹中的某个文件中的关键字 前提: 你要知道关键字是什么 原理: 在 Linux 中,可以使用 grep 命令来查询文件夹中的某个文件中的关键字。 grep 命令的…

Linux命令易混淆(看到新知识点就更新)

DNS相关 在Linux操作系统中,TCP/IP网络是通过若干个文本文件进行配置的。系统在启动时通过读取一组有关网络配置的文件和脚本参数内容,来实现网络接口的初始化和控制过程,这些文件和脚本大多数位于/etc目录下。 Linux下配置dns的三种方法 1…