【毕业设计】基于单片机的智能饮水控制系统 - 物联网 嵌入式 stm32 c51
文章目录
- 1 简介
- 2 功能要求
- 3 相关器件
- 4 实现效果
- 5 部分实现代码
- 6 最后
1 简介
Hi,大家好,这里是丹成学长,今天向大家介绍一个学长做的单片机项目,不过这个项目是帮助企业研发的
基于单片机的智能饮水控制系统
大家可用于 毕业设计
单片机-嵌入式毕设选题大全及项目分享:
https://blog.csdn.net/m0_71572576/article/details/125409052
2 功能要求
出水量达到设定值自动关水
温度、湿度测量
光照强度测量
用水总量统计
NTP时间
物联网,可在手机APP上远程查看室内温度、湿度、上电总次数等信息
简洁易懂的UI界面
3 相关器件
4 实现效果
自己开发的APP
5 部分实现代码
仅部分代码
void TIM_Config(void)
{GPIO_InitTypeDef GPIO_InitStructure;TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct;TIM_OCInitTypeDef TIM_OCInitStructure;TIM_BDTRInitTypeDef TIM_BDTRInitStructure;NVIC_InitTypeDef NVIC_InitStructure;// ¿ªÆô¶¨Ê±Æ÷ʱÖÓ,¼´ÄÚ²¿Ê±ÖÓCK_INT=72MRCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_TIM1, ENABLE);// Êä³ö±È½ÏͨµÀ1 GPIO ³õʼ»¯GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9 ;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13 | GPIO_Pin_14 ;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOB, &GPIO_InitStructure);GPIO_SetBits(GPIOB, GPIO_Pin_13);GPIO_ResetBits(GPIOB, GPIO_Pin_14);TIM_DeInit(TIM1); //½«ÍâÉèTIM1¼Ä´æÆ÷ÖØÉèΪȱʡֵ TIM_TimeBaseInitStruct.TIM_ClockDivision = TIM_CKD_DIV1 ; //ÉèÖÃÁËʱÖÓ·Ö¸î(Tck_tim) TIM_TimeBaseInitStruct.TIM_CounterMode = TIM_CounterMode_Up ; //Ñ¡ÔñÁ˼ÆÊýÆ÷ģʽ(TIMÏòÉϼÆÊýģʽ) TIM_TimeBaseInitStruct.TIM_Period = 6005 ; //É趨¼ÆÊýÆ÷×Ô¶¯ÖØ×°Öµ,È¡Öµ·¶Î§0x0000~0xFFFF TIM_TimeBaseInitStruct.TIM_Prescaler = 71 ; //ÉèÖÃÓÃÀ´×÷ΪTIM3ʱÖÓƵÂʳýÊýµÄÔ¤·ÖƵֵΪ(79+1),È¡Öµ·¶Î§0x0000~0xFFFF TIM_TimeBaseInitStruct.TIM_RepetitionCounter = 0;TIM_TimeBaseInit(TIM1, &TIM_TimeBaseInitStruct ) ; /* ¶¨Ê±Æ÷Êä³öͨµÀ1ģʽÅäÖà */TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;/* ģʽÅäÖãºPWMģʽ1 */TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; /* Êä³ö״̬ÉèÖãºÊ¹ÄÜÊä³ö */TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Enable; /* »¥²¹Í¨µÀÊä³ö״̬ÉèÖãºÊ¹ÄÜÊä³ö */TIM_OCInitStructure.TIM_Pulse = 3000;/* ÉèÖÃÌø±äÖµ£¬µ±¼ÆÊýÆ÷¼ÆÊýµ½Õâ¸öֵʱ£¬µçƽ·¢ÉúÌø±ä */TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;/* µ±¶¨Ê±Æ÷¼ÆÊýֵСÓÚCCR1_ValʱΪ¸ßµçƽ */TIM_OCInitStructure.TIM_OCNPolarity= TIM_OCPolarity_High;TIM_OCInitStructure.TIM_OCIdleState = TIM_OCNIdleState_Reset;TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCNIdleState_Reset;TIM_OC1Init(TIM1, &TIM_OCInitStructure);TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;/* ģʽÅäÖãºPWMģʽ1 */TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; /* Êä³ö״̬ÉèÖãºÊ¹ÄÜÊä³ö */TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Enable; /* »¥²¹Í¨µÀÊä³ö״̬ÉèÖãºÊ¹ÄÜÊä³ö */TIM_OCInitStructure.TIM_Pulse = 3000;/* ÉèÖÃÌø±äÖµ£¬µ±¼ÆÊýÆ÷¼ÆÊýµ½Õâ¸öֵʱ£¬µçƽ·¢ÉúÌø±ä */TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;/* µ±¶¨Ê±Æ÷¼ÆÊýֵСÓÚCCR1_ValʱΪ¸ßµçƽ */TIM_OCInitStructure.TIM_OCNPolarity= TIM_OCPolarity_High;TIM_OCInitStructure.TIM_OCIdleState = TIM_OCNIdleState_Reset;TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCNIdleState_Reset;TIM_OC2Init(TIM1, &TIM_OCInitStructure);/* Automatic Output enable, Break, dead time and lock configuration*/TIM_BDTRInitStructure.TIM_OSSRState = TIM_OSSRState_Enable;TIM_BDTRInitStructure.TIM_OSSIState = TIM_OSSIState_Enable;TIM_BDTRInitStructure.TIM_LOCKLevel = TIM_LOCKLevel_OFF;TIM_BDTRInitStructure.TIM_DeadTime = 5;TIM_BDTRInitStructure.TIM_Break = TIM_Break_Disable;TIM_BDTRInitStructure.TIM_BreakPolarity = TIM_BreakPolarity_High;TIM_BDTRInitStructure.TIM_AutomaticOutput = TIM_AutomaticOutput_Enable;TIM_BDTRConfig(TIM1, &TIM_BDTRInitStructure);TIM_OC1PreloadConfig(TIM1,TIM_OCPreload_Enable);TIM_OC2PreloadConfig(TIM1,TIM_OCPreload_Enable);TIM_ARRPreloadConfig(TIM1, ENABLE);/* ʹÄܶ¨Ê±Æ÷ÖØÔؼĴæÆ÷ARR */TIM_Cmd(TIM1, ENABLE);/* ʹÄܶ¨Ê±Æ÷ */TIM_CtrlPWMOutputs(TIM1, ENABLE); /* TIMÖ÷Êä³öʹÄÜ */TIM_CCxCmd(TIM1,TIM_Channel_1,TIM_CCx_Enable);TIM_CCxNCmd(TIM1,TIM_Channel_1,TIM_CCxN_Enable);TIM_CCxCmd(TIM1,TIM_Channel_2,TIM_CCx_Enable);TIM_CCxNCmd(TIM1,TIM_Channel_2,TIM_CCxN_Enable);}
单片机-嵌入式毕设选题大全及项目分享:
https://blog.csdn.net/m0_71572576/article/details/125409052
6 最后
【毕业设计】基于单片机的智能饮水控制系统 - 物联网 嵌入式 stm32 c51相关推荐
- 【毕业设计1】基于单片机的智能灌溉系统 - 物联网 嵌入式 stm32 c51
文章目录 1 简介 2 实现功能 3 主要器件 3.1 器件列表 3.2 器件连接 3.3 OLED 显示屏 4 实现效果 5 实现代码 6 最后 1 简介 Hi,大家好,这里是丹成学长,今天向大家介 ...
- 【毕业设计】基于单片机的智能水箱系统 - 物联网 嵌入式 stm32
文章目录 1 简介 2 概述 2.1 系统描述 2.2 系统目标 3 具体实现 3.1 系统组成架构 3.2 系统功能 3.3 系统特点 3.4 水位检测及自动供水实现 3.5 水箱盖监控实现 3.6 ...
- 毕业设计 单片机超声波智能跟随小车 - 物联网 嵌入式 stm32
文章目录 1 项目简介 2 课题背景 3 硬件说明 3.1 小车硬件设计 3.2 小车底座 3.3 无线收发器 3.4 超声波模块 3.5 直流电机和电源 3.6 目标携带装置 3.7 整体电路图 4 ...
- 毕业设计之基于单片机的智能窗帘控制系统的设计与实现——更新中...
基于单片机的智能窗帘控制系统的设计与实现 单片机各模块设计脑图 时钟模块设计 时钟模块设计详细设计 光照感应模块 光照感应模块详细设计
- 基于单片机的智能教室控制系统的设计
word完整版可点击如下下载>>>>>>>> 基于单片机的智能教室控制系统的设计_c++课程设计题目汇总-硬件开发文档类资源-CSDN下载内容包括详细 ...
- 基于单片机的智能电饭煲控制系统的设计(附代码)
基于单片机的智能电饭煲控制系统的设计 这篇博客主要是用15单片机(和51单片机差不多)做一个智能电饭煲系统. 文章目录 基于单片机的智能电饭煲控制系统的设计 一.整体功能 二.米粒识别 三.FSR40 ...
- 基于单片机的智能路灯控制系统人体感应灯光控制系统的设计与实现
功能介绍 以51单片机作为主控系统: LCD1602液晶显示当前时间.年月日.时分秒: 按键看看有设置自动手动模式: 3路红外探头用来感应当前3个区域是否有人: 按键可以设置当前时间.开启和关闭教室灯 ...
- 单片机声光电子琴程序流程图_基于单片机的智能家居控制系统毕业设计
次毕业设计主要包括硬件端和软件端,硬件端功能如下: 使用 DS1302 模块产生时钟数据并实现时间和日历实时显示: 使用 DS18B20 模块检测周围环境温度并实时显示: 使用烟雾和光敏传感器模块对房 ...
- 【毕业设计】 基于单片机的移动共享充电宝设计与实现 - 物联网嵌入式 stm32 c51
文章目录 1 简介 2 主要器件 3 实现效果 4 设计原理 5 关键代码 6 最后 1 简介 Hi,大家好,这里是丹成学长,今天向大家介绍一个学长做的单片机项目 基于单片机的移动充电宝设计与实现 大 ...
- 【毕业设计项目】基于单片机的手势识别设计与实现 - 物联网 嵌入式 stm32 c51
文章目录 1 简介 2 实现效果 3 使用场景 4 参数说明 5 注意事项 6 最后 1 简介 Hi,大家好,这里是丹成学长,今天向大家介绍一个学长做的单片机项目 基于单片机得手势识别系统 大家可用于 ...
最新文章
- win32汇编定时器简单Demo
- Linux 列出文件列表命令ls
- 去除U盘插入后自动弹框的问题
- 【渝粤教育】电大中专新媒体营销实务 (11)作业 题库
- centOS 6 和centOS 7 防火墙指令
- java执行程序默认多线程吗_Java多线程 执行程序(1)
- 百度MIP页规范详解 —— canonical标签
- Win11系统如何设置黑暗模式
- Node.js module.exports与导出
- getter与setter
- 【001】python数据分析与挖掘
- 21. Kotlin学习笔记 (一) 基本语法
- IOC容器和Bean的配置
- 人工智能 一种现代方法 第4章 超越经典搜索
- 计算机无法安装cad怎么办,电脑安装AutoCAD提示未正常卸载无法安装如何解决
- 计算机拨号连接无法建立连接,电信拨号上网连接不上的解决方法
- 计算机如何手动新建服务启动项,电脑开机设置怎么设置启动项
- 去中心化身份(DID)赛道——构建Web3的社交通行证
- linux查看进程临时日志,Linux sed查看某时间段的系统日志
- python简单游戏——打气球