标题: 单片机红外中继 转译 转发器制作 附源程序 [打印本页]

作者: 1091212269    时间: 2020-2-22 00:02
标题: 单片机红外中继 转译 转发器制作 附源程序
接收到一个红外码后,发送1个相同或不同的红外码来实现中继或转译,
作用:智能语音音箱可以控制部分红外家电,但有一部分不能控制。通过转译可以控制更多,本程序不能控制空调。
有掉电模式,很节能。管脚电路自己看吧。本人不会画图。

制作出来的实物图如下:


单片机源程序如下:
  1. ////////////////////////////   main.c  ////////////////////////////////////////
  2. // 红外接收数据,中断方式,并通过串口发送接收到的4字节,晶振:22.118400 MHz
  3. // 接收头信号引脚P3.3,串口波特率9600
  4. ///////////////////////////////////////////////////////////////////////////
  5. #include "STC15W4K.H"
  6. #include "IR.H"  
  7. #include "IRSEND.H"
  8. #include "intrins.h"
  9.   void keysm();  //扫描函数
  10.   void delay500ms();

  11. void main()
  12. {
  13.         led=0;
  14.         port();          //普通IO
  15.         Timer1Init();   // 定时器2初始化
  16.         int1_init();    //T0初始化
  17.         while (1)
  18.         {

  19.     keysm();
  20.                 led=1;
  21.                 PCON=0x02;_nop_();_nop_();_nop_();_nop_();led=0;
  22.                
  23.         }
  24.                
  25.         
  26. }

  27. void keysm()//按键扫描函数
  28. {
  29.         if(IRflag)
  30.         {
  31.                 delay500ms();
  32.                   EX0=0;          // 关闭外中断0
  33.                 if(Ir_Buf[0]==0xB3&&Ir_Buf[1]==0x4C)
  34.                         {
  35.                                 if(Ir_Buf[2]==0xDC) ir_Send(0x00,0xFF,0x1C)  ;
  36.                                 if(Ir_Buf[2]==0x80) ir_Send(0x00,0xFF,0x42)  ;
  37.                                 //if(Ir_Buf[2]==0x5D) ir_Send(0x00,0xFF,0x1C)  ;
  38.                                 //if(Ir_Buf[2]==0x5D) ir_Send(0x00,0xFF,0x1C)  ;
  39.        }

  40.    if(Ir_Buf[0]==0x00&&Ir_Buf[1]==0xFF&&Ir_Buf[2]==0x88)
  41.          {   ir_Send(0x00,0xFF,0x88)  ;  }

  42. }
  43.         EX0=1;          // 开启外中断1
  44. }

  45. void delay500ms(void)   //误差 -0.000000000063us
  46. {
  47.     unsigned char a,b,c;
  48.     for(c=212;c>0;c--)
  49.         for(b=160;b>0;b--)
  50.             for(a=80;a>0;a--);

  51. }
复制代码
全部资料51hei下载地址:
红外转译.zip (63.98 KB, 下载次数: 23)


作者: lyseg    时间: 2020-4-4 17:39
谢谢分享!!!




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1