要求
1、在LCD1602上显示发送红外信号的设备的地址编号
2、在LCD1602上显示红外信号命令
3、通过红外信号命令修改Num,并在LCD1602上显示
资料
遥控对应命令键码
数据帧描述
模块编写提示
效果
资源
工程文件压缩包
链接:https://pan.baidu.com/s/1HPtTadBWsLAukKR86ATvhA
提取码:xbfr
main函数
#include <REGX52.H>
#include "LCD1602.h"
#include "IR.h"
unsigned char Num;
unsigned char Address;
unsigned char Command;
void main()
{
LCD_Init();
LCD_ShowString(1,1,"ADDR CMD NUM");
LCD_ShowString(2,1,"00 00 000");
IR_Init();
while(1)
{
if(IR_GetDataFlag() || IR_GetRepeatFlag()) //如果收到数据帧或者收到连发帧
{
Address=IR_GetAddress(); //获取遥控器地址码
Command=IR_GetCommand(); //获取遥控器命令码
LCD_ShowHexNum(2,1,Address,2); //显示遥控器地址码
LCD_ShowHexNum(2,7,Command,2); //显示遥控器命令码
if(Command==IR_VOL_MINUS) //如果遥控器VOL-按键按下
{
Num--; //Num自减
}
if(Command==IR_VOL_ADD) //如果遥控器VOL+按键按下
{
Num++; //Num自增
}
LCD_ShowNum(2,12,Num,3); //显示Num
}
}
}