基于STM32F103单片机WIFI无线APP控灯亮度灭设计
基于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控灯亮度灭设计相关推荐
- c语言stm32串口控制单片机,基于STM32F103C8T6单片机电脑串口通讯控灯设计(原理图+程序+论文)...
题目:基于STM32F103C8T6单片机电脑串口通讯控灯设计 内容要求: 一. 任务 通信是指不同的独立系统利用线路互相交换数据,它的主要目的是将数据从一端传送到另一端,实现数据的交换.在现代工业控 ...
- 基于STM32F103单片机的无线病床呼叫系统
系统功能设计 (末尾附文件) 本系统由STM32单片机最小系统.LED指示灯.2档拨动开关.蜂鸣器报警.蓝牙模块组成. 1.手机APP和stm32设备上蓝牙模块进行连接. 2.三个拨动开关分别代表3个 ...
- 基于单片机红外遥控LED控制灯亮灭设计毕设课设资料
资料下载地址-1038(百度网盘):点击下载 #include <reg52.h> sbit LED1 = P1 ^ 0; sbit LED2 = P1 ^ 1; sbit LED3 = ...
- 51单片机WIFI手机APP智能窗户窗帘控制系统手动自动定时
实践制作DIY- GC0045(2)-WIFI手机APP智能窗户窗帘控制系统 一.功能说明: 基于51单片机设计-WIFI手机APP智能窗户窗帘控制系统 功能介绍: STC89C52(AT89C52) ...
- 94、基于51单片机的无线调频对讲机系统设计
毕设帮助.开题指导.技术解答(有偿)见文末. 目录 摘要 一.硬件方案 二.设计功能 三.实物图 四.原理图 五.程序 六.资料包括 摘要 对讲机作为短距离通信和移动调度指挥的重要工具,在社会各个行业 ...
- 基于51单片机的智能光控路灯设计及设计报告
自己做的基于51单片机的智能光控路灯设计及设计报告,滑动变阻器模拟光敏电阻,adc0832检测电压,lcd1602做控制面板,自动亮灯的光强范围可调 包括源代码.仿真设计报告. ID:69665037 ...
- 单片机遥控车c语言程序,基于51单片机的无线遥控小车设计[附发射接收程序]
/***************************************************************/ /*[基于51单片机的无线遥控小车设计] 作者王*茹 */ /*** ...
- 基于51单片机的无线遥控小车
基于51单片机的无线遥控小车 材料:STC89C51(1个).nrf2401(2个).L298N(2个).小车底盘.18650(4个).按键若干.蜂鸣器 功能:前进.后退.左转.右转.鸣笛. 程序请移 ...
- 430单片机实现三人投票表决器_基于MSP430单片机的无线表决系统设计
基于 MSP430 单片机的无线表决系统设计 郭翠娟 ; 苗长云 ; 武志刚 ; 厉彦峰 [期刊名称] <微计算机信息> [年 ( 卷 ), 期] 2008(024)032 [摘要] 介绍 ...
最新文章
- 深度学习中的优化算法串讲
- clion pycharm goland 设置背景颜色
- python3.5.0下载-Python for Linux
- ORACLE 10.2.01升级10.2.05 for windows 详细文档
- oracle 5表关联查询,Oracle学习笔记5 - 表查询
- python引入模块教程_python进阶教程之模块(module)介绍
- MyBatis 【中文编码问题】
- 001-keras简介
- 自制汉化工具 文件提取/导入/压缩工具
- pos机Project v1.1
- 免费抠人像、抠图网站
- Linux 自动挂载U盘 实现热插拔
- 【问题描述】3.2.6 中国余数定理:“有物不知几何,三三数余一,五五数余二,七七数余三,问:物有几何?”。编程求1~1000以内所有解。
- 模型评估——混淆矩阵confusion_matrix
- reg类型变量综合电路_Verilog中 reg和wire 用法和区别以及always和assign的区别
- 布局中颜色搭配怎么看最舒服之白色的最佳10种颜色搭配
- html表格日期选框,table单元格编辑新增下拉框(select支持单或多选)、时间选择(date)功能! · Pull Request !26 · 贤心/layui - Gitee.com...
- SpringBoot 启动报错 No property found for type !
- 使用 Excel 中的函数准确计算周岁年龄
- 计算机无法检测更新失败怎么办,Windows更新错误解决方案
热门文章
- 老师工资比程序员低好多,要不要换啊
- c223 :production versions 新增、修改、删除函数: CM_FV_PROD_VERS_DB_UPDATE
- 用html语言编写的文件的扩展名是,Web编程语言的常见文件扩展名是什么?
- 无线传感网络 --ZigBee2-2定时器
- mysql里real类型_SQL中数据类型float与real的区别?
- PhysX 物理引擎研究(一)源码编译
- 蹭一波热度:记微信跳一跳辅助线开发
- 项目经理论坛_做好项目经理,应该向华为学习
- easypoi 多sheet导入_EasyExcel写入百万级数据到多sheet---非注解方式
- Java 安全管理类SecurityManager