基于STM32F103单片机WIFI无线APP控灯亮度灭设计

一、功能

由STM32F103C8T6单片机核心电路+两位白色高亮LED灯电路+WIFI模块ESP8266电路++电源电路组成。
1、stm32实时监测wifi数据,解析数据后通过pwm控制led的亮灭及亮度程度。
2、手机发送指令:
OPEN1,第一个灯亮;OPEN2,第二个灯亮;
CLOSE1,第一个灯灭;CLOSE2,第二个灯灭;
LED1-1,第一个等处于1档,LED1-2,第1个等处于2档,LED1-3,第一个等处于3档。
LED2-1,第2个等处于1档,LED2-2,第2个等处于2档,LED2-3,第2个等处于3档,
OPENALL:全亮
CLOSEALL:全灭!

二、材料清单



三、流程图

四、程序

主函数

#include "led.h"
#include "delay.h"
#include "sys.h"
#include "timer.h"
#include "key.h"
#include "usart.h"
#include <string.h>unsigned char led1Count=0;    //led 对比pwm值计数
unsigned char led2Count=0;
unsigned char PWML_LED1=10;//led PWM 范围0-10
unsigned char PWML_LED2=10;unsigned char BufTab[10]; //wifi数据暂存
unsigned char Count;       //串口数据计数
unsigned char UartBusy=0;  //判断忙碌
unsigned char ReadFlag=0;//读取标志
unsigned char sendDataFlag=0;  //发送数据标志
u8 rebackFalg= 0; //数据返回标志
u8 MesCount=0; //发送内容计数
unsigned char i ;
int main(void){ delay_init();            //延时函数初始化NVIC_Configuration();//设置NVIC中断分组2:2位抢占优先级,2位响应优先级LED_Init();          //初始化与LED连接的硬件接uart_init(9600);TIM3_Int_Init(499,7199);//10Khz的计数频率,计数到500为50ms i=50;while(i--) delay_ms(100);printf("AT+CIPMUX=1\r\n");           //允许链接i=10;while(i--) delay_ms(100);printf("AT+CIPSERVER=1,8080\r\n");     //创建端口号8080while(1){  if(ReadFlag== 1)     //读取串口数据标志{Count=0;                    //传授接收变量清零UartBusy=0;ReadFlag=0;              //读取标识清零if((strstr((const char *)BufTab,"PEN1")!=NULL)||(strstr((const char * )BufTab,"ED1-3")!=NULL))     //接收到LPEN1 LED1-3{PWML_LED1=10;rebackFalg=1;//设置pwm 发送标志置位}else if(strstr((const char * )BufTab,(const char * )"LOSE1")!=NULL)      //接收到CLOSE1{PWML_LED1=0;rebackFalg=1;//设置pwm 发送标志置位}else if(strstr((const char *)BufTab,"ED1-1")!=NULL)     //接收到LED1-1{PWML_LED1=3;rebackFalg=1;//设置pwm 发送标志置位}else if(strstr((const char *)BufTab,"ED1-2")!=NULL)   //接收到LED1-2{PWML_LED1=6;rebackFalg=1;//设置pwm 发送标志置位}else if((strstr((const char *)BufTab,"PEN2")!=NULL)||(strstr((const char *)BufTab,"ED2-3")!=NULL))     //接收到  OPEN2{PWML_LED2=10;rebackFalg=1;//设置pwm 发送标志置位}else if(strstr((const char *)BufTab,"LOSE2")!=NULL)   //接收到LLOSE2{PWML_LED2=0;rebackFalg=1;//设置pwm 发送标志置位}else if(strstr((const char *)BufTab,"ED2-1")!=NULL)     //接收到LED2-1{PWML_LED2=3;rebackFalg=1;//设置pwm 发送标志置位}else if(strstr((const char *)BufTab,"ED2-2")!=NULL)  //接收到LED2-2{PWML_LED2=6;rebackFalg=1;//设置pwm 发送标志置位}}else if(strstr((const char *)BufTab,"PENALL")!=NULL)  //接收OENALL{PWML_LED1=10;PWML_LED2=10;rebackFalg=1;      //设置pwm 发送标志置位}else if(strstr((const char *)BufTab,"LOSEALL")!=NULL)   //接收到CLOSEALL{PWML_LED1=0;PWML_LED2=0; rebackFalg=1;}for(i=0;i<10;i++)      //清空wifi数据数组{BufTab[i]='0';}if((sendDataFlag == 1)&&(rebackFalg != 0))//接收到数后返回ok          {if(MesCount == 0)            //发送信息计数{MesCount =1;printf("AT+CIPSEND=0,2\r\n");     //发送固定字节数据的at命令}else{               if(rebackFalg ==1)        //返回标志置位{printf("OK");}                   //发送okMesCount = 0;                   //发送信息计数rebackFalg = 0;}sendDataFlag = 0;      //定时发送数据清空}         led1Count++;      //led 对比pwm值计数led2Count++;        //led 对比pwm值计数if(led1Count<PWML_LED1)       //led1 PWM对比{LED1=0;              //开灯}else if((led1Count>=PWML_LED1)&&(led1Count<=10))  //led1 PWM对比{LED1=1;          //关灯}else{led1Count=0;  //一个周期结束}if(led2Count<PWML_LED2)       //led2 PWM对比{LED2=0;               //开灯}else if((led2Count>=PWML_LED2)&&(led2Count<=10))     //led2 PWM对比{LED2=1;          //关灯}else{led2Count=0;  //一个周期结束}              }
}

