红外线通信技术适合于低成本,跨平台,点对点高速数据连接,尤其是嵌入式系统。经外线技术的主要应用:设备互联,信息网关。设备互联后可完成不同设备内文件与信息的交换。信息网关负责连接信息终端和互联网。红外通信技术已经被全球范围内的众多软硬件厂商所支持与采用。目前主流的软件和硬件平台均提供对它的支持。
推出NB9148
电路图(NB9148红外遥控发射器电路)
程序
******************************************************************************
主程序功能是接收NB9148发射的红外脉冲命令,根据命令代码执行相应的功能子程序。
程序给出的是单个按键按下时,红外接收端程序的主体结构。如果涉及到第一列多个按键的组合,可以通过预先建立功能表格的方法,通过查表实现多个按键同时按下的识别。这就需要读者自行对程序进行修改完成。
#include <reg51.h> // 引用标准库的头文件
#include <absacc.h>
#include <stdio.h>
#include <math.h>
#define uchar unsigned char
#define uint unsigned int
define DHP XBYTE [0x7fff]
define DSP XBYTE [0xffff]
/* 主程序 */
void main(void)
{
It0=1; 外部中断0下降沿触发
EA = 1; 开中断总开关
EX0 = 1; // 打开外部0中断
/* 开始无限循环,等待中断到来 */
while (1)
{;}
}
/* 外部0中断 */
void int0() interrupt 0 using 0
{
uchar temp
EX0 = 0; // 关闭外部0中断
temp=DHP; //读取端口1状态
switch(temp); //按键判断
{
case 0x01: { ; }; break; //HP1
case0x10: { ; }; break; //HP2
case0x20: { ; }; break; //HP3
case0x40: { ; }; break; //HP4
case0x80: { ; }; break; //HP5
default break;
}
temp=DSP; 读取端口2状态
switch(temp);
{
case 0x01: { ; }; break; //SP1
case0x10: { ; }; break; //SP2
case0x20: { ; }; break; //SP3
case0x40: { ; }; break; //SP4
case0x80: { ; }; break; //SP5
default break;
}
EX0 = 1; // 打开外部0中断
return;
} |