【毕业设计】13-基于单片机的锂电池管理系统(原理图+源码+仿真工程+答辩论文+答辩PPT)

文章目录

  • 【毕业设计】13-基于单片机的锂电池管理系统(原理图+源码+仿真工程+答辩论文+答辩PPT)
    • 资料下载链接
    • 任务书
    • 设计说明书
      • 摘要
      • 设计框架架构
      • 设计说明书及设计文件
      • 源码展示

资料下载链接

资料链接
包含此题目毕业设计全套资料:
原理图工程文件
源码工程
仿真工程
论文低重复率,字数:27821。

任务书

研究基本内容:
1.了解在以单片机为基础上的动力锂电池管理系统的研究目的、意义及研究现状;
2.利用单片机实动力电池电压、电流、温度检测的功能,并完成电路设计及仿真;
3.设计一套在以单片机为基础上的动力锂电池管理系统,完成相应管理功能;
拟解决的主要问题:
1.确定在以单片机为基础上的动力锂电池管理系统的基本框架及组成。
2.确定论文大致方向,围绕着安全、准确、绿色、节能、节耗、环保为中心,对以单片机为基础的动力锂电池管理系统查找资料文献和后期的论文进展做打算。
3.通过大量查阅资料,了解以单片机为基础的动力锂电池管理系统的主要构成部分,并针对其结构系统的学习每个分支知识点。

设计说明书

摘要

电池管理系统的研究与开发应用都涉及到传感器技术,电气控制技术以及智能化控制技术。智能化控制技术是一门综合性的技术性学科,在当代的研究控制领域中也变得越发广泛。在本次设计基于动力锂电池管理系统的设计是一款具前沿科学的锂电池管理控制系统。本系统设计并实现,需要实现系统的电压、电流、温度检测功能。
需要对系统功能规划系统设计完成系统的硬件电路部分、软件编程部分、焊接组装部分、调试测试部分,最终完成本次论文的研究与设计。分别为系统研究背景分析了解当前电池管理方案了解,电池高效管理研发情况掌握当前最新的研发背景;根据功能对系统的方案进行分析确认系统的研发方案,并且对系统的元器件选择,确认传感器、主控芯片、电压、电流检测电路等;确认方案后对系统的硬件电路设计,对系统的各个子电路设计然后分配单片机资源;硬件电路设计然后对系统的软件部分编写,绘制系统程序设计总流程,程序进行模块化设计实现功能分区,再将各个功能驱动调用在主函数中;最后对系统的仿真调试调试,通过仿真软件验证测试,最终评估是否完成系统的设计预期功能。
系统在设计过程中充分考虑到了系统的稳定性和系统的抗干扰能力,是一款合格的动力锂电池管理系统。

设计框架架构

前言 1
第一章 绪论 2
第一节 系统概述 2
第二节 研究背景及意义 2
一、国内研究背景及意义 2
二、国外研究现状 3
第三节 本文的主要研究内容 4
第四节 本章小结 5
第二章 系统方案设计 6
第一节 磷酸铁锂电池的工作特性 6
一、磷酸铁锂电池的充放电特性 6
二、锂电池组的均衡特性 7
第二节 系统总方案设计 8
第三节 系统测量算法 9
一、测量算法介绍 9
二、内阻与电动势的测量 10
第四节 元器器件方案选择 12
一、主控芯片选择 12
二、温度传感器选择 13
第五节 本章小结 13
第三章 系统电路设计 14
第一节 单片机最小系统电路设计 14
一、单片机介绍 14
二、单片机最小系统 16
第二节 电流、电压检测电路设计 17
第三节 人机交互电路设计 17
第四节 温度检测电路设计 18
第五节 电源电路设计 19
第六节 显示器电路设计 20
第七节 系统总电路设计 21
第八节 本章小结 21
第四章 系统软件设计 22
第一节 开发工具介绍 22
第一节 系统软件总流程设计 22
一、主程序设计流程 22
二、主函数程序 24
第二节 电流、电压检测程序设计 25
一、电流、电压检测程序设计流程 25
二、电流、电压检测子程序 26
第三节 温度检测程序设计 26
一、温度检测设计流程 26
二、温度检测子程序 27
第四节 液晶显示程序设计 28
一、液晶显示设计流程 28
二、液晶显示子程序 29
第五节 按键程序流程设计 30
一、按键程序设计流程 30
二、按键驱动子程序 30
第六节 本章小结 31
第五章 系统的仿真实现 32
第一节 仿真软件介绍 32
第二节 仿真电路搭建 33
第三节 仿真测试 34
一、系统功能测试 34
二、阈值调节 35
第四节 本章小结 39
结 论 40
致 谢 41
参考文献 42
附 录 44
一、英文原文 44
二、英文翻译 48
三、工程图纸 53
四、源代码 54

