使用PIC微控制器实现NEC红外遥控接收

需积分: 9 8 下载量 27 浏览量 更新于2024-09-08 收藏 14KB TXT 举报
"使用PIC微控制器实现红外线遥控接收" 在红外线遥控系统中,使用PIC微控制器(如Microchip Technology的PIC系列)是一种常见的方法。本文将探讨如何利用PIC微控制器设计一个能够接收NEC协议红外遥控信号的系统。 NEC红外遥控协议是一种广泛应用的家电遥控标准,它采用脉冲宽度调制(PWM)编码方式,包含高电平和低电平的不同长度来表示数据位。每个数据位由一个9ms的前导脉冲和4.5ms的后继脉冲组成,其中高电平表示1,低电平表示0。数据传输是异步的,每个数据包由32位组成,包括1个起始位、16位地址码、8位命令码以及3个校验位。 在使用PIC微控制器实现红外遥控接收时,首先需要配置微控制器的输入引脚(如PORTA的0号引脚)以检测红外接收传感器输出的信号。当检测到信号变化时,程序会进入解析阶段。这里使用了循环等待的延时函数来实现精确的时间间隔控制,例如,使用了一个5ms的延时函数(LOOP4和LOOP5)来匹配NEC协议中的5ms间隔。 在接收过程中,一旦检测到前导脉冲(9ms高电平),程序会进入数据位的解析阶段。通过不断地检测高电平和低电平的持续时间,可以判断当前接收的是0还是1。例如,使用了两个不同的循环(STEP1和STEP2)分别对应4.5ms的高电平和低电平,从而识别数据位。此外,为了确保信号的准确性,还会有一个0.9ms的等待时间(WAITNOP和NOP)用于处理潜在的噪声干扰。 在数据解析完成后,接收到的数据会被存储在特定的寄存器中,如ADD8L和ADD8H存储地址码,DAT8L和DAT8H存储命令码。最后,根据NEC协议的校验机制,对数据进行校验,确保接收到的数据是有效的。 用PIC做红外线遥控接收涉及的关键知识点包括:NEC红外遥控协议的结构和编码规则、PIC微控制器的输入/输出配置、中断处理、精确时间延迟的实现以及数据解析和校验。通过这样的设计,可以构建一个能够可靠接收并解码NEC红外遥控信号的系统。