文档详情

51单片机电池电量检测系统设计.docx

发布:2021-11-06约1.52万字共20页下载文档
文本预览下载声明
51单片机电池电量检测系统设计 51单片机电池电量检测系统设计 PAGE 8 PAGEPAGE 21 51单片机电池电量检测系统设计 目录 TOC \o 1-3 \h \z \u 1. 设计要求 3 2. 设计思路 3 . 设计假设 3 . 设计方案 3 . 数学实现 3 3. 电路设计 4 . 整体电路结构 4 . 单片机最小系统 4 原理图 5 AT89C52单片机 5 时钟电路 5 复位电路 5 电源 5 . AD转换电路设计 5 原理图 5 ADS7825 6 . 数码管电路设计 7 原理图 7 数码管 7 74LS138 7 74LS373 8 . 串行口电路设计 8 原理图 8 MAX232 8 DB-9 9 4. 程序设计 9 . 单片机程序设计 9 程序流程图 9 程序设计 10 . 上位机程序设计 11 程序流程图 11 界面设计 12 程序设计 12 5. 系统调试 12 . 串口参数设置 12 . 调整滑动变阻器 13 . 启动MCU软件仿真 13 . 打开上位机串口连接 13 . 观察数码管显示及上位机显示 13 6. 总结 14 7. 附件1(硬件原理图) 15 8. 附件2(单片机源程序) 16 设计要求 本次设计要求,依据实验数据,设计简易的电池电量监测电路。该3AH的电池,在某固定环境下放电实验数据如 REF _Ref \h 表 1所示。要求依据测量电压推算时间,以此作为电量标识,并采用某种方式进行显示。 表 SEQ 表 \* ARABIC 1 放电实验数据 设计思路 设计假设 本次设计基于以下假设。在任意时刻t测得开路电压值V,不考虑其在t时刻前的具体放电过程。即认为该时刻电池开路电压V,是持续以放电实验中使用的放电电流I(500mA),由满电量电压,放电?t时间得到的。即, 设计方案 通过AD芯片获取电池两端开路电压,将模拟量电压值转换为单片机可处理的数字量。随后依据该测得的电压值按照所建立数学模型进行运算。然后将该数字电压值及其运算结果通过数码管显示,并同时通过串行口发送至上位机。上位机接收到数据后做相关处理显示工作。 数学实现 ?t的值由插值的方式计算。依据 REF _Ref \h 表 1中的实验数据,通过测得的电压V,由下列公式逆向计算,其中t1,t2,V1 放电时间: ? 已用电量: ?Q 剩余电量: Q 剩余电量百分比: P= 其中时间单位为min,电流单位为mA,电量单位为mA?min。 按照如上方式使用实验数据,运用Matlab绘图得到如下结果。 图 SEQ 图 \* ARABIC 1 实验曲线 其绘图过程如下述程序所示。 图 SEQ 图 \* ARABIC 2 实验曲线绘制 电路设计 整体电路结构 整体电路原理图由Protues软件进行绘制并仿真。为简化连线便于观察逻辑,其中使用了网络标签的方式,对实际物理上相连而原理图中未连接的管脚,给予了相同的名称,则在逻辑上他们互相连接。具体电路原理图见附件1。 单片机最小系统 单片机最小系统是单片机能够正常执行内置程序,发挥其基础功能的必须组成部分。包括单片机,电源部分,时钟电路部分及复位电路部分。 原理图 图 SEQ 图 \* ARABIC 3 AT89C52最小系统 AT89C52单片机 本次设计中主要用到了该型单片机的IO口,串口及定时器。其中,P0口用于和AD转换电路交换数据。P2口部分管脚用于控制AD转换芯片工作及读取其状态。P3口管脚用作第二功能串行口数据输出,其余用到的管脚用于进行数码管位选。P1口用于数码管段选。 本次设计未使用片外数据/程序存储器,因此PSEN,ALE,EA均处于悬空状态。且本次设计中,与ADC芯片的数据交换未采用外部拓展总线的方式,将其视为普通IO 时钟电路 时钟电路为单片机最小系统组成之一,用于提供时钟信号,驱动CPU指令的执行,并为定时器等提供内部时间基准。本次设计采用无源晶振,为保证串口通信波特率准确,其频率选定为。 复位电路 复位电路用于在单片机程序执行出现异常时,重新初始化运行,从而防止由数字电路竞争冒险及环境干扰引起的,单片机系统的不正常工作。本次设计中的复位电路同时具有上电自动复位及按键复位的功能。其中上电时由电容C5将RST引脚拉高,提供复位信号。 电源 单片机由5V稳压电源供电,由于仿真软件对其供电电路进行了省略,因此在 REF _Ref9529071 \h 图
显示全部
相似文档