自己写的51单片机的红外线遥控接收程序(C语言)

(6页)

本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!

11.90 积分

//51单片机做的红外遥控实验(C语言)#include#define u8 unsigned char #define u16 unsigned int#define ID 0x00 //本遥控器的ID号sbit ir=P3^3;code u8 seg[]={0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90}; //0-9的段码code u8 s[]={1,0x40,0x48,0x04,0x02,0x05,0x54,0x0A,0x1E,0x0E};u8 buf[4];bit ir_f=0;u8 nu;void delay(u16 x){ while(x--); }void show(u16 x) { u8 i=0,k=0; u8 s[4]; kk: s[i]=x; if((x/10)>=1) { x=x/10; i++; goto kk; } k=i+1; for(i=0;i>i); delay(300); P0=0XFF; P2=0XFF; } } void timer0_init() {TH0=0;TL0=0;TMOD|=0x01;TR0=0; }u16 low_test() { u16 t; TR0=1; while((ir==0)&&((TH0&0X80)!=0X80)); TR0=0; t=TH0; t<<=8; t|=TL0; TH0=0; TL0=0; //t=(TH*256+TL0);//机器周期数 return t; }u16 high_test() { u16 t; TR0=1; while((ir==1)&&((TH0&0X80)!=0X80)); TR0=0; t=TH0; t<<=8; t|=TL0; TH0=0; TL0=0; return t; }/*u16 time_test(bit x) { }*/u8 receive_8bit() { u8 d,i; u16 t; for(i=0;i<8;i++) { t=low_test(); t=high_test(); d>>=1; if((t>=2750)&&(t<=3100)) { d|=0x80; } } return d; }void ir_decode() { u16 t; u8 i; if(ir==0)//有遥控信号 { t=low_test();//8295-9000us,倍频的是16590-18000 if((t>=14500)&&(t<=18000))//检查引导码低电平时间 { t=high_test(); if((t>=8000)&&(t<=9000))//检查高电平 { for(i=0;i<4;i++) { buf[i]=receive_8bit(); } if(buf[0]==(~buf[1]))//检查系统码是否正确 { if(buf[0]==ID) { if(buf[2]==(~buf[3])) { //具体按键处理 ir_f=1; //遥控有效 } } } } } } }/*void key() { if(buf[2]==0x40) { P1^=(1<<0); } if(buf[2]==0x48) { P1^=(1<<1); } }*/void ir_execuse() { if(ir_f==1) { switch(buf[2]) { case 0x40:P1^=(1<<0);break; case 0x48:P1^=(1<<1);break; case 0x04:P1^=(1<<2);break; case 0x02:P1^=(1<<3);break; case 0x05:P1^=(1<<4);break; case 0x54:P1^=(1<<5);break; case 0x0A:P1^=(1<<6);break; case 0x1E:P1^=(1<<7);break; } ir_f=0; } }void show_d() { u8 j; for(j=0;j<10;j++) 关 键 词: 自己 51 单片机 红外线 遥控 接收 程序 语言

 天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

关于本文

