临睡觉时下地闭灯是最讨厌做的一件事。本人为了解决闭灯问题,所以自制了一个红外线遥控开关。所需原料:废旧5V手机充电器,面包板(不要太大),STC11F02(手头只有这个,浪费了不少IO,推荐8脚STC15F100之类的U),5v继电器2个(推荐欧姆龙的,有点小贵),三极管8550PNP 2个,1838B 38khz红外接收头1个,20K电阻一个,有条件可以来个1117 5V。12M晶振,30PF电容。IO口的限流电阻推荐加个。锡桥过线,怕费焊锡的可以导线连^_^!电路过于简单,直接焊接。PNP管子接继电器负极,在负极做开关。

程序如下:

#include "stc11f.h"   //自己写的,可以reg51.h
sbit JD2 = P1^5;      //继电器2口,电灯2
sbit JD1 = P1^0;      //继电器1口,电灯1
sbit KG  = P1^7;      //这链了个三极管,做了个额外的开关,给床头的USB小风扇供电
sbit LED = P3^6;     //工作指示灯,有一个设备打开就亮
bit IR_SEMAPHORE=0,IR_READY=0,LED_CON1=0,LED_CON2=0,LED_CON3=0;
unsigned int temp=0;
unsigned char swap=0,IR_DATA[4]={0};
void main(void)
{
 JD1=1;
 JD2=1;
 KG=1;
 LED=0;

IT0=1;//外部中断0为下降沿触发方式
 EX0=1;//外部中断0允许

TMOD=01;//定时器0,16位定时计数,从内部系统时钟输入。
 ET0=0;//定时器0不允许中断
 TH0=0;
 TL0=0;
 TR0=1;//定时器0运行
 
 EA=1;
 while(1)
 {
  if(IR_READY==1)
  {
   if(IR_DATA[2]==~IR_DATA[3]&&IR_DATA[2]==0x45){JD2=~JD2;LED_CON2=~LED_CON2;}
   if(IR_DATA[2]==~IR_DATA[3]&&IR_DATA[2]==0x47){JD1=~JD1;LED_CON1=~LED_CON1;}
    if(IR_DATA[2]==~IR_DATA[3]&&IR_DATA[2]==0x40){KG=~KG;LED_CON3=~LED_CON3;}
   if(LED_CON1==1||LED_CON2==1||LED_CON3==1)LED=1;else LED=0;
   IR_READY=0;
  }
 } 
}
void Interrupt0(void) interrupt 0 using 0
{
 temp=TH0*256+TL0;
 TH0=0;
 TL0=0;
 if(temp>8000&&temp<16000){IR_SEMAPHORE=1;swap=0;return;}
 if(IR_SEMAPHORE==1)
 {
  if(temp>700&&temp<1450){IR_DATA[swap/8]=IR_DATA[swap/8]>>1;swap++;}              //数据0
  if(temp>1450&&temp<3000){IR_DATA[swap/8]=IR_DATA[swap/8]>>1|0x80;swap++;}   //数据1
  if(swap==32){IR_SEMAPHORE=0;swap=0;IR_READY=1;}                                                   //4字节
 }
 
}

注意:12Mhz下,其它的频率要另计算数值。

最后把灯座卸开,连接好。也可以用胶带固定在外面(就是有点丑)!遥控器可以用38k标准的成品,X宝卖1-2块吧。

