【毕业设计】 基于单片机的移动共享充电宝设计与实现 - 物联网嵌入式 stm32 c51_keil c51 充电宝程序-程序员宅基地

技术标签: stm32  毕业设计  物联网  stm32 充电宝  单片机  


1 简介

Hi,大家好,这里是丹成学长,今天向大家介绍一个学长做的单片机项目

基于单片机的移动充电宝设计与实现

大家可用于 课程设计 或 毕业设计


单片机-嵌入式毕设选题大全及项目分享:

https://blog.csdn.net/m0_71572576/article/details/125409052


2 主要器件

  • 主控:stm32
  • 电池座 18650*2
  • TP4056 电池充电IC
  • MT3608 升压转换器
  • 有一个TP4056电池充电IC,TP4056与DW01A和FS8205A结合使用可提供各种电池保护功能。如过充,过放,短路和反极性保护。
  • 有2个MT3608升压转换器电路,用于5v和可调电压输出。
    一个AMS1117 LDO来获得3.3v输出

3 实现效果

在这里插入图片描述
为单片机设备供电:
在这里插入图片描述

为手机供电:
在这里插入图片描述

4 设计原理

硬件原理图:
在这里插入图片描述

5 关键代码

#include "led.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "adc.h"
#include "oled.h"
#include "iwdg.h"
int main(void)
{
     
	u8 t;
	u16 adcx;
	u16 adcx2,adcx3,adcx4;
	float temp,temp3,temp4,foult,tempp,power;
	delay_init();	    	 //延时函数初始化	  
	uart_init(9600);	 	//串口初始化为9600
 
	LED_Init();		  		//初始化与LED连接的硬件接口
	Adc_Init();		  		//ADC初始化	    
	OLED_Init();			//初始化OLED  
	OLED_Clear(); 
	IWDG_Init(4,625);    //与分频数为64,重载值为625,溢出时间为1s	   
	t=' ';	
	while(1)
	{
    
		OLED_ShowCHinese(18,0,4);//电
		OLED_ShowCHinese(36,0,5);//压
		OLED_ShowCHinese(72,0,4);//电
		OLED_ShowCHinese(90,0,6);//流
		OLED_ShowCHinese(18,4,7);//功
		OLED_ShowCHinese(36,4,8);//率
		adcx3=Get_Adc_Average(ADC_Channel_2,10);
		printf( "%2d\n",adcx3 );
		temp4=(float)adcx3*(3.3/4096);
		temp3=2.0*temp4;
		tempp=temp3;//
		
		adcx3=temp3;
		OLED_ShowNum(18,2,adcx3,1,16);
		OLED_ShowString(26,2,".");
		temp3-=adcx3;
		temp3*=1000;
		OLED_ShowNum(28,2,temp3,3,16);
				
		adcx=Get_Adc_Average(ADC_Channel_1,10);
		temp=(float)adcx*(3.3/4096);
		foult=temp*10*1000;//temp*10为电流值,单位为mA
		adcx=foult;
		OLED_ShowNum(72,2,adcx,4,16);
		
		power=temp*10*tempp;
		adcx4=power;
		OLED_ShowNum(60,4,adcx4,1,16);
		OLED_ShowString(68,4,".");
		power-=adcx4;
		power*=1000;
		OLED_ShowNum(70,4,temp3,3,16);
		IWDG_Feed();	//喂狗
		delay_ms(250);
	}											    
}	

单片机-嵌入式毕设选题大全及项目分享:

https://blog.csdn.net/m0_71572576/article/details/125409052


6 最后

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_71572576/article/details/125425833

智能推荐

Springboot/java/node/python/php基于Springboot的营养配餐评价系统【2024年毕设】-程序员宅基地

文章浏览阅读828次,点赞23次,收藏16次。springboot基于springboot考研资料分享系统。springboot基于springboot的仓储管理系统。开发软件:eclipse/myeclipse/idea。springboot中小型企业物流管理系统的设计与实现。springboot基于云计算的城乡医疗卫生服务系统。springboot消防志愿者服务系统的设计与实现。springboot健身房管理系统的设计与实现。springboot听见你的声音心理咨询网站。springboot数学建模论文阅卷系统。

MinGW-w64安装教程——著名C/C++编译器GCC的Windows版本-程序员宅基地

文章浏览阅读354次。MinGW-w64安装教程——著名C/C++编译器GCC的Windows版本https://www.cnblogs.com/ggg-327931457/p/9694516.html这篇文章解决了我的用“pip install mingw”或者“conda install mingw”无法安装mingw的问题,非常有帮助

[附源码]Python计算机毕业设计高校考研信息共享平台设计与开发_考研择校平台技术上是如何实现的-程序员宅基地

文章浏览阅读276次。项目运行环境配置:Pychram社区版+ python3.7.7 + Mysql5.7 + HBuilderX+list pip+Navicat11+Django+nodejs。项目技术:django + python+ Vue 等等组成,B/S模式 +pychram管理等等。环境需要1.运行环境:最好是python3.7.7,我们在这个版本上开发的。其他版本理论上也可以。2.pycharm环境:pycharm都可以。推荐pycharm社区版;_考研择校平台技术上是如何实现的

chatgpt赋能python:Python敲爱心代码的详细方法和注意事项_python爱心代码需要安装什么库-程序员宅基地