单片机红外线c语言,自己写的51单片机的红外线遥控接收程序(C语言)相关推荐

  1. 单片机发射红外c语言程序,STC单片机51简单的红外遥控发射程序C语言

    /*功能说明:红外发射,用于遥控复制或自制发射器*/ //这里采用1T周期的stc15w102单片机,烧录时晶振选33,要在精准选外部晶振的芯片 #include #include #include ...

  2. C语言极速学习开发——51单片机入门编程之使用KeilC51进行代码编译(点亮你心中学习的精神之灯-下)

    系列文章目录 提示:本文章为系列文章,系列文章的所有文章的目录后期会时刻更新,喜欢的朋友请收藏好 <第一章 C语言极速学习开发--51单片机入门编程之使用KeilC51进行代码编译(点亮你心中学 ...

  3. 红外线遥控c语言程序,红外线遥控解码接收程序-c语言讲解学习.pdf

    红外线遥控解码接收程序 -C 语言 .txt 铁饭碗的真实含义不是在一个地方吃一辈子饭, 而是一 辈子到哪儿都有饭吃.就算是一坨屎,也有遇见屎壳郎的那天.所以你大可不必为今天的自 己有太多担忧.红外线 ...

  4. 红外接收器c语言软件,红外线遥控解码接收程序_C语言.doc

    红外线遥控解码接收程序_C语言.doc (9页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.9 积分 红外线遥控解码接收程序-C语言.txt铁饭碗 ...

  5. 51单片机c语言485通讯案例,485通讯协议程序怎么写(51单片机的485通信程序案例)...

    RS-485总线接口是一种常用的串口,具有网络连接方便.抗干扰性能好.传输距离远等优点.RS-485收发器采用平衡发送和差分接收,因此具有抑制共模干扰的能力,加上收发器具有高的灵敏度,能检测到低达20 ...

  6. c语言 按键切换显示屏,51单片机lcd1602按键切屏

    大家好,我又来了,这次是基础切屏(我也只会这基础..),我用的是stc15w4k56s4的单片机,作用是,可以使用和51一样的操作. 切屏 切屏: 例如我想在两个屏幕之间切换:1.先把每个屏幕应该显示 ...

  7. 51单片机c语言学习感想,学习51单片机心得体会

    在这里给大家分享一下学习51单片机心得体会: 1.我从不说51是基础,如果我这么说,也请把这句话理解为微机原理是基础. 2.对51单片机的操作本质上就是对寄存器的操作,对其他单片机也是如此.库只是一个 ...

  8. 单片机c语言 王东锋,基于51单片机的输液报警系统设计

    高扬 摘 要:本设计是以AT89C51单片机为核心,利用光电传感器来检测设备液体的流动情况.当吊瓶内有点滴落下时,可通过红外检测装 1前言 随着信息技术和计算机技术的发展,信息革命在工业.医疗和控制领 ...

  9. 单片机c语言按键调整时钟,51单片机C语言可调时钟.doc

    51单片机C语言可调时钟 程序介绍:六位共阳数码管显示,时·分·秒均可用按键调节.短按时选位的时间按一次加一下,长按不放时时间按一定的频率增加! 本程序的是我参考别人的基础上移植.再加上自己的想法做出 ...

最新文章

  1. 文件系统损坏导致数据文件异常恢复----惜分飞
  2. Visual Studio常用快捷键
  3. SESSION跟COOKIE
  4. tomcat压力测试、优化
  5. linux中用户忘记root的密码--ubuntu版本
  6. Channel使用技巧
  7. WinAPI——钩子函数大全
  8. MATLAB 数据显示格式
  9. jquery简单的选择添加下拉列表
  10. 手把手教你玩转QQ的原创表情
  11. c语言求信源的信息熵,第二章-信源与信息熵(三)
  12. SmartDrv的前世今生——PrimoCache_2.2.0汉化
  13. H5时代的多行文本框
  14. scratch3.0加载自己的作品最新版
  15. (GIS可视化)加权叠加原理及应用
  16. greensock下载_使用GreenSock绘制Alligator.io SVG徽标
  17. 视界解析:游戏中的建筑狂热!3A游戏《控制》中的粗野主义设计
  18. 高端html5网站设计工作室织梦模板 dedecms5.7,html5高端网络建站设计工作室网站织梦模板...
  19. Joint Extraction of Retinal Vessels and Centerlines Based on Deep Semantics and Multi-Scaled Cross-T
  20. 微信公众平台安全模式URL签名验证

热门文章

  1. ros::spin()和ros::AsyncSpinner
  2. JMETER 断言无效
  3. [Linux服务器 错误] nohup: ignoring input and appending output t o ‘nohup.out‘
  4. 远程预付费集中抄表系统如何运行?
  5. HTML5头部head标签常用信息
  6. HTML <header> 标签
  7. Symbian 入门
  8. 国密sm2加密采坑指南
  9. 静态网页的制作——百度
  10. 理解熵(信息熵,交叉熵,相对熵)