基于51单片机红外遥控开关

(仿真+程序+原理图+PCB+设计报告)

功能介绍

具体功能:

1.两块单片机,一个设置遥控板,一个设计接收板;

2.遥控板通过矩阵键盘设计按键,红外发射管发送信号;

3.接收板通过红外接收头接收信号,再通过继电器控制开关;

4.4X4矩阵键盘只用了前面4个按键,分别控制四个继电器打开/关闭;

添加图片注释,不超过 140 字(可选)

程序

//////////////////////////////////////////////////////////////////////////////////	 

/***微信公众号:木子单片机********/

//All rights reserved
//******************************************************************************/.
#include <reg52.h>

//宏定义
#define uchar unsigned char 
#define uint unsigned int 
//时间计算
#define Imax 14000    //此处为晶振为11.0592时的取值,  
#define Imin 8000     //如用其它频率的晶振时,
#define Inum1 1450    //要改变相应的取值。
#define Inum2 700 
#define Inum3 3000 

//解码变量
unsigned char Im[4]={0x00,0x00,0x00,0x00};

//全局变量
uchar Data=0x00;
uchar f;
unsigned long m,Tc;
unsigned char IrOK;

sbit LED1=P1^0;		//4个输出
sbit LED2=P1^4;
sbit LED3=P3^5;
sbit LED4=P3^6;


//外部中断解码程序_外部中断1
void intersvr1(void) interrupt 2
{
 TR0=1;
 Tc=TH0*256+TL0;//提取中断时间间隔时长
 TH0=0; 
 TL0=0;         //定时中断重新置零
 if((Tc>Imin)&&(Tc<Imax))
 { 
	m=0;
	f=1;
	return;
 }       
  //找到启始码
 if(f==1)
 {
	 //识别为1
    if(Tc>Inum1&&Tc<Inum3) 
    {
   	Im[m/8]=Im[m/8]>>1|0x80; m++; 
    }
	 //识别为0
    if(Tc>Inum2&&Tc<Inum1) 
    {
      Im[m/8]=Im[m/8]>>1; m++; //取码
  	 }
	 //识别出32位
  	 if(m==32) 
    {
      m=0;  
      f=0;
		//检验反码
      if(Im[2]==~Im[3]) 
      {
           IrOK=1;
			  //关闭定时器
			  TR0=0; 
   	}
      else IrOK=0;   			//取码完成后判断读码是否正确
    }
               					//准备读下一码
 }
}***//完整程序
**///***微信公众号:木子单片机********/
//主程序
void main(void)
{
 m=0;
 f=0;
 EA=1;//开启总中断
 IT1=1;//下降沿有效
 EX1=1;//外部中断0开
 TMOD=0x11;//定时器初始化  
 TH0=0;//T0赋初值
 TL0=0;
 TR0=0;//t0开始计时
 //循环执行
 while(1)
 {
  //如果解码成功
  if(IrOK==1) 
  {
		//清空标志位
      IrOK=0;
		//赋值信息
		Data=Im[2];
		if(Data==0x0c)		  //判断是哪个按键按下	1
		LED1=!LED1;			  //控制开关
		else if(Data==0x18)						   //2
		LED2=!LED2;
		else if(Data==0x5e)						   //3
		LED3=!LED3;
		else if(Data==0x08)						   //4
		LED4=!LED4; 
  }
 }
}

硬件设计

使用元器件:

单片机:STC89C51;

(注意:单片机是通用的,无论51还是52、无论stc还是at都一样,引脚功能都一样。程序也是一样的。)

7*9万用板*2;40脚IC座*2;

红外发射管(白色透明);

2.2k电阻*5;1k电阻*5;

100Ω电阻;10k电阻*2;

30k电阻;9012三极管*4;

9013三极管;10uf电解电容*2;

30pf瓷片电容*4;11.0592M晶振*2;

100uf电解电容;红外1838接收头;

104独石电容;5mmLED;

按键*16;继电器(黄)*4;

2p接线端子*4;DC电源接口*2;

自锁开关*2;导线:若干;

添加图片注释,不超过 140 字(可选)

流程图:

添加图片注释,不超过 140 字(可选)

设计资料

01仿真图

本设计使用proteus7.8和proteus8.9两个版本设计,向下兼容,无需担心!具体如图!

添加图片注释,不超过 140 字(可选)

02原理图

本系统原理图采用Altium Designer19设计,具体如图!

发送

添加图片注释,不超过 140 字(可选)

接收

添加图片注释,不超过 140 字(可选)

03程序

本设计使用keil5版本编程设计!具体如图!

添加图片注释,不超过 140 字(可选)

04设计报告

一万一千字设计报告,具体如下!

添加图片注释,不超过 140 字(可选)

05设计资料

全部资料包括程序(含注释)、仿真源文件 、开题报告、AD原理图、PCB、设计报告、流程图、实物图、元件清单、实物演示视频等。具体内容如下,全网最全! !

添加图片注释,不超过 140 字(可选)

点赞分享一起学习成长。

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