红外解码显示在数码管上(Infrared decoding is displayed on the digital tube).doc

红外解码显示在数码管上(Infrared decoding is displayed on the digital tube).doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
红外解码显示在数码管上(Infrared decoding is displayed on the digital tube)

红外解码显示在数码管上(Infrared decoding is displayed on the digital tube) / *************************************************************************** 标题:NEC红外线接收实验引用延时 效果:运行程序,按遥控器按键,在数码管上显示相应的地址码-控制码(以16进制显示) 分两段,前段是地址码,后段为控制码,用点隔开,显示两字节,忽略反码 工作于:ly5a-l2a开发板 作者:林洋电子吧 网站: ****************************************************************************** / #包括 reg51. H / / IO引脚定义: 公司smg_q = P1 ^ 0;/ /定义数码管阳级控制脚(千位) 公司smg_b = P1 ^ 1;/ /定义数码管阳级控制脚(百位) 公司smg_s = P1 ^ 2;/ /定义数码管阳级控制脚(十位) 公司smg_g = P1 ^ 3;/ /定义数码管阳级控制脚(个位) / ********数据定义************************************************************* / 公司hwx P3 ^ = 3;//红外接收数据引脚, 编码字符表[ ] = { 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90, 0x88,0x8c,0xc6,0xa1,0x86,0x8e };//共阳数码管段值表0-9 A-F unsigned char ly_disdate [ 4 ] = { 0,0,0,0 };//显示缓冲 unsigned char ly_lhj [ 4 ];//保存NEC的四个字节数据 unsigned char ly_ct = 0; 点ly_flag = 1;//成功接收标志 / /函数声明: 无效display();/ /定义显示函数,直接显示缓冲区数值 无效延迟(空); delay100us虚空(void); / ***********主函数开始******************************************************** / 1 / ***********外中断入口函数,P33引脚,红外线接收IC数据脚************************** / hongwai虚空(void)中断2 { 无符号字符; / **************开始判断是否为NEC波形引导码的前9ms和后4.5ms ****************************** / ly_ct = 0;//计数时间清0 而(!hwx) delay100us();/ /调用0.1ms延时计数,ly_ct每调用一次加1 如果(ly_ct<80 | | ly_ct 100)/ NEC引导码前9ms,ly_ct约等于90,给个误差值,用80-100之间来判断 返回; ly_ct = 0; 而(hwx){ delay100us(); 如果(ly_ct 50)/ NEC引导码引导码的后4.5ms,ly_ct约45 返回; } 如果(ly_ct<40)/ NEC引导码引导码的后4.5ms,ly_ct约45 返回; / ***********开始接收四个字节内容************************************** / 为(i = 0;i 4); + +){ 对于(IA = 0;IA 8); 而(!hwx);/ /低电平开始,不处理只等待高电平接收 ly_ct = 0; 而(hwx){ //高电平开始, delay100us(); 如果(ly_ct 20) 返回; } / /高电平结束,判断数据1或0向变量移入 ly_lhj [我] = 1;//数据由高位移入低位 如果(ly_ct 10)/时间量Th1高于10,即高于1ms判断为1 ly_lhj [我] | = 0x80; } } ly_flag = 1;//接收成功 TF1 = 0; } / /显示函数,参数为显示内容,只显示两位数 无效display() { smg_q = 0;//选择千位数码管 P0 =表[ ly_disdate [ 0 ] ];// delay();/ / P0 = 0xff;/ / smg_q = 1;// smg_b = 0;//选择百位数码管 P0 =表[ ly_disdate [ 1 ] ] | 0x80;/ /加上小数点 delay();/ /延时 P0 =

文档评论(0)

jgx3536 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档