下载此文档

NEC协议的红外遥控器驱动程序.docx


文档分类:通信/电子 | 页数:约6页 举报非法文档有奖
1/6
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/6 下载此文档
文档列表 文档介绍
697071686467072**********聽94082890668274NEC协议的红外遥控器按键对应数字一览是不是觉得红外遥控+51单片机是绝妙组合?但是在编程时才发现超级纠结?其实也没那么纠结,自己摸索摸索,总能找出办法来的。本程序占用了51单片机的定时器0以及中断1两个资源,为的是使单片机能接收到每一个红外脉冲信号,一个都不能少。如果舍不得用这两个资源,还有另一种查询的办法,就是不一定每个信号都能收到,可自己琢磨一下。需要全套NEC协议红外遥控器资料的,到网上找,到处都有,而且很全。另外,对着资料写程序如果实在写不出,可以找个示波器,把波形录下来好好研究研究。毕竟有些时候资料会过时, 只要里面有一点东西变化了, 程序就完全不一样了。这种弯路,尽量少走。本程序只是头文件,具体到应用上还要各位自己动脑筋了,希望对大家有所帮助。共同学****共同进步!/******************************************************************,主控器为 51单片机。用户码8位,分布于2-17个脉冲;按键码8位,分布于18-33个脉冲。皆为前8原码,后8反码。注意:本驱动占用51单片机的外部中断1以及定时器0两个资源,编程时注意不要再乱动这两个资源。*******************************************************************/#include<>#defineucharunsignedcharucharnec_cod[2]={0,1};//ucharnec_dat[2]={0,1};//遥控器的数据,数据0为原码,数据1为反码#defineuintunsignedintucharnec_flag=0;//nec_flag:号ucharnec_num=0;//nec_num:遥控码的标志位。0:无信号;1、2:信号采集;3、可用信红外码的序号uintnec_time=0;//nec_time:定时器的计时次数nec_time*250us遥控器的编号,编号0为原码,编号1为反码#ifndef__INF_NEC_#define__INF_NECexternvoidnec_init();externvoidnec_act();#endifvoidnec_act()//按键功能程序voidnec_init(){//外中断1及定时器0的初始化函数TMOD=(TMOD&0xf0)|0x02;//定时器0模式2,8位自动重装TH0=0x19;TL0=0x19;ET0=1;TR0=0;IT1=1;EX1=1;EA=1;////,计数230次,大概时间250us定时器0使能,先关着外部中断1使能,用来接收红外信号开总中断////{if((nec_dat[0]==~nec_dat[1])&&(nec_flag==3)){switch(nec_dat[0]){case69:break;case70:break;case71:break;case68:break;case64:break;case67:break;case7:break;case21:break;case9:break;case2

NEC协议的红外遥控器驱动程序 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数6
  • 收藏数0 收藏
  • 顶次数0
  • 上传人dlmus1
  • 文件大小64 KB
  • 时间2020-09-28
最近更新