NEC制式红外线解码程序

发布者:BlossomWhisper最新更新时间:2012-09-15 来源: 51hei关键字:NEC制  红外线  解码程序 手机看文章 扫描二维码
随时随地手机看文章

此程序在STC89C52上实验通过!
晶振11.05926,
占用资源,外部中断1,
LCD1602,显示解码!
串口通讯波特率4800KBS;
闫伟东,提示,在中端中不可以用while(p3_2);
否则,不能顺利跳出终端!

#include 
#include "LCD.h"

#define uchar  unsigned char 
#define uint unsigned int  

//void Delay(unsigned int i);
void chuangkou(void);
void unint0 (void);
void senddata(unsigned char outdata);
unsigned char yandata[]=
 {
 '0',
 '1',
 '2',
 '3',
 '4',
 '5',
 '6',
 '7',
 '8',
 '9',
 'A',
 'B',
 'C',
 'D',
 'E',
 'F'
 };
unsigned char Iid[4]={0,0,0,0};
void main(void)
{ 
 LCD1602();
 Init_Lcd();
 unint0();
 chuangkou();
 
 P3_2=1; 
 senddata('1');
  while(1)
 {
  Display_LCD_Byte(0,0,'I');
  Display_LCD_Byte(0,1,'D');
  Display_LCD_Byte(0,2,':');
  Display_LCD_Byte(0,5,'0');
  Display_LCD_Byte(0,6,'X');

     Display_LCD_Byte(0,7,yandata[ Iid[0] / 16] );
  Display_LCD_Byte(0,8,yandata[ Iid[0] % 16] );

  Display_LCD_Byte(1,0,'D');
  Display_LCD_Byte(1,1,'A');
  Display_LCD_Byte(1,2,'T');
  Display_LCD_Byte(1,3,'A');
  Display_LCD_Byte(1,4,':');
  Display_LCD_Byte(1,5,'0');
  Display_LCD_Byte(1,6,'X');
  
  Display_LCD_Byte(1,7,yandata[ Iid[2] / 16] );
  Display_LCD_Byte(1,8,yandata[ Iid[2] % 16] );

 }
} 

/*void Delay(unsigned int i)
{
 while(-- i);
}*/

void chuangkou(void)
 {
 TMOD = 0X20;// JI SHU QI 1
 TH1=0XFA; //11.0592, 4800KPS
 TL1 =0XFA;
 TR1=1;  //QI DONG  
 SCON=0X50; //
 PCON=0X00; //BU JIA BEI
 }
void unint0 (void)
 {
 EA=1;
 EX0=1;
 IT0=1;
 }
void senddata(unsigned char outdata)
 {
 SBUF=outdata;
 while(!TI);
 TI=0; 
 }
void INT_0() interrupt 0 using 1
{
 unsigned char id[4]={0,0,0,0};
 unsigned char cishu0,cishu1,cishu2;
 EX0=0;
 for(cishu0=0;cishu0<10;cishu0++)
 {
 Delay(100);
 if(P3_2) goto exit;
 }
 if(!P3_2)
 {
 Delay(534);
 }
 while(!P3_2);//等待高电平 gou qu
 for(cishu1=0;cishu1< 4 ; cishu1 ++)
 {
 for(cishu2=0;cishu2 < 8 ; cishu2 ++)
 {
 while(!P3_2);//等待该gao电平开始延时,判断高低
 Delay(90);
 if(P3_2)
  {
   id[cishu1]|= 0x01 << cishu2;
  Delay(100);
  //while(P3_2);在解码时千万不要有这样的口令
  }
/* else
  {
  id[cishu1]&= 0xfe << cishu2;
  }*/
 }
 }
 if(id[0]!=~id[1]) goto exit;
 if(id[0]!=0x02) goto exit;
 if(id[2]!=~id[3]) goto exit;
 senddata(id[0]);
// senddata(id[1]);
 senddata(id[2]);//数据码
// senddata(id[3]);//数据码饭吗
 for(cishu0=0;cishu0<200;cishu0++)
 {
 P2_0=~P2_0;
 Delay(50);
 }
 Iid[0]=id[0];
 Iid[2]=id[2];   
exit:
// while(!P3_2);
 EX0=1;
}
关键字:NEC制  红外线  解码程序 引用地址:NEC制式红外线解码程序

上一篇:单片机控制松下伺服电机正反转程
下一篇:基于HD7279和51单片机的计算器

推荐阅读最新更新时间:2024-03-16 13:08

单片机控制系统的红外线遥控器接口介绍
  给 单片机 控制系统加两个红外线遥控接口,用手持红外 遥控器 来辅助或代替键盘的操作,给使用者带来了极大的方便。本节根据我们的实际开发经验,介绍红外线遥控发射接收芯片BA5048和BA5050的性能及其与51系列单片机系统的接口 电路 ,给出软件识别键码的方法和汇编子程序。      1. 36.1 红外线遥控发射接收芯片BA5048和BA5050的特性      BA5048和BA5050是配对使用的红外线遥控发射接收芯片。BA5048是发射器,采用 CMOS 结构,功耗极低,工作 电压 范围宽(1.5~5.O V);内置振荡电路,外围电路也极为简单;具有18种功能及75种指令;可以单键触发、多键触发(最高达6键)。 B
