《2022年路红外遥控开关控制器电路设计与制作 .pdf》由会员分享,可在线阅读,更多相关《2022年路红外遥控开关控制器电路设计与制作 .pdf(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1 8 路红外遥控开关控制器电路设计与制作(可扩展为32 路)在此给出的只是一个DEMO,主要着重于 单片机 的应用 上,安全方面请大家自行考虑增加。论坛上有一些朋友希望能DIY多路的 红外 遥控 开关,我在此做了一个DOME 版的,同样用我熟悉的SAA3010T的解码 程序(省下了不少时间),程序可以直接用于AT89C51或 AT89C2051或相容的 芯片,用 2051时,P1.0,P1.1要用 10K 电阻上拉。使用一体化接收头时电源 方面一定要做好滤波,如用大的滤波电容 使直流更加的稳定,用 104(0.1uF)的小电容去掉高频等等,只有这样才能在一定程序上提高抗干扰性。在程序方面,我
2、这里做的很简单,用了遥控器的18 号键做 18 的继电器控制,按一下为继电器通,再按一下为继,二次按键的间隔时间大约在1 秒钟,这样就可以避免按一次键会使继电器返复通断(按一次键的时间不定发送键值的次数也不定)。还用了遥控的电源按键,按下时所有断电器关闭。这个电路 如果使用 AT89C51的话可以找到32 路或更多的控制。有网友说要做兼容多遥控学习型的,我想也是可行的,那会用到IC2 器件,存储收到的数据 做为学习,接收时再对比对,但是如果你的数据较多的话会造成速度慢等问题。我个人认为还是用专一的遥控器好点,比如说你用电视遥控去遥控电视和红外开关,当你要开电视或许同时会触发到红外开关。本文电路
3、 原理 及实物:名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 8 页 -2 名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 8 页 -3 本文使用程序如附件RAR 文件C51 程序:C51 源码:/*-名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 8 页 -4 8 路红外遥控开关控制器(SAA3010T电视遥控器)Copyright 2004/3/27 http:/ http:/ All rights reserved.明浩E-mail: 只用八路时可以用AT89C2051代替 AT89C51 一体化接收头输出端拉P3.2(int0),P1 为控制
4、输出端。可以扩展到32 路或更多输出为低电平有效-*/#include static unsigned char data IRCode3,IRCON,IRCON2;static unsigned char data DT;void main(void)unsigned int de;TMOD=0 x01;/定时器 0 方式 1 EA=1;/允许 CPU 中断IT0=1;/INT0下降沿有效名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 8 页 -5 EX0=1;/开 INT0中断;do for(de=0;de10000;de+)P3_6=1;for(de=0;de10000;d
5、e+)P3_6=0;if(DT)for(de=0;de30000;de+)/这里起到按键值正确后会有一个延时,防止重复按键P3_6=1;for(de=0;de30000;de+)P3_6=0;DT=0;EX0=1;while(1);/定时器 0 中断处理void timeint(void)interrupt 1 using 2 TH0=0 xFD;TL0=0 x1E;/设定时值为800us if(IRCON3)if(IRCON28)/每中断一次读一次遥控接收头的状态,每二次为遥控编码中的一个位 名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 8 页 -6 IRCON2+;IRCo
6、deIRCON=IRCodeIRCON1;/每读一次放入变量中的二进制的一个位,每次左移一位IRCodeIRCON=IRCodeIRCON|P3_2;/每八次填满一个字节,一个字节存放遥控编码4 个位 else IRCON+;/填满一个字节,指向下一个变量IRCON2=0;/计数清零 else TR0=0;/关闭定时器ET0=0;/定时器 0 中断关闭if(IRCode1!=0 xFF)&(IRCode2!=0 xFF)if(IRCode1=0 x55)switch(IRCode2)case 0 xAB:/1-8键控制P1_0=P1_0;DT=1;break;case 0 xAC:P1_1=P
7、1_1;DT=1;break;case 0 xAD:P1_2=P1_2;DT=1;break;名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 8 页 -7 case 0 xB2:P1_3=P1_3;DT=1;break;case 0 xB3:P1_4=P1_4;DT=1;break;case 0 xB4:P1_5=P1_5;DT=1;break;case 0 xB5:P1_6=P1_6;DT=1;break;case 0 xCA:P1_7=P1_7;DT=1;break;case 0 xD2:/按关闭电源键,关闭所有继电器P1=0 xFF;DT=1;break;名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 8 页 -8/INT0中断void INT0Fun(void)interrupt 0 using 2 EX0=0;/外部中断0 关闭ET0=1;/定时器 0 中断打开TH0=0 xFD;TL0=0 x1E;/设定时值为800us for(IRCON=0;IRCON3;IRCON+)IRCodeIRCON=0;IRCON=0;IRCON2=0;/计数清零TR0=1;/开始计数 名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 8 页 -