文章浏览阅读239次。您可能已经熟悉了Python中的绘图功能。它可以绘制简单的图形和图表,例如线图,柱状图和散点图。但是,您是否知道还可以在Python中绘制爱心?这是一种非常流行的图形,可以在情人节等浪漫场合使用。本文由chatgpt生成,文章没有在chatgpt生成的基础上进行任何的修改。以上只是chatgpt能力的冰山一角。作为通用的Aigc大模型,只是展现它原本的实力。对于颠覆工作方式的ChatGPT,应该选择拥抱而不是抗拒,未来属于“会用”AI的人。AI职场汇报智能办公文案写作效率提升教程 专注于。_python爱心代码需要安装什么库

chatglm2-6b-int4大语言模型家用电脑部署-程序员宅基地

文章浏览阅读1k次。ChatGLM-6B 是一个开源的、支持中英双语问答的对话语言模型,基于架构,具有 62 亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6GB 显存)。ChatGLM-6B 使用了和ChatGLM相同的技术,针对中文问答和对话进行了优化。经过约 1T 标识符的中英双语训练,辅以监督微调、反馈自助、人类反馈强化学习等技术的加持,62 亿参数的 ChatGLM-6B 已经能生成相当符合人类偏好的回答。_chatglm2-6b-int4

Linux启动重启mysql_linux mysql启动-程序员宅基地

文章浏览阅读6.4k次,点赞3次,收藏7次。一、启动方式1、使用linux命令service 启动:service mysqld start2、使用 mysqld 脚本启动:/etc/inint.d/mysqld start3、使用 safe_mysqld 启动:safe_mysqld&一、重启1、使用linux命令service 重启:service mysqld restart2、使用 mysqld 脚本重启:/etc/inint.d/mysqld restart二、停止 1、使用 service 启动: se._linux mysql启动

随便推点

Unity2017 Timeline实例解析:游戏场景中的动画_timeline自定义轨道 2017-程序员宅基地

文章浏览阅读4.2k次。转载注明出处:点击打开链接Unity 2017.1 推出的Timeline功能,不仅可以高效的帮助大家实现游戏场景中的物体动画,还可以制作出更为复杂的过场动画及电影内容。今天这篇文章将由Unity大中华区技术经理成亮,通过实例分析让大家了解Timeline的多轨道,把各类场景中的元素整合实现更为复杂的动画。Timeline简介Timeline 是一套基于时间轴的多轨道动画系统,_timeline自定义轨道 2017

【经典算法题】零钱兑换_java 兑换零钱算法-程序员宅基地

文章浏览阅读2.4k次。【经典算法题】零钱兑换Leetcode 0322 零钱兑换题目描述:Leetcode 0322 零钱兑换分析本题的考点:背包问题。完全背包问题,amout为容量;物品体积为coins[i],价值为1。本题和Leetcode 0279 完全平方数十分类似,可以参考LC279的分析。注意本题和Leetcode 0518 零钱兑换 II的区别,LC518让求得是体积恰好是m的方案数,本题求的是体积恰好是m需要用的最少硬币数。代码C++class Solut_java 兑换零钱算法

精心整理史上最全的数据结构flash演示动画,共5个版本,祝大家考研成功!_数据结构 flash-程序员宅基地

文章浏览阅读1.8k次,点赞2次,收藏4次。精心整理史上最全的数据结构flash演示动画,共5个版本,祝大家考研成功!\数据结构flash演示\版本1\数据结构flash演示\版本2\数据结构flash演示\版本3\数据结构flash演示\版本4\数据结构flash演示\版本5\数据结构flash演示\版本1\1-4 算法和算法分析 冒泡排序.swf\数据结构flash演示\版本1\10-1-1插入排序.swf\数据结构fl..._数据结构 flash

C语言经典算法题_c 语言算法题-程序员宅基地

文章浏览阅读3.5k次,点赞4次,收藏48次。1. 有1、2、3、4个数字,能组成多少个互不相同且无重复的三位数?分别是多少?#include <stdio.h>void main(){ int i,j,k; printf("\n"); for(i=1;i<5;i++){ for(j=1;j<5;j++){ for(k=1;k<5;k++){ if(i!=j&&j!=k&&i!=k){ printf("%d,%d,%d",i,j,k); p_c 语言算法题

c++ stack用法 入门必看 超详细-程序员宅基地

文章浏览阅读1.4w次,点赞38次,收藏187次。stack 容器名如:储存int型数据的栈 stack s;储存double型数据的栈 stack s;储存string型数据的栈 stack s;储存结构体或者类的栈 stack s;当然也可以定义stack数组:储存int型数据的栈 stack s[n];储存double型数据的栈 stack s[n;等等,n为数组的大小。_c++ stack

cuid卡写入后锁死_CUID卡,CUID白卡,CUID门禁卡,CUID电梯卡,CUID可改写卡-程序员宅基地

文章浏览阅读1.9w次。CUID卡是一款支持UID号重复擦写使用的UID卡,无限次修改0扇区!完美替代普通防屏蔽卡(FUID,UFUID)。无需锁卡自动起防屏蔽作用,可重复擦写使用无废卡,不会像FUID或UFUID锁死后才起到防屏蔽作用,更不会因为锁卡而变成一次性卡,无法更改卡内数据成为废卡。CUID防屏蔽卡专门对付物业升级的防复卡和防复读头,是物业升级后UID卡不能使用的克星,CUID卡无论从功能上和价格都优胜FUID..._cuid

推荐文章

热门文章

相关标签