设计说明书及设计文件

字数:27821。

源码展示

#include "reg52.H"
#include "stdio.h"
#include "intrins.h"
#define     u8              unsigned char
#define     u16         unsigned int
#define     uchar           unsigned char
#define     uint        unsigned int
uchar yushe_wendu=50;              //温度预设值
uchar wenduchar=0;
uint wendu;                                 //温度值全局变量
#define const_dpy_time_half  200  //数码管闪烁时间的半值
#define const_dpy_time_all   400/数码管闪烁时间的全值 一定要比const_dpy_time_half 大
sbit K1 = P3^5;//设置键
sbit K2 = P3^6;//加键
sbit K3 = P3^7;//减键
unsigned char pre_key = 0x0f;//记录按键状态
unsigned char key_value = 20;//获取到的按键值
#define DB P0//液晶并行数据接口
sbit  RS = P1^2;//液晶指令数据信号
sbit  RW = P1^3;//液晶读写信号
sbit  E  = P1^4;//液晶使能信号
unsigned char   curr_menu = 0;//设置参数
unsigned char ucWd=1;  //本程序的核心变量,窗口显示变量。类似于一级菜单的变量。代表显示不同的窗口。
unsigned char ucWd1Update=0; //窗口1更新显示标志
unsigned char ucWd2Update=0; //窗口2更新显示标志
unsigned char ucPart=0;//本程序的核心变量,局部显示变量。类似于二级菜单的变量。代表显示不同的局部。
unsigned char ucWd1Part1Update=0; //在窗口1中,局部1的更新显示标志
unsigned char ucWd1Part2Update=0; //在窗口1中,局部2的更新显示标志
unsigned char ucWd2Part1Update=0; //在窗口2中,局部1的更新显示标志
unsigned char ucWd2Part2Update=0; //在窗口2中,局部2的更新显示标志
unsigned char ucDpyTimeLock=0; //原子锁
unsigned int  uiDpyTimeCnt=0;  //数码管的闪烁计时器,放在定时中断里不断累加
unsigned char   i;//循环变量
unsigned char   cnt_100ms = 0,cnt_500ms =0;//100ms计数
unsigned char   time_100ms_flag = 0;//100ms标志
unsigned char   blank_flg;//闪烁标志
unsigned char   blank_tim_cnt;//闪烁计数
sbit  CS=P1^5;
sbit  CLK=P1^6;
sbit  DIO=P1^7;
unsigned int   ad_val_a;
unsigned int   ad_val_b;
unsigned int  v_alarm_tl=80;// 欠压报警器值
unsigned int  i_alarm_th=130;// 过流报警值
sbit  v_alm=P2^0;//欠压显示灯
sbit  i_alm=P2^1;//过流显示灯
void delay_ms(unsigned int cnt)//软件延时1MS
{unsigned int x;for( ; cnt>0; cnt--)//通过for循环执行空指令延时{for(x=110; x>0; x--);}
}
void delay_us(unsigned int cnt)//软件延时1us
{while(--cnt);
}
void time_init(void)//定时器初始化
{TMOD |= 0x11;//time0 工作方式为1TH0 = 0xf8;//装载初值TL0 = 0x2f;//装载初值,为2ms(65535-63535)TR0 = 1;//开启定时器ET0 = 1;//打开中断EA=1;//打开总中断
}
/
/***********************************************************************************************************
DS18B20相关函数
***********************************************************************************************************/
sbit DQ = P1^0;                 //ds18b20的数据引脚
/*****延时子程序:该延时主要用于ds18b20延时*****/
void Delay_DS18B20(int num)
{while(num--) ;
}
/*****初始化DS18B20*****/
void Init_DS18B20(void)
{unsigned char x=0;DQ = 1;         //DQ复位Delay_DS18B20(8);    //稍做延时DQ = 0;         //单片机将DQ拉低Delay_DS18B20(80);   //精确延时,大于480usDQ = 1;         //拉高总线Delay_DS18B20(14);x = DQ;           //稍做延时后,如果x=0则初始化成功,x=1则初始化失败Delay_DS18B20(20);
}
/*****读一个字节*****/
unsigned char ReadOneChar(void)
{unsigned char i=0;unsigned char dat = 0;for (i=8;i>0;i--){DQ = 0;     // 给脉冲信号dat>>=1;DQ = 1;     // 给脉冲信号if(DQ)dat|=0x80;Delay_DS18B20(4);}return(dat);
}
/*****写一个字节*****/
void WriteOneChar(unsigned char dat)
{unsigned char i=0;for (i=8; i>0; i--){DQ = 0;DQ = dat&0x01;Delay_DS18B20(5);DQ = 1;dat>>=1;}
}
/*****读取温度*****/
unsigned int ReadTemperature(void)
{unsigned char a=0;unsigned char b=0;unsigned int t=0;float tt=0;Init_DS18B20();WriteOneChar(0xCC);  //跳过读序号列号的操作WriteOneChar(0x44);  //启动温度转换Init_DS18B20();WriteOneChar(0xCC);  //跳过读序号列号的操作WriteOneChar(0xBE);  //读取温度寄存器a=ReadOneChar();     //读低8位b=ReadOneChar();    //读高8位t=b;t<<=8;t=t|a;tt=t*0.0625;t= tt*10+0.5;     //放大10倍输出并四舍五入return(t);

【毕业设计】13-基于单片机的锂电池管理系统(原理图+源码+仿真工程+论文)相关推荐

  1. 【毕业设计】9-基于STM32无刷直流电机控制器的设计仿真与实现(原理图+源码+仿真工程+论文+PPT+参考英文文献)

    毕业设计]基于STM32无刷直流电机控制器的设计仿真与实现(原理图+源码+仿真工程+论文+PPT+参考英文文献) 文章目录 毕业设计]基于STM32无刷直流电机控制器的设计仿真与实现(原理图+源码+仿 ...

  2. 9-基于STM32无刷直流电机控制器的设计仿真与实现(原理图+源码+仿真工程+论文+PPT+参考英文文献)

    基于STM32无刷直流电机控制器的设计仿真与实现(原理图+源码+仿真工程+论文+PPT+参考英文文献) 文章目录 基于STM32无刷直流电机控制器的设计仿真与实现(原理图+源码+仿真工程+论文+PPT ...

  3. [附源码]计算机毕业设计Python基于web的羽毛球管理系统(程序+源码+LW文档)

    该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程 项目运行 环境配置: Pychram社区版+ python3.7.7 + Mysql5.7 + HBuilderX+list pip+N ...

  4. 计算机毕业设计Java桌游店会员管理系统(源码+系统+mysql数据库+Lw文档)

    计算机毕业设计Java桌游店会员管理系统(源码+系统+mysql数据库+Lw文档) 计算机毕业设计Java桌游店会员管理系统(源码+系统+mysql数据库+Lw文档) 本源码技术栈: 项目架构:B/S ...

  5. 计算机毕业设计JAVA毕业生就业去向登记管理系统mybatis+源码+调试部署+系统+数据库+lw

    计算机毕业设计JAVA毕业生就业去向登记管理系统mybatis+源码+调试部署+系统+数据库+lw 计算机毕业设计JAVA毕业生就业去向登记管理系统mybatis+源码+调试部署+系统+数据库+lw ...

  6. 计算机毕业设计springboot基于vue众筹平台系统 aj3l6源码+系统+程序+lw文档+部署

    计算机毕业设计springboot基于vue众筹平台系统 aj3l6源码+系统+程序+lw文档+部署 计算机毕业设计springboot基于vue众筹平台系统 aj3l6源码+系统+程序+lw文档+部 ...

  7. JAVA计算机毕业设计伊伊物流公司的管理系统Mybatis+源码+数据库+lw文档+系统+调试部署

    JAVA计算机毕业设计伊伊物流公司的管理系统Mybatis+源码+数据库+lw文档+系统+调试部署 JAVA计算机毕业设计伊伊物流公司的管理系统Mybatis+源码+数据库+lw文档+系统+调试部署 ...

  8. 计算机毕业设计Java小型企业员工工资管理系统(源码+系统+mysql数据库+Lw文档)

    计算机毕业设计Java小型企业员工工资管理系统(源码+系统+mysql数据库+Lw文档) 计算机毕业设计Java小型企业员工工资管理系统(源码+系统+mysql数据库+Lw文档) 本源码技术栈: 项目 ...

  9. 计算机毕业设计JAVA离散制造业产品销售管理系统mybatis+源码+调试部署+系统+数据库+lw

    计算机毕业设计JAVA离散制造业产品销售管理系统mybatis+源码+调试部署+系统+数据库+lw 计算机毕业设计JAVA离散制造业产品销售管理系统mybatis+源码+调试部署+系统+数据库+lw ...

最新文章

  1. 【转】如何单独编译Android源代码中的模块--不错
  2. ACE-Streams架构简介及应用
  3. Azure负载均衡器Standard Load Balancer介绍
  4. 服务器时间修改日志怎么查,查看云服务器的操作日志
  5. 洛谷 P4011 孤岛营救问题【最短路+分层图】
  6. 前端学习(1613):oracle基本概念
  7. 邻近算法(KNN算法)
  8. 类型的值怎么用es查询_腾讯游戏信用分怎么查询在哪看 有什么用怎么提升介绍...
  9. 快速在指定文件夹打开命令行
  10. 【Paper】A Comprehensive Survey of Clustering Algorithms
  11. ubuntu14.04不能上网
  12. 部署听云服务器监测探针
  13. 微信小程序报错unshift is not a function
  14. 你搜索过的羞羞小网站,谷歌都悄悄帮你保存起来了
  15. 使用idea构建父子类springboot项目教程,并教你启动子项目(构建项目集合)
  16. 容性耦合等离子体(CCP)和电感耦合等离子体(ICP)
  17. Google Scholar引用没有GB/T
  18. 使用mlpack解决机器学习基本算法之一准确率、精准率、召回率、F1以及mlpack中的Classify
  19. 转:外出旅游保健十大守则
  20. Qt实现播放Flash

热门文章

  1. 用计算机键盘弹少年,少年留步,这把键盘你值得入手!
  2. Subscripts
  3. 解决attempt to index local 'self' (a number value)的错
  4. postgresql分割字符串_postgresql 实现字符串分割字段转列表查询_PostgreSQL_数据库
  5. (一)vhdl如何转换转换verilog?(人肉翻译—保姆教学版)
  6. 华为G520联通版解锁,ROOT,RECOVERY、卡刷及删除定制软件教程
  7. Photoshop-图像的自由变换
  8. PTA 查询名字中含有“明”字的男生的学生姓名和班级分数 3
  9. tensorflow 自编码器 MNIST数据集
  10. Fabric.js 删除元素(带过渡动画)