STC11F02实现红外线遥控开关相关推荐

  1. 单片机遥控开关系统设计(结构原理、电路、程序)

    本设计提出了一种基于单片机的遥控开关系统.通过对样机的测试结果表明,本系统采用单片机进行遥控系统的应用设计,具有编程灵活多样,操作码个数可随意设定等优点.一般设备系统采用专用的遥控编码及解码集成电路. ...

  2. KVG制作-【Arduino指纹解锁 智能家居系列-01】DIY自制的智能门禁,AS608指纹解锁+红外线遥控解锁。附演示视频。

    DIY自制的智能门禁,指纹解锁+红外线遥控解锁. DIY自制的智能门禁,指纹解锁+红外线遥控解锁. 材料准备 库文件 代码 注册指纹的代码 **寻找指纹并解锁** 视频演示地址 DIY自制的智能门禁, ...

  3. 红外遥控C语言程序设计,光电红外遥控开关设计(光电系统课程设计)【PCB图仿真图单片机C语言分工心得】..doc...

    光电红外遥控开关设计(光电系统课程设计)[PCB图仿真图单片机C语言分工心得]. 本科生课程论文 论文题目光电红外遥控开关设计课程名称光电系统设计学生姓名学号所在学院所在班级指导教师 目 录 摘要3 ...

  4. 遥控开关在云智能物联网领域:智能养殖高效、生态、安全!

    随着我国水土流失日益严重,土地资源严重紧缺,水产养殖池塘已经成为一种趋势,但由于现代气候突变现象日益发生,效益下降等问题突出,如何提高养殖产品品质,直接增加了渔民的经济收入,实现高效.生态.安全的现代 ...

  5. 遥控开关,4G远程控制增氧机,智慧农渔更轻松!

    疫情淡化后的第一个五一,相必很多朋友都早早的做好了规划,相想祖国的大好河山,准备带着家老小,来一场说走就走的旅行,怀念着金庸笔下舟山桃花镇的桃花岛,还是沈从文笔下的凤凰古城呢?可以去的地方简直太多太多 ...

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

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

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

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

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

    自己写的51单片机的红外线遥控接收程序(C语言) (6页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 11.90 积分 //51单片机做的红外遥控实验(C ...

  9. 【红外线遥控原理学习】【转载】

    红外线遥控原理 红外线遥控原理 [原创+整理]红外通信原理 红外线接收器接收到信号,会发送低电平给单片机.平时一直发送高电平信号. 所以找到这篇博客学习 提示:看这篇文章前,先看这篇基础扫盲贴 htt ...

最新文章

  1. Centos7.2 基于LAMP框架部署Discuz论坛
  2. JavaScript实现bellmanFord贝尔曼-福特算法(附完整源码)
  3. PHP怎么修改链接,phpcms导航链接怎么修改
  4. 在Spring中使用JDK定时器实现调度任务
  5. fckeditor2.63 上传图片的一个问题的解决办法
  6. Android 内存泄漏分析(完)
  7. JAVA设计模式《四》
  8. 阿里云IoT安全运营中心-Link SOC,安全运营托管功能发布
  9. iOS开发之阿里百川、京东联盟、多多客联盟(拼多多)的接入
  10. 屏幕坐标转换世界坐标
  11. 查看数据库实例名的方法:
  12. 保护计算机组件免受esd,TVS管与ESD保护二极管的区别
  13. 开发撞墙之奇怪的需求:经纬度带符号转换
  14. 工业镜头和民用镜头的特点和区别
  15. 转:在浅薄时代,如何成为有深度的管理者?
  16. Vue3动态加载图片
  17. Java学习路线和资料分析
  18. c语言:(指针)实现输入三个整数从小到大排序
  19. Windows下PostgreSQL 8.1版安装图解
  20. 关于函数不定积分的方法总结

热门文章

  1. 为什么选择高防DNS云解析?
  2. 关于Win10家庭版安装VirtualBox时的一些问题(e.g.报错2203)
  3. web应用开发入门_Web应用程序监视入门
  4. 关于通用人工智能的思考
  5. linux手机版模拟电脑,在你的PC上体验Firefox OS 1.3 模拟器
  6. JVM:Java指令源码opcode
  7. Hive数据仓库中历史拉链表实践
  8. 计算机学科专业知识两门课,计算机学科两门专业课的融会贯通教学改革探讨
  9. python文件存储为json格式_python 储存文件json
  10. 超详细!如何在windows安装Hyper-V虚拟机