基于STM32F103单片机WIFI无线APP控灯亮度灭设计相关推荐

  1. c语言stm32串口控制单片机,基于STM32F103C8T6单片机电脑串口通讯控灯设计(原理图+程序+论文)...

    题目:基于STM32F103C8T6单片机电脑串口通讯控灯设计 内容要求: 一. 任务 通信是指不同的独立系统利用线路互相交换数据,它的主要目的是将数据从一端传送到另一端,实现数据的交换.在现代工业控 ...

  2. 基于STM32F103单片机的无线病床呼叫系统

    系统功能设计 (末尾附文件) 本系统由STM32单片机最小系统.LED指示灯.2档拨动开关.蜂鸣器报警.蓝牙模块组成. 1.手机APP和stm32设备上蓝牙模块进行连接. 2.三个拨动开关分别代表3个 ...

  3. 基于单片机红外遥控LED控制灯亮灭设计毕设课设资料

    资料下载地址-1038(百度网盘):点击下载 #include <reg52.h> sbit LED1 = P1 ^ 0; sbit LED2 = P1 ^ 1; sbit LED3 = ...

  4. 51单片机WIFI手机APP智能窗户窗帘控制系统手动自动定时

    实践制作DIY- GC0045(2)-WIFI手机APP智能窗户窗帘控制系统 一.功能说明: 基于51单片机设计-WIFI手机APP智能窗户窗帘控制系统 功能介绍: STC89C52(AT89C52) ...

  5. 94、基于51单片机的无线调频对讲机系统设计

    毕设帮助.开题指导.技术解答(有偿)见文末. 目录 摘要 一.硬件方案 二.设计功能 三.实物图 四.原理图 五.程序 六.资料包括 摘要 对讲机作为短距离通信和移动调度指挥的重要工具,在社会各个行业 ...

  6. 基于51单片机的智能光控路灯设计及设计报告

    自己做的基于51单片机的智能光控路灯设计及设计报告,滑动变阻器模拟光敏电阻,adc0832检测电压,lcd1602做控制面板,自动亮灯的光强范围可调 包括源代码.仿真设计报告. ID:69665037 ...

  7. 单片机遥控车c语言程序,基于51单片机的无线遥控小车设计[附发射接收程序]

    /***************************************************************/ /*[基于51单片机的无线遥控小车设计] 作者王*茹 */ /*** ...

  8. 基于51单片机的无线遥控小车

    基于51单片机的无线遥控小车 材料:STC89C51(1个).nrf2401(2个).L298N(2个).小车底盘.18650(4个).按键若干.蜂鸣器 功能:前进.后退.左转.右转.鸣笛. 程序请移 ...

  9. 430单片机实现三人投票表决器_基于MSP430单片机的无线表决系统设计

    基于 MSP430 单片机的无线表决系统设计 郭翠娟 ; 苗长云 ; 武志刚 ; 厉彦峰 [期刊名称] <微计算机信息> [年 ( 卷 ), 期] 2008(024)032 [摘要] 介绍 ...

最新文章

  1. 深度学习中的优化算法串讲
  2. clion pycharm goland 设置背景颜色
  3. python3.5.0下载-Python for Linux
  4. ORACLE 10.2.01升级10.2.05 for windows 详细文档
  5. oracle 5表关联查询,Oracle学习笔记5 - 表查询
  6. python引入模块教程_python进阶教程之模块(module)介绍
  7. MyBatis 【中文编码问题】
  8. 001-keras简介
  9. 自制汉化工具 文件提取/导入/压缩工具
  10. pos机Project v1.1
  11. 免费抠人像、抠图网站
  12. Linux 自动挂载U盘 实现热插拔
  13. 【问题描述】3.2.6 中国余数定理:“有物不知几何,三三数余一,五五数余二,七七数余三,问:物有几何?”。编程求1~1000以内所有解。
  14. 模型评估——混淆矩阵confusion_matrix
  15. reg类型变量综合电路_Verilog中 reg和wire 用法和区别以及always和assign的区别
  16. 布局中颜色搭配怎么看最舒服之白色的最佳10种颜色搭配
  17. html表格日期选框,table单元格编辑新增下拉框(select支持单或多选)、时间选择(date)功能! · Pull Request !26 · 贤心/layui - Gitee.com...
  18. SpringBoot 启动报错 No property found for type !
  19. 使用 Excel 中的函数准确计算周岁年龄
  20. 计算机无法检测更新失败怎么办,Windows更新错误解决方案

热门文章

  1. 老师工资比程序员低好多,要不要换啊
  2. c223 :production versions 新增、修改、删除函数: CM_FV_PROD_VERS_DB_UPDATE
  3. 用html语言编写的文件的扩展名是,Web编程语言的常见文件扩展名是什么?
  4. 无线传感网络 --ZigBee2-2定时器
  5. mysql里real类型_SQL中数据类型float与real的区别?
  6. PhysX 物理引擎研究(一)源码编译
  7. 蹭一波热度:记微信跳一跳辅助线开发
  8. 项目经理论坛_做好项目经理,应该向华为学习
  9. easypoi 多sheet导入_EasyExcel写入百万级数据到多sheet---非注解方式
  10. Java 安全管理类SecurityManager