[单片机]
单片机控制系统的<font color='red'>红外线</font>遥控器接口介绍
用单片机控制红外线通信接口电路设计
0 前言   热误差是数控机床的最大误差源,数控机床的温度测试为机床热误差的补偿提供依据。传统的测温方案是将模拟信号通过电缆远距离传输至数据采集卡进行A/D转换并处理,实用中必须解决长线传输和模拟量传感器布线等问题。本文介绍了一种新型的设计方案,控制器采用SAMSUNG公司的32位ARM微控制器S3C44BOX,温度传感器采用单总线数字温度传感器DS18B20。采用数字温度传感器即在测试点完成了信号的数字化,提高了传输的可靠性,同时简化了外围电路,也便于传感器在机床上的布置安装。ARM处理器控制数字温度信号的采集,并与上位PC机通讯,同时其他硬件资源提供热补偿系统其他功能。本文在介绍数字温度传感器DS18B20的基础上,给出了系统
[工业控制]
用单片机控制<font color='red'>红外线</font>通信接口电路设计
红外线遥控码单片机测试程序
以前在仕创时,总是奇怪 周工为什么可以编出一个能测试任何遥控的遥控码 和用户码的单片机程序!周工还将此程序视为宝贝,每次测试完都将那只已经烧录好的单片机拿回去!!在这几年 本人也接触单片机,尝试写出测试遥控码的程序!!但只是能测试出遥控码 并未能测试出用户码!!!所以当时周工还是相当厉害的!! 下面放出刚刚编录完成的程序,暂时只能测试遥控码!! 下载地址: http://www.51hei.com/f/hw51d.rar 测试遥控码(家里电视机待机按键遥控码): 程序是由C语言编写,单片机使用AT89C52 下面是程序: #include reg51.h #include intrins.h #
[单片机]
<font color='red'>红外线</font>遥控码单片机测试<font color='red'>程序</font>
89S51单片机PT2221红外解码汇编程序
;******************************************************* ;name: PT2221红外解码V1.0 ;device: pt2221红外编码+89S51单片机解码+红外一体化接收头 ;Copyright (c) 2007-2008 张兴电子设计工作室技术开发部 ;author: 张兴 ;web: http://mcu.5d6d.com ;date: 2007.7.4---14:44 ;description: PT2221发送的红外编码最前面为13.5ms的引导码,而后为32位的数据,32位数据的前16位为用户码, ;用于区别各个厂家的遥控器的不同,而后16位为数据码,分前8
[单片机]
红外线数据标准协会(IrDA)简介
IrDA是Infrared Data Association的英文缩写,即红外线数据标准协会,成立于1993年。是个致力于建立无线传播连接的国际标准非营利性组织。目前在全球拥有160个会员,参与的厂商包括计算机及通信硬件、软件及电信公司等。 ——简单地讲,IrDA是一种利用红外线进行点对点通信的技术,其相应的软件和硬件技术都已比较成熟。它在技术上的主要优点有: ——*无需专门申请特定频率的使用执照,这一点,在当前频率资源匮乏,频道使用费用增加的背景下是非常重要的。 ——*具有移动通信设备所必需的体积小、功率低的特点。HP公司目前已推出结合模块应用的约从2.5×8.0×2.9立方毫米到5.3×13.0×3.8立方毫米的专用器件
[模拟电子]
PIC12F629解码PT2262IR(asm程序
这段程序是用在一款七彩灯红外遥控解码程序里,单片机使用PIC12F629,软件模拟三路PWM输出驱动红绿蓝LED分八组共24个LED,实现单LED渐明渐暗,两LED一明一暗,七彩等九种花样.有断电记忆功能.如下是解码程序. ;-------------------------------------------------------- ;filename: 24LED_Remote.asm ; mcu: PIC12f629 ; clock: 4 MHz for INTRC ; date: 2006/02/25 ; writer: aLin ; IC type: PT2262IR ; Rosc: 470K ;-----
[单片机]
一种汽车防撞红外线测距系统的方案设计
1 引言   随着经济的发展,交通运输业日益繁荣,但由于道路状态、交通管理等硬件难以跟上,加上驾驶超车、出车开小差、错误估计车距等主观的原理,使相互碰撞的交通事故频频发生。解决这个问题的根本措施在于给行进中的汽车安装能自动跟踪测距,在危险距离内自动刹车的装置。   由于电子技术的发展,先后出现了 激光 测距、微波雷达测距、超声波测距及红外线测距。其中激光测距是靠激光束照射在前车上的反射镜(汽车尾部)反射回来的激光束探测两车距离。由于受恶劣的天气、汽车激烈的振动,反射镜表面磨损,污染等因素影响,使反射的激光束在一定 功率 上探测距离比可能探测的最大距离减少1/2~1/3,损失很大,影响探测的精确度;微波雷达测距技术为军事和某些工业
[单片机]
一种汽车防撞<font color='red'>红外线</font>测距系统的方案设计
基于单片机系统的红外遥控器应用
  红外遥控器由于其体积小、功耗低、功能强、成本低的特点,已经在家电产品设备中广泛应用。现代智能化仪器仪表系统、工业设备中的控制输入也较多地使用红外遥控器。本文给出红外遥控器信号发射原理、红外接收器的连接方式和单片机软件解码应用程序,并提供了一种对未知格式的遥控器信号码检测的应用程序。 1 红外遥控器信号发射原理简介   通用红外发射器由指令键、指令信号产生电路、调制电路、驱动电路及红外发射器组成。如图1所示。 遥控器所产生的脉冲编码的格式一般为:   引导脉冲(头) ─ 识别码(用户码) ─ 键码 ─ 键码的反码   其引导脉冲为宽度是10 ms左右的一个高脉冲和一个低脉冲的组合,用来标识指令码的开始。识别码、键
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved