基于51单片机WIFI遥控防盗电子密码锁APP控制设计

1、系统功能介绍

  • 系统构成:

    • 本设计由STC89C52单片机电路+WiFi模块ESP8266_电路+蜂鸣器报警电路+继电器电路+电源电路。
  • 系统功能:

    • 1、可以通过手机APP发送3位的数字密码给设备,如果密码正确,则继电器闭合,3s后继电器断开。否则继电器断开。
    • 2、如果密码连续3次输入错误,蜂鸣器报警。
    • 3、可以通过手机APP修改密码。
  • 可根据本篇文章完成毕业设计的开题报告、任务书、设计等

2、资料下载

3、系统电路介绍

3.1、STC89C52单片机核心系统电路设计

  • STC89C52RC是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K字节系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但是做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能:8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外 STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。

STC89C52主要特性如下:

  • (1)8K字节程序存储空间;
  • (2)512字节数据存储空间;
  • (3)内带4K字节EEPROM存储空间;
  • (4)可直接使用串口下载

单片机最小系统电路图如下图所示

实物图:

3.2、ESP8266WIFI模块电路设计电路设计

  • 串口WIFI模块是新一代嵌入式WiFi模块,体积小,功耗低。采用UART接口。串口wifi模块是基于通用串行接口特性,符合IEEE802.11 协议栈网络标准,内置TCP/IP协议栈,使传统串口设备更好的加入无线网络。
  • ESP8266是一款超低功耗的模块,拥有业内极富竞争力的封装尺寸和超低能耗技术,专为移动设备和互联网的应用设计,可将用户的物理设备连接到WIFI无线网络上,进行互联网或局域网通信,实现

电路原理图:

实物图:

3.3、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

电路原理图:

引脚图:

实物图

3.4、5V继电器控制电路设计

  • 继电器是一种电控制器件,是当输入量(激励量)的变化达到规定要求时,在电气输出电路中使被控量发生预定的阶跃变化的一种电器。它具有控制系统(又称输入回路)和被控制系统(又称输出回路)之间的互动关系。通常应用于自动化的控制电路中,它实际上是用小电流去控制大电流运作的一种“自动开关”。继电器是具有隔离功能的自动开关元件,广泛应用于遥控、遥测、通讯、自动控制、机电一体化及电力电子设备中
  • 在本系统中,通过三极管驱动继电器,当单片机的控制引脚为低电平时,三极管导通,此时继电器供电闭合

电路原理图

实物图

4、程序设计

4.1、系统初始化

void SYSInit()
{
	Init_Timer0();        //定时器0初始化
	UART_Init();		  //串口初始化

	buzzer =0;	 	//上电蜂鸣器响一下
	relay = 0;
	timeNum =10;			   //延时计数
	DelayMs(250);
	buzzer =1;

	for(i=0;i<40;i++)  //延时 待wifi稳定
	{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);}
}

4.2、串口初始化

void UART_Init(void)
{
  SCON  = 0x50;		        // SCON: 模式 1, 8-bit UART, 使能接收  
  TMOD |= 0x20;               // TMOD: timer 1, mode 2, 8-bit 重装
  TH1   = 0xFD;               // TH1:  重装值 9600 波特率 晶振 11.0592MHz
  TL1 = TH1;  
  TR1   = 1;                  // TR1:  timer 1 打开                         
  EA    = 1;                  //打开总中断
  ES    = 1;                  //打开串口中断
} 

4.3、延时函数

/*------------------------------------------------
 uS延时函数,含有输入参数 unsigned char t,无返回值
 unsigned char 是定义无符号字符变量,其值的范围是
 0~255 这里使用晶振12M,精确延时请使用汇编,大致延时
 长度如下 T=tx2+5 uS 
------------------------------------------------*/
void DelayUs2x(unsigned char t)
{   
 while(--t);
}
/*------------------------------------------------
 mS延时函数,含有输入参数 unsigned char t,无返回值
 unsigned char 是定义无符号字符变量,其值的范围是
 0~255 这里使用晶振12M,精确延时请使用汇编
------------------------------------------------*/
void DelayMs(unsigned char t)
{
     
 while(t--)
 {
     //大致延时1mS
     DelayUs2x(245);
	 DelayUs2x(245);
 }
}

4.4、定时器初始化

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

点灯师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值