基于51单片机的智能插座 WIFI控家电继电器开关定时APP方案原理图

硬件电路的设计

(末尾附文件)
系统具体框图:
在这里插入图片描述
原理图:
在这里插入图片描述
STC89C52单片机最小系统说明:
STC89C52单片机最小系统电路由复位电路、时钟电路和电源电路。拥有这三部分电路后,单片机即可正常工作。单片机最小系统原理图如下图所示。
在这里插入图片描述
ESP8266WIFI模块电路设计电路设计
串口WIFI模块是新一代嵌入式WiFi模块,体积小,功耗低。采用UART接口。串口wifi模块是基于通用串行接口特性,符合IEEE802.11 协议栈网络标准,内置TCP/IP协议栈,使传统串口设备更好的加入无线网络。
ESP8266是一款超低功耗的模块,拥有业内极富竞争力的封装尺寸和超低能耗技术,专为移动设备和互联网的应用设计,可将用户的物理设备连接到WIFI无线网络上,进行互联网或局域网通信,实现联网功能。
ESP8266可广泛应用于智能电网、智能交通、智能家具、手持设备、工业控制等领域。WiFi模块电路图如下图所示。
在这里插入图片描述
5V转3.3V电源电路设计
AMS1117-3.3是一种输出电压为3.3V的正向低压降稳压器,适用于高效率线性开关电源稳压器。其输出电流为1A,系统电路简单,工作稳定。本电路中,通过AMS1117-3.3芯片将5V直流电压降为3.3V,给系统的特定模块电路供电。
一、基本参数
(1)工作结温范围:-40~125°C
(2)最大输入电压:15V
(3)焊接温度(25秒):265°C
(4)存储温度:- 65~150°C
(5)输出电压:3.267~3.333V
(6)纹波抑制(最小):60dB
其电路原理图如下图所示。电容为电解电容,起到滤波作用,滤除电源中的低频参量,让电压输出更加平稳。
在这里插入图片描述
5V继电器控制电路(低电平有效)设计
继电器是一种电控制器件,是当输入量(激励量)的变化达到规定要求时,在电气输出电路中使被控量发生预定的阶跃变化的一种电器。它具有控制系统(又称输入回路)和被控制系统(又称输出回路)之间的互动关系。通常应用于自动化的控制电路中,它实际上是用小电流去控制大电流运作的一种“自动开关”。继电器是具有隔离功能的自动开关元件,广泛应用于遥控、遥测、
通讯、自动控制、机电一体化及电力电子设备中,是最重要的控制元件之一故在电路中起着自动调节、安全保护、转换电路等作用。继电器一般由铁芯、线圈、衔铁、触点簧片等组成的。只要在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点(常开触点)吸合。当线圈断电后,电磁的吸力也随之消失,衔铁就会在弹簧的反作用力返回原来的位置,使动触点与原来的静触点(常闭触点)释放。这样吸合、释放,从而达到了在电路中的导通、切断的目的。在本系统中,通过三极管驱动继电器,当单片机的控制引脚为低电平时,三极管导通,此时继电器供电闭合,同时指示灯LED亮,与LED灯串联的电阻为限流作用保护LED灯,与三极管基集相连的电阻也是限流作用,保护三极管。继电器控制电路的原理图如下图所示。

在这里插入图片描述

部分代码:

#include <reg52.h> 
#include <intrins.h>
#include <stdio.h>
#include  "delay.h"  

#define FALSE 0x01
#define OPEN 0x22
#define CLOSE 0x33

sbit LED1=P1^0;	 //指示灯
sbit LED2=P1^1;
sbit LED3=P1^2;
sbit LED4=P1^3;

unsigned char Led1Flag=CLOSE;  	//灯状态指示
unsigned char Led2Flag=CLOSE;
unsigned char Led3Flag=CLOSE;
unsigned char Led4Flag=CLOSE;

unsigned long times5ms=0;  	//系统 定时器计数
unsigned char CountLater1=0; 		//灯延时计数
unsigned char CountLater2=0;
unsigned char CountLater3=0;
unsigned char CountLater4=0;

unsigned char Rxd_Busy=0;			  //串口判忙
unsigned char record=0;		   //记录串口结束数据长度
unsigned char Tmepbuf[50];		//暂存串口接收数据
unsigned int Time=0;			//时间变量
unsigned char i;

void Init_Timer0(void);		//函数声明
void UART_Init(void);
void UART_SendByte(unsigned char dat);
void SendStr(unsigned char *s,unsigned char length);


void main (void)
{
	Init_Timer0();        //定时器0初始化
	UART_Init();		   //蓝牙 串口 波特率9600
	P1=0x00;
	for(i=0;i<10;i++)				//延时
	{DelayMs(100);}	
	P1=0xff;
	for(i=0;i<30;i++)				//延时
	{DelayMs(100);}	
	SendStr("AT+CIPMUX=1\r\n",13);		   //打开多连接
	for(i=0;i<10;i++)
	{DelayMs(100);}
	SendStr("AT+CIPSERVER=1,8080\r\n",21);	   //建立服务 端口号为8080
	for(i=0;i<10;i++)
	{DelayMs(100);}
	while(1);         //主循环
	{					
		DelayMs(10);			//接收处理 均在中断中处理 请查看串口中断
	}
}

void Init_Timer0(void)
{
	TMOD |= 0x01;	  //使用模式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响		     
	TH0=(65536-10000)/256;		  //重新赋值 20ms
	TL0=(65536-10000)%256;
	EA=1;            //总中断打开
	ET0=1;           //定时器中断打开
	TR0=1;           //定时器开关打开
}

链接:https://pan.baidu.com/s/1SI_uU6f8xhsDqw3Vemvr4g
提取码:kigd

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值