红外遥控解码实验:基于NEC协议的51单片机实现

需积分: 1 1 下载量 3 浏览量 更新于2024-09-14 收藏 883KB PDF 举报
"红外遥控的实验" 这篇文档主要介绍了红外遥控技术的基础知识,包括红外编码原理、解码原理,以及具体解码环境和实现过程。红外遥控器广泛应用于各种家用电器和电子设备中,通过无线通信传递控制指令。 1. **红外编码原理** - **协议种类**:红外线信号传输协议有很多种,例如ITT、NEC、Nokia NRC、Sharp、Philips RC-5、RC-6、RECS-80和Sony SIRC等。 - **协议组成**:通常包含引导码、用户码(地址码)、数据码、重复码或数据码的反码以及结束码。 - **载波频率**:常见的载波频率有33K、36K、36.6K、38K、40K、56K,还有无载波的情况。 - **占空比**:常见比例有1/3、1/2,较少使用1/4。 - **调制方式**:主要采用脉宽调制、相位调制和脉冲位置调制。 2. **红外解码原理** - **解码环境**:本次实验选择了基于51单片机、使用C51编程语言的NEC协议进行解码,该协议的编码是通过38K载波调制的。 - **解码流程**:解码过程中,首先要识别引导码,然后解析用户码和数据码,其中NEC编码的引导码由9ms的载波和4.5ms的关断时间组成。 3. **NEC编码方式** - **结构**:NEC编码包含16bit的用户码(地址码)和8bit的命令码(数据码),以及其反码。 - **用户码**:16bit分为高低两部分,低8位在前,高8位在后。 - **命令码**:8bit的数据码,以及其反码用于校验。 4. **解码环境** - **硬件**:实验中使用了SST89E58RD单片机开发板和HX1838型红外接收头,后者包括外形尺寸和引脚排列的描述,以及应用电路图中的电阻、电容等元件。 - **软件**:采用了Keil uVision2集成开发环境,以及C51编程语言。C51是针对51系列单片机优化的C语言,具备结构化、高效、易读、易维护等特性,适用于嵌入式系统开发。 5. **解码实现** - **程序结构**:使用定时器每隔20us触发一次中断,检测是否有红外信号。具体的程序结构框图和源代码未在此处给出,但可以推断会涉及到信号的捕获、解码逻辑和中断处理。 这篇文档提供了一个红外遥控解码的初步框架,对于理解红外遥控技术的基本概念和实现步骤有着重要的指导意义。然而,实际的解码程序代码和详细分析并未完全展开,需要进一步研究文档的后续部分或者参考其他相关文献来获取完整信息。