欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    NEC协议的红外遥控程序(任意IO口)(共5页).doc

    • 资源ID:13699993       资源大小:63KB        全文页数:5页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    NEC协议的红外遥控程序(任意IO口)(共5页).doc

    精选优质文档-倾情为你奉上/*NEC_INF_S.h用于NEC协议的遥控器与51单片机结合的驱动程序,可用任意IO口,不占用中断资源。用户码8位,分布于2-17个脉冲;按键码8位,分布于18-33个脉冲。皆为前8原码,后8反码,并且接收数据时低位在前,高位在后。主控器为51单片机,晶振频率为11.0592MHz。注意:由于未用中断,所以信号的接收是靠查询方式的,可能会漏掉若干次红外信号。*/#include<reg52.h>#define uchar unsigned char#define uint unsigned int#define N 5000/用于在while()中循环时超时跳出的数的上限,可小刀sbit nec_dat=P33;/任意IO口,用到哪个自己改哪个uchar nec_id2=0;/遥控器的编码号,第一个为原码,第二个为反码uchar nec_data2=0;/遥控器的命令号,第一个为原码,第二个为反码uchar nec_status=0;/遥控器的按键状态信息。0:无按键;1:一次按键;2:连续按键uchar nec_actflag=0;/用于带到主函数里的按键响应标志。0:不动作;1:动作#ifndef NEC_INF_S_h#define NEC_INF_S_hvoid nec_init();/初始化函数,注意一定要拉高,拉低就错误了void nec_delay();/延时0.8ms左右,要求要非常精确,这是正确读数的关键void nec_pulsedat();/读第2到第32个脉冲,第一个脉冲已判定void nec_getdat();/扫描式读遥控器的数据,可能有时会扫描不到#endifvoid nec_init()/初始化函数,注意一定要拉高,拉低就错误了nec_dat=1;void nec_delay()/延时0.8ms左右,要求要非常精确,这是正确读数的关键uchar i;for(i=0;i<245;i+);/*void nec_act()/按键响应程序,根据自己需要写nec_getdat();/先扫描一遍红外信号if(nec_actflag=1)/如果是正确的红外信号才处理,否则跳过if(nec_data0=nec_data1)/验证所接收数据是否正确switch(nec_data0)/自己写所需要的程序段case 69:/*点亮二极管,让蜂鸣器发声,什么都行,写在这里*/ break;case 70: /*以下都一样,对应的遥控器按键见图1-1*/ break;case 71: break;case 68:break;case 64:break;case 67:break;case 7:break;case 21:break;case 9:break;case 22:break;case 25:break;case 13:break;case 12:break;case 24:break;case 94:break;case 8:break;case 28:break;case 90:break;case 66:break;case 82:break;case 74:break;nec_actflag=0;*/void nec_pulsedat()/读第2到第32个脉冲,第一个脉冲已判定uchar i=0;uint num=0;for(i=1;i<32;i+)num=0;while(nec_dat=0)&&(num<N)num+;nec_delay();if(nec_dat=1)if(i>=1)&&(i<=7)nec_id0=nec_id0|(0x01<<i);if(i>=8)&&(i<=15)nec_id1=nec_id1|(0x01<<(i-8);if(i>=16)&&(i<=23)nec_data0=nec_data0|(0x01<<(i-16);if(i>=24)&&(i<=31)nec_data1=nec_data1|(0x01<<(i-24);num=0;while(nec_dat=1)&&(num<N)num+;elseif(i>=1)&&(i<=7)nec_id0=nec_id0&(0x01<<i);if(i>=8)&&(i<=15)nec_id1=nec_id1&(0x01<<i-8);if(i>=16)&&(i<=23)nec_data0=nec_data0&(0x01<<i-16);if(i>=24)&&(i<=31)nec_data1=nec_data1&(0x01<<i-24);void nec_getdat()/扫描式读遥控器的数据,可能有时会扫描不到uint num=0;if(nec_dat=1)num=0;while(nec_dat=1)&&(num<N)num+;nec_delay();if(nec_dat=0)nec_delay();if(nec_dat=0)nec_delay();if(nec_dat=0)nec_delay();if(nec_dat=0)nec_status=1;num=0;while(nec_dat=0)&&(num<N)num+;num=0;while(nec_dat=1)&&(num<N)num+;if(nec_status=1)num=0;while(nec_dat=0)&&(num<N)num+;nec_delay();if(nec_dat=1)nec_delay();nec_delay();nec_delay();if(nec_dat=1)nec_status=2;else nec_id0=0x01;nec_pulsedat();elsenec_id0=0x00;nec_pulsedat();nec_actflag=1;/一次按键的响应程序if(nec_status=2)/持续按键的响应程序nec_status=0;/必须归零,非常重要图1-1 红外遥控器按键对应的接收码 图1-2 本程序使用的遥控器注意:本程序适用于NEC协议的红外遥控器,但是每一款遥控器的按键码可能不同,需要自己找到自己手头上遥控器的按键码资料来对程序进行改动。本程序没有占用单片机的中断资源,但是直接导致的问题就是单片机不一定能接收到每次遥控器发来的信号,即其相应的灵敏度大打折扣了,不过对于一般小程序来说妨碍不大,建议在较大的程序中或者遥控部分非常重要的程序中使用带中断的红外驱动。记得把nec_act();这个函数放在主函数中的大循环中,要不断查询才能接收到红外信号的。专心-专注-专业

    注意事项

    本文(NEC协议的红外遥控程序(任意IO口)(共5页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开