1 / 5
文档名称:

NEC编码遥控器红外接收M8-串口输出.doc

格式:doc   页数:5页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

NEC编码遥控器红外接收M8-串口输出.doc

上传人:xxj16588 2016/6/17 文件大小:0 KB

下载得到文件列表

NEC编码遥控器红外接收M8-串口输出.doc

文档介绍

文档介绍:NEC 编码遥控器红外接收 M8- 串口输出/***************************************************** This program was produced by the CodeWizardAVR Standard Date : 2013-09-05 yantai 孙鹏程 Chip type : ATmega8L Clock frequency : MHz 采用外部中断 INT 0 检测红外 0038 接收头的数据,低电平启动,使用内部 1M 晶振发码时序为: 由一个 9ms 的低电平( 起始码) 和一个 4. 5ms 的高电平( 结果码) 组成, 作为接受数据的准备脉冲。以脉宽为 0. 56ms 、周期为 1. 12ms 的组合表示二进制的“0”; 以脉宽为 1. 68ms 、周期为 2. 24ms 的组合表示二进制的“1”。如果按键按下超过 108ms 仍未松开, 接下来发射的代码( 连发代码) 将仅由起始码(9ms) 和结束码(2. 5ms) 组成。*****************************************************/ #include <> #include <> #include <> unsigned char date[4]; //date 数组为存放红外数据原码,反码 unsigned char i,j,k; //********************* 十六进制转 ASCII 函数*************************/ unsigned char HEX2ASCII(unsigned char dat) { dat &= 0x0f; if(dat <= 9) return (dat + '0'); // 数字 0~9 return (dat - 10+ 'A'); // 字母 A~F } //********************************************************* **********/ //****************** 红外接收程序************************* // 红外接收程序,利用 INT0 来处理理,有 9 毫秒低信号开始码进入中断// 先开始延时处理 9 毫秒低电平和 毫秒高电平开始码//********************************************************* interrupt [EXT_INT0] void ext_int0_isr(void) { #asm("cli") // 关中断 j=k=0; // 先处理开始码延时,延时 9 毫秒低电平, 毫秒高电平 while(==0 && j<14){delay_ms(1);j++;} // 确认 IR信号出现,小于 9MS 前导信号则为误接收 if(j>7 && j<14) // 如果起始码足够大{ while(==1 && j<14){delay_ms(1);k++;} //等 IR 变为低电平,跳过 的前导信号 if(k>3 &