基于单片机的蓄电池的自动监测系统(可编辑)_第1页
基于单片机的蓄电池的自动监测系统(可编辑)_第2页
基于单片机的蓄电池的自动监测系统(可编辑)_第3页
基于单片机的蓄电池的自动监测系统(可编辑)_第4页
基于单片机的蓄电池的自动监测系统(可编辑)_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于单片机的蓄电池的自动监测系统 攀枝花学院本科毕业设计论文基于单片机的蓄电池的自动监测系统学生姓名 学生学号 院系 电气信息工程学院 年级专业 09测控技术与仪器 指导教师 二一三年六月摘要维护工作具有重要的意义本课题的任务就是设计一种蓄电池智能监测仪能实现对蓄电池在浮充状态在充放电过程中的状态监测该监测系统是以AT89C5端电压温度蓄电池单片机监测系统ABSTRACTof great importance as a backup power supply battery is a final lifeline to ensure normal operation of equipment

2、to the task of this research is to design an intelligent battery monitor can realize the battery in a floating state or in the state monitoring in the process of charging and dischargingIn nowadays society the battery application is becoming more and more widely in mosStorage battery as a stable pow

3、er supply and the main dc power supply its maintenance is t vehicle equipped with batteries back-up power and communications industry financial industry backup power supply and so on These occasions are required is very tall to the requirement of storage battery require it to run is absolutely relia

4、ble it is for battery testing and maintenance of high demands are put forward To normal operation of the storage battery therefore improve the service life of the battery reducing application field accidents has important significanceThe monitoring system based on AT89C51single-chip microcomputer as

5、 the core of single chip microcomputer 10 or 20 road this system can measure the voltage of the voltage of the battery battery battery charge and discharge current temperature data acquisition circuit USES modular design can according to the number of battery to determine the number of modules each

6、module can measure a set used to measure the value of the inertia filter filtering method and the theory of integral and differential control and calibrationKeywordStoragebatteryMonitorsystemSinglechipof AT89C51目 录摘 要IAII目 录11 绪论111 课题背景1com 蓄电池研究现状1com 电池的主要性能指标112 蓄电池技术的发展与方向213 本课题所做的主要工作32 测试方法的

7、研究421 蓄电池的内阻422 蓄电池内阻与容量的关系423 蓄电池等效电路524 设计方案论证525 交流法7第3章 硬件电路设计831 总体框架832 主处理器模块933 探测电路1234 差分放大电路12com INA321芯片简化图13com INA2321电路图1335 幅相检测电路14com AD8302电路图1436 模数转换模块设计14com 模数转换芯片AD080914com ADC0809与单片机的接口电路1637 液晶显示16com LCD1602介绍16com LCD1602与单片机的接口电路184 系统软件设计2041 蓄电池自动监测系统软件总体程序设计2042 总电

8、路图2043 程序流程图2144 本章小结275 系统的安装与调试2851 系统调试28com 电路集成2852 软件调试28结 论30参考文献31附录源程序32361 绪论11 课题背景com 电池的主要性能指标1安全性能安全性能指标不合格的蓄电池是不能够使用并且不被人们所介绍因为安全性能指标不合格的蓄电池能引发许多的事故其中影响最大的是爆炸和漏液爆炸和漏液的发生主要与蓄电池的内压结构工艺设计及应用禁止的不正确操作有关 2 额定容量蓄电池静止相当长一段时间后其内部电解液扩散过程停止此时电池用电压表在常温下测正负极板间的电位差就是蓄电池的静止电动势电极材料确定后电动势可用经验公式占钮85d15

9、决定d15是在15时极板微孔内部电解液的密度蓄电池静止时极板微孔内部与容器中的电解液的密度相同 5 内阻铅酸蓄电池的内阻分为金属性电阻电化学性电阻包括涂胶隔板的电阻金属性电阻包终端夹板栅格以及栅格与涂胶之间的电阻本课题拟采用软硬件相结合组成实际控制系统利用相关知识对蓄电池的工作原理和失效机理进行理论分析完成对控制算法的设计在硬件电路设计上要实现系统各个功能模块的正确设计及连接在软件编程方面采用AT89C5单片机完成主控程序编写实现对蓄电池进行快速有效地监控是指蓄电池在工作电流蓄电池内部所受到的阻力一般分为交流内阻和直流内阻由于充电电池内阻很小测直流内阻时由于电极容量极化产生极化内阻无法测出其真

10、实值而测其交流内阻可免除极化内阻的影响得出真实的内值蓄电池的内阻由导体电阻和电化学极化及浓差极化电阻三个部份组成在充放电过程中电阻是变化的充电过程内阻由大变小反之内阻温度对蓄电池内阻影响低温状态如0以下内阻在较高温度时如10以上与电流的大小关瞬间极板硫酸溶液极板孔溶液极板孔中电阻增加端电压但放电后端电压另外内阻因为同容量电池的极板数量薄的要多于厚极板电池的极板数量因此相同电流放电时薄极板电池的电流密度小其各极极化也要小得多由此可见蓄电池内阻是由诸多因素构成的动态电阻我们研究蓄电池的内阻是为了了解与蓄电池直接连接的母线及馈线出口短路时蓄电池将提供多大短路电流并依此来选择母线及其它设备并根据短路电

11、流来确定保护电器的级差配合显然同容量的蓄电池短路电流越大对设备和人身安全带来的危害性也越大R RRcRe式中的R为欧姆内阻Rc为浓差内阻Re为活化内阻 在很多研究方法中使用图1来等效蓄电池蓄电池阻抗等效电路图中字母所示含义Rtp和Rtn是电极离子迁移电阻LpLn为正负极电感CdlpCdln是极板双电层电容ZwpZwn为阻抗Rhf是欧姆电阻 电池阻抗是一个复阻抗对于蓄电池的阻抗就包扩两个方面其中一方面是欧姆阻抗另外一方面就是蓄电池两端的正负极阻抗在其他条件不变的情况下与测试频率有关 通常情况的内阻是指某一固定频率下的内阻值一般的内阻测试有两种测蓄电池的内阻测量如镍镉电池镍氢电池和锂电池使用的频率

12、一般为1KHz用于测铅酸电池的频率一般为10-60Hz24 设计方案论证 蓄电池的内阻要精确测量具有一定的难度的其中存在几个原因第一蓄电池内阻非常小小到毫欧数量级第二精度要求高重复性稳定性要好内阻的变化在一个长时间里是很小的达不到精度重复性和稳定性的要求测量是没有意义的第三在线测量干扰十分严重特别是在同心系统中使用中还有来自通信设备的干扰第四必须是在线测量离线测量意义不大现目前要测出蓄电池的内阻的常见方法有许多种其中包括密度法直流放电法开路电压法交流注入法1密度法它是通过测量出蓄电池中的容液的密度通过测量到的容液的密度来然后算出蓄电池内阻大小而现在的蓄电池基本都是封闭式的无法取得电解液该方法的

13、适用范围窄并且这种方法在精度上有很大的缺陷 2开路电压法它主要是通过测出蓄电池的端电压理由测出来的端电压利用所知的知识运算出蓄电池的内阻但是这种方法的精度很差甚至可能算出不是我们需要的答案即是算出来的内阻数据是错误的结果因为即使一个容量已变小的蓄电池在浮充状态下的时候其端电压仍然可能会表现出正常状态 3直流放大法就是通过对电池进行瞬间大电流放电测量电池的瞬间电压降通过欧姆定律计算出电池内阻由于瞬间大电流对蓄电池有一定的危害并且当内阻值很小时在一定电流下的电压变化幅值相对较小给准确测量带来困难另外由于放电过程电压的变化需要选择稳定区域计算电压变化幅值实际测量中直流方法所得数据的重复性较差 4 交

14、流法是通过对蓄电池外加上一个交流电流当然该电流必须是低频的然后我们就可以测出蓄电池两端的电压和流过的电流因为加入的电流是低频的所以所测出的电压和电流都是低频的通过测出的数据之间的的电压差最后通过这些算出蓄电池当时的内阻 交流法是通过加入一个额外电流即在使用交流法的时候不用让电池处于放电状态或者放完点的状态我们就可以实现对蓄电池的在线监测和管理由此不会对设备运行方面有什么影响同时我们对蓄电池施加的低频信号的频率非常低电流值相对也非常小这样就不会对电池的性能造成什么影响首先产生一个1KHz的恒定交流激励信号交流法通过对蓄电池注入一个交流信号Is测量出蓄电池两端的电压响应信号Vo以及两者的相位差由阻

15、抗公式2和3 2 3即可计算出蓄电池的阻抗进而反映出蓄电池的性能有以上比较我们选用交流法来进行对蓄电池的一些性能的测量25 交流法当使用受控电流时电流如公式4所示 4 产生的电压响应如公式5所示 5 若使用受控电压激励如公式6所示 6 产生的电流响应如公式7所示 7 两种情况的阻抗均为 即阻抗是与频率有关的复阻抗其模如公式8所示 8相角为 一般情况下激励引起的电压幅值变化小于10mV这样能保证阻抗测量的线性从理论上讲向电池馈入一个交流电流信号测量由此信号产生的电压变化即可测得电池的内阻如公式9所示 9式中 Vav-为检测到交流信号的平均值Iav - 为馈入交流信号的平均值用交流法测量内阻的时候

16、我们是在电池上面加上一会交流信号然后测量出通过电池的电流I和该电流在电池两端的所产生的交流电压V通过测量到的电流和电压我们就可以算出蓄电池的阻抗一般情况下我们所选择的交流信号都是低频的并且该交流信号在使用的时候对于电容的所产生的影响很小所以一般我们都忽略不计所以对于我们测得的数据而言实际上就是我们需要的蓄电池的电阻对于交流法它存在的缺点是很容易受到外界的影响但是我们如果选择适当的测试频率并采用有效的滤波器还可以避免电源纹波和其他噪声的影响的交流法对正在使用的蓄电池来说它对系统额外的影响很小而且测量的准确性很高并且在测量的时候不会对蓄电池造成什么影响是测量蓄电池的不二之选第3章 硬件电路设计31

17、 总体框架在实际使用中由于馈入信号的幅值有限电池的内阻在微欧或毫欧级因此产生的电压变化幅值也在微伏级信号容易受到干扰尤其是在线测量时会受到充电机或用电负载的影响交流法首先要有一个交流源原理框图如图2所示交流原就是提供交流信号使之注入到蓄电池后能在蓄电池两端产生一个交流相应信号同时考虑到交流源与蓄电池串联后蓄电池会产生一个直流信号为了避免与恒流源影响故在串联电路中串联一个电容电容可以起到隔直流通交流的作用其阻值的大小选取选择较大电容阻值的因为选择较大的电容c交流信号在其分的电压降就少其阻抗为 1jc蓄电池的内阻不是纯电阻里面存在有容性成分故交流信号经过蓄电池后相位差会发生变化所以要测出蓄电池的阻

18、抗还要测出相位差为了测出相位差我们需要一个参考电压电阻Ro就是提供一个参考电压R取值1K流过一个恒定的交流信号如公式10所示 10R上产生一个已知的电压信号如公式11所示 11设计总体框图如图2所示 图2 设计总体框图因为交流信号经过蓄电池后在蓄电池两端的相应信号十分微弱直接取值不方便并且如果直接取值还携带有直流信号故我们选择一个差分放大器其输入信号就是蓄电池两端的的信号经过差分放大得到蓄电池两端的交流相应电压信号并且此时已经将直流信号去掉同样我们对已知的参考信号R两端的信号作为输入信号也经过差分放大器所以我们就需要两个完全一样的差分放大器放大器我们选用INA2321芯片INA2321放大器一

19、块芯片里面有两个完全一样的放大器故经过INA2321后信号放大同样的倍数放大后的信号经过AD8302幅相检测芯片可以得到两个输入信号的幅度之比和两输入信号的相位差假设幅度之比为q则蓄电池两端的相应电压信号如公式12所示 12带入阻抗公式2和3其中Vo U qARoIs I A 得公式13 R qRocos 13在单片机里数据处理后送入LCD显示直观现实出来蓄电池性能的好坏32 主处理器模块AT89C51它是由一个8位中央处理器一个256B片内RAM以及4KB Flash ROM还要21个特殊功能寄存器4个8位并行IO口两个16位定时计数器一个串行IO口以及中断系统等部分组成各个功能部件通过片内

20、单一总线连为一体集成在一块芯片上1主要特性与MCS-51 兼容 4K字节可编程闪烁存储器 寿命1000写擦循环数据保留时间10年全静态工作0Hz-24Hz三级程序存储器锁定1288位内部RAM32可编程IO线两个16位定时器计数器5个中断源 可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路 AT89C51引脚如图3所示图3 AT89C51引脚2管脚说明VCC供电电压GND接地P0口P0口为一个8位漏级开路双向IO口每脚可吸收8TTL门电流当P1口的管脚第一次写1时被定义为高阻输入P0能够用于外部程序数据存储器它可以被定义为数据地址的第八位在FIASH编程时P0 口作为原码输入口当FIA

21、SH进行校验时P0输出原码此时P0外部必须被拉高P1口P1口是一个内部提供上拉电阻的8位双向IO口P1口缓冲器能接收输出4TTL门电流P1口管脚写入1后被内部上拉为高可用作输入P1口被外部下拉为低电平时将输出电流这是由于内部上拉的缘故在FLASH编程和校验时P1口作为第八位地址接收 P2口P2口为一个内部上拉电阻的8位双向IO口P2口缓冲器可接收输出4个TTL门电流当P2口被写1时其管脚被内部上拉电阻拉高且作为输入并因此作为输入时P2口的管脚被外部拉低将输出电流这是由于内部上拉的缘故P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时P2口输出地址的高八位在给出地址1时它利用内部上拉

22、优势当对外部八位地址数据存储器进行读写时P2口输出其特殊功能寄存器的内容P2口在FLASH编程和校验时接收高八位地址信号和控制信号P3口P3口管脚是8个带内部上拉电阻的双向IO口可接收输出4个TTL门电流当P3口写入1后它们被内部上拉为高电平并用作输入作为输入由于外部下拉为低电平P3口将输出电流ILL这是由于上拉的缘故P3口也可作为AT89C51的一些特殊功能口如下所示P30 RXD串行输入口P31 TXD串行输出口P32 INT0外部中断0P33 INT1外部中断1P34 T0记时器0外部输入P35 T1记时器1外部输入P36 WR外部数据存储器写选通P37 RD外部数据存储器读选通P3口同

23、时为闪烁编程和编程校验接收一些控制信号RST复位输入当振荡器复位器件时要保持RST脚两个机器周期的高电平时间ALEPROG当访问外部存储器时地址锁存允许的输出电平用于锁存地址的地位字节在FLASH编程期间此引脚用于输入编程脉冲在平时ALE端以不变的频率周期输出正脉冲信号此频率为振荡器频率的16因此它可用作对外部输出的脉冲或用于定时目的然而要注意的是每当用作外部数据存储器时将越过一个脉冲不作用与它还有只有当ALE在进行MOVX的任务的时候MOVC的指令是在ALE的作用下才起作用的另外该被作用的引脚被提高还有要在意的是如果设计的微处理器正处在外部执行命令的状态的时候ALE会禁止不会作用与谁所以此时

24、的置位动作会无效化PSEN即外部程序存储器的选通信号每个机器周期两次PSEN有效的时候是这命令在由外部程序存储器取指期间但是当命令在访问外部数据存储器的时间这两次有效的PSEN信号将不会出现EAVPP即外部访问允许当欲使CPU只访问外部存储器的时候必须要使EA端保持在低电平的状态并且接地另外我们需要注意的是如果加密为LB1被编程复位的时候内部会自动锁存EA端当时的状态如EA端为高电平CPU就好执行内部存储器设定好的指令当Flash存储器编程时该引脚会加上12V的编程允许电源Vpp当然该器件的额定电压必须是12V的XTAL1振荡器反向放大器和内部时钟发生器的输入端XTAL2振荡器反向放大器的输出

25、端本设计采用的处理器模块如图4所示图4 主处理器模块33 探测电路此电路就是连接蓄电池的直接电路伸出的两根线分别如蓄电池的正负极相接即可完成该部分电路如图4所示图5 探测电路34 差分放大电路放大器芯片INA2321是INA321系列输入输出电压范围可以达到电源电压的提供的微功耗 CMOS 仪表放大器可以单电源以及双电源INA321 系列提供低成本低噪声微功耗的差分信号的放大器 40A 的电流消耗 当芯片关闭该INA321 有静态电流小于 1A在几纳秒返回到正常工作关机功能可以在使INA321 得到最佳应用低功耗电池或多路复用在内部增益配置为 5VVINA321 提供了灵活的外接电阻可以得到灵

26、活的增益com INA321芯片简化图该芯片引脚如图5所示图6 INA321芯片引脚引脚56分别与1接上电阻R1和R2电阻阻值的不同可以得到不同的增益如公式14所示 14com INA2321电路图 INA2321芯片有两个这样的接法与之类似其INA2321芯片的外围连接电路如图6引脚3和2接蓄电池两端的信号引脚5和6接已知电阻Ro两端的信号作为差分放大器的输入信号输出端为引脚13和9此放大电路滤出了直流成分的影响而且解决了相应信号微弱难易采集的问题其中根据实际情况图中电阻R7R8R9R10的阻值选取合适的阻值但是R7与R10R9与R8必须分别取值相同才能得到相同的增益另外INA2321中两个

27、放大器存在相同的环境中温度等即它们产生相同的放大倍数图7 差分放大电路35 幅相检测电路本次设计使用的芯片可以得到两个输入信号的幅度之比和两个输入信号的相位差com AD8302电路图AD8302芯片的外围连接电路如图8图9 幅相检测电路R1R2为输入端电阻R3为UREF输出端的负载C1C4为交流输入的耦合电容C2和C3为滤波电容C5C6为电源退耦电容 36 模数转换模块设计 com 模数转换芯片AD0809AD0809芯片引脚如图9所示图10 AD0809芯片引脚1AD转换器的功能是将模拟量电信号转换成数字量 AD转换器的工作电压5V由于片内无时钟所以一般都需要外加640KHz以下且不低于1

28、00KHz的时钟信号模拟多路转换开关一般采用8路模拟开关和3位地址锁存与译码器组成的转换开关地址锁存即是将ADDCADDB和ADDA进行锁存然后就通过译码电路选择其中一个电路的信号加到AD转换部分然后对其进行转换2ADC芯片的控制信号 启动转换信号START是由CPU提供给ADC芯片的在正脉冲的下降沿转换开始 转换结束信号EOC一旦启动转换EOC立即变低直至转换结束EOC输出高电平通知CPU转换已结束 允许输出信号OEADC转换结束后转换结果存放在输出锁存器中并没有送入数据总线上CPU取数时发出OE信号选通芯片内部的三态输出缓冲器将数据输出 3引脚功能D7D08位数据输出线 IN7IN08路模

29、拟量输入端 ADDCADDBADDA三位地址输入线他们的作用是选择8路模拟输入中的一路处于通行状态 ALE地址锁存允许信号输入高电平有效STARTAD转换启动信号输入高电平有效EOCAD转换结束信号输出当AD转换结束时此端输出一个高电平在转换期间都是低电平OE数据允许输出信号输入只有在高电平的时候才有效当AD转换结束的时候在此端口输入一个高电平之后才能使输出三态门打开达到输出我们需要的数字量CLOCK时钟脉冲输入端该时钟频率要求不能超过最高频率 REFREF-基准电压Vcc电源单一5V另外对于模拟的输入和数字量的输出的关系为NVIN-VREF-256VREF-VREF-当VREF5VVREF-

30、0V若输入模拟电压为25V则转换后的数字量N128即二进制数10000000Bcom ADC0809与单片机的接口电路AD0809芯片与单片机的连接如图10所示图11 AD0809与单片机的连接图引脚ADD A ADD BADD C分别接单片机P23P24P25用来选择需转换的模拟通道转换的数字量与单片机的P1口相连当OUTPUT ENABLE引脚有效时单片机读取转换过的数据 37 液晶显示com LCD1602介绍字符型液晶显示模块是一种专门用于显示字母数字符号等点阵式LCD目前常用161162202和402行等的模块本设计用的是16216列2行 模块1602可以显示内部常用字符 包括阿拉伯

31、数字英文字母大小写常用符号和日文假名等 也可以显示自定义字符 单或多个字符组成的简单汉字符号图案等最多可以产生8个自定义字符 11602LCD采用标准的14脚无背光或16脚带背光接口各引脚接口说明第1脚VSS为电源地第2脚VDD5V第3脚Vee对比调整电压第4脚RS输入0 输入指令1 输入数据第5脚RW输入0 向LCD写入指令或数据1 从LED读取信息第6脚E输入使能信号1时读取信号10为下降沿执行指令第714脚DB0DB7输入输出数据总线第15脚AVCCLCD背光电源正级第16脚K接地LCD背光电源负极21602LCD的指令说明1602LCD的指令共有11条指令指令1清屏指令指令2光标归为指

32、令指令3进入模式设置指令指令4显示开关控制指令指令5设定显示屏或光标移动方向指令指令6功能设定指令指令7设定CGRAM地址指令指令8设定DDRAM地址指令指令9读取忙信号或AC地址指令指令10数据写入DDRAM或CGRAM指令一览指令11从CGRAM或DDRAM读取数据的指令一览3读写操作时序如图所示读操作时序写操作时序41602LCD的RAM地址映射液晶显示模块这种器件在显示的时候非常慢的所以在执行每条指令之前一定要确认模块的忙标志为低电平表示不忙否则此指令失效1602的内部显示地址如图13所示图14 1602LCD内部显示地址com LCD1602与单片机的接口电路LCD1602与单片机的

33、连接如图14所示图15 LCD1602与单片机的连接控制信号由单片机 P20P22控制数据从P00P07引入通过P20来选择是用数据寄存器还是指令寄存器P22作为芯片使能端子P21控制芯片是进行读操作还是写操作液晶显示模块是一个慢显示器件所以在执行每条指令之前一定要确认模块的忙标志为低电平表示不忙否则此指令失效4 系统软件设计41 蓄电池自动监测系统软件总体程序设计在设计软件要明确系统功能系统在使用之前要进行校准包括基准电压输入电流量程输入对报警上下限进行设置温度上限电压上下限内阻上限还要设置本机地址读取温度序列号通讯波特率在蓄电池自动监测系统使用时要对蓄电池的状态进行测量对测量结果进行校准然

34、后计算蓄电池的电动势的值内阻并液晶显示屏系统测量多路选择显示哪一路键盘完成同时系统还应判断各参数值是否超限超限报警系统还要具有与上位机通讯的功能总电路图43 程序流程图系统的正常工作是硬件与软件共同完成的本系统下位机软件采用C 语言编写采用模块化的程序设计方法主要包括初始化模块主程序模块电压 电流采集模块放电控制模块通讯模块显示模块数据记录模块下主程序流程图如图所示系统程序流程图上述的参数判断主要是针对温度因为蓄电池的最高承受温度是65摄氏度所以当温度超过蜂鸣器会响1温度读入部分程序设计数字式温度传感器DSl8B20可将测量到的温度以两个字节的形式存放在内部的芯片存储器中由于它采用了的通讯的方

35、式当在总线上面存在了多于一个DSl8B20的时候就需要我们先指定出一个主DSl8B20了让它拥有特殊的权利即是该主DS18B20占用总线的特殊权力由于存在这个原因在存在多个DSl8B20的系统的时候在系统能正常工作前我们就需要对系统中所有存在的DSl8B20的序列号进行读取然后将它们都保存在系统的存储器中DSl8B20的内部命令我们分成了两种暂存器命令ROM命令其中暂存器命令指的是对DSl8B20中存储器的一些操作它包括对温度的读取转换以及上限和下限值的操作但是DSl8B20若想要实现某一个命令还必需要ROM命令和暂存器命令这两个命令同时使用的配合使用才能实现该命令的完成另外ROM命令的任务是

36、负责对DS18B20内部ROM的操作其中包括对序列号的寻址读取搜索等操作我们所设计的测温程序的流程如图所示测温程序流程图由于电流由敏感元件测量得到电压通过精密电阻的分压得到所以只涉到数据处理电流电压读入流程图3通讯部分程序设计我们所设计的蓄电池自动监测系统其中要求该系统能够和上位机之间达到通讯对于通讯方式我们所设计的单片机有总共存在4种串行通讯方式在蓄电池监测系统中我们选择了其中一种通讯方式对于该方式我们选择的是方式3该通讯方式是11位异步收发波特率由定时器l控制在使用前要设置波特率并且通讯方式3适用于多机通讯在方式3前提下通讯时的串行帧格式为l位起始位可编程的低9位1个停止位8位数据位在该单

37、片机和上位机实施通讯的时候我们还需要遵循一定的通讯之间的协议在通讯的协议中我们要规定波特率帧格式联络信号数据差错检查等一些需要规定的通讯程序流程图如下图所示 程序流程图显示程序设计的主要内容是对EDMl2864-09液晶显示这一块的的程序编写首先我们要让液晶模块进入初始化状态然后液晶显示屏才可以显示出我们需要的数据但是在以后的显示中我们就不需要在让液晶模块进行初始化了另外如果在系统使用时的时候我们不进行任何的操作由于默认的就会显示出电路的第一路的状态如果我们要观察到其他路的状态的话就需要我们通过键盘的操作来达到观察其他线路的状态液晶显示屏显示的是哪一路的状态是通过判断一个标志位来具体确定的若是

38、出现不正常情况报警的时候显示屏也将会显示出不正常的那一路的状态如果是系统处在通讯的状态下液晶屏幕上也将会显示报警和通讯显示都是通过判断报警标志位和通讯标志位是否置位才进行操作的该设计的系统上面的液晶显示屏上还要求显示电池的各个路号以及电池的电池温度端电压电动势和充放电电流等一些电池的基本信息这些电池的基本信息是需要固定显示在屏幕上面的的但是屏幕所显示的数字信息则是按照我们预先设定的周期按时刷新的当系统进入工作状态的时候我们也要求液晶屏幕的下方能够出现相应的我们预先设置的一些工作要求根据液晶模块的指令可完成对它的编程显示程序流程图如图所示 显示程序流程图44 本章小结本设计的软件设计部分也采用了

39、功能模块化设计方法为硬件电路设计了相应的子程序次设计的优点是方便在主程序中进行调用大大地增强了程序的可读性降低了调试的难度使程序变得更加易于维护和扩展由于子电路和子程序是相对应的所以很好的实现了系统软硬件之间的协调统一在设计完成后必须进行系统的硬件及软件调试修改设计中的错误调试应针对所设计的系统的自身特点硬件调试主要是针对电路中各元器件的设计缺陷连接错误和器件故障进行排除本设计中主要硬件调试内容如下1 检查各元件的实际封装和设计时PCB板中的封装是否一致一致则连接线路如不一致则需要修改电路或重新选择器件2 确认各电源部分大小和元器件的规格说明相符如高于元器件额定电压则需要加装稳压管并且注意电源

40、的正负极位置以防电源短路和错接极性3 连接电路时核对元器件型号规格和安装是否符合对照图纸确认电路连接正确对出现的错误进行及时修正4 检查各元件的电气功能是否正常焊板通电后用万用表电压档测量各元件引脚的电压数据是否正确然后断开电源接上单片机传感器和其它各单元器件再次通电查看各元件运行状况对各芯片输以电平查看其输出电平确认逻辑关系正确性5 设计中单片机使用上电复位电路有时电容值过小会造成复位时间太短出现无法正常复位的现象在实际接线过程中检查电容大小是否足够出现上述情况则改变电容大小软件调试并非用实际调试而是在仿真软件上进行模拟调试软件开发环境 MedWinV30编译软件利用该软件可以对程序进行编译

41、改错和调试该软件的模拟调试器支持单片机汇编语言源代码调试其汇编程序支持宏汇编及模块化编程使用方便软件调试内容主要由以下内容1 在编写汇编程序的时候经常会不可避免的出现语句拼写错误定义重复等问题光靠人工编程时的检查很难将其全部修正MedWinV30编译软件即有此功能在输入程序后它可以自动发现错误并提供错误的位置和原因调试时可根据软件的提示修正程序2 在模拟调试器中调试各子模块设置单片机运行方式和入口条件检查各芯片运行状态确定子程序运行结果与设计中的预定目标相符3 各子模块调试正常后再将各子模块及主模块连接起来进行整体程序调试确定整体程序能完成预先设计的系统功能如果程序运行错误则对子程序和主程序的

42、兼容性如数据存储缓冲单元是否冲突堆栈是否溢出等进行排查最后全部汇编连接成目标文件最后将目标代码下载到单片机中并连接智能仪表进行统调次毕业设计是单片机的蓄电池自动监测系统的设计它是最典型的单片机控制系统设计主51这个型单片机监测控制方面的应用分析蓄电池的端电压电动势内阻充放电电流温度等参数测量监测设计中数据采集运算及控制部分通过这次蓄电池自动监测系统的设计常用芯片硬件接口电路和软件规划方面的知识考虑到所使用的芯片是合适软件过程中我学到了许多软件编程的技巧我实际体验整个设计王建钱敏免维护铅酸电池的状态监测J华东地址学院学报199922 4 309-313陈剑徐剑虹阀控密封铅酸蓄电池失效机理及检J电

43、源技术199923 6 332-334张红润孙悦等著单片机原理及应用M清华大学出版社2008吴国经主编单片机应用技术M中国电力出版社2004沈红卫著基于单片机的智能系统设计与实现M电子工业出版社2005冯建华等著单片机应用系统设计与产品开发M人民邮电出版社2004马忠梅籍顺心张凯等编著单片机的C语言程序设计第三版M北京航空航天大学出版社2003徐薇莉 曹柱中控制理论与设计M上海交大出版社200374-82先锋工作室单片机程序设计实例M清华大学出版社2003104-110 徐曼珍新型蓄电池原理与应用M北京人民邮电出版社2005徐薇莉 曹柱中控制理论与设计M上海交大出版社200374-82李立伟邹

44、积岩蓄电池在线监测系统的设计与实现J电工技术杂志2002117-9 李华MCS-51系列单片机使用接口技术M北京航空航天大学出版社1990 王福瑞等编著单片微机测控系统设计大全M北京航空航天大学出版社1999 15 李朝青单片机原理及接口技术第3版M北京北京航空航天大学出版社200816 高惠芳单片机原理与应用技术M北京科学出版社201017 周润景 张丽娜 基于PROTEUS的电路及单片机系统设计与仿真M 北京北京航空航天大学出版社 201018 李朝青单片机DSP外围数字IC技术手册M北京北京航空航天大学出版社2009附录源程序KS1AJMP KEY1 MOV A0FFH MOV P1A

45、MOV AP1 读P1口键值 CPL A A取反无键按下则全0 ANL A0FH 屏蔽A高半字节 RETKEYIACALL KS1 检查是否有键闭合 JNZ LK1 A非0则转移 ACALL DISP 显示一次延时10ms AJMP KEY1LK1 ACALL DISP 有键闭合二次消抖动延时20 msACALL DISP ACALL KS1 再检查有键闭合否JNZ LK2 有键闭合转LK2ACALL DISPAJMP KEY1 经去抖动确认无键闭合延时10ms后转KEY1LK2 MOV R20EH 扫描初值进R2 MOV R400H 扫描列号送R4LK4 MOV P1A 扫描初值送P1口 MOV AP1 读P1口 JB ACC0LONE ACC0 1第0行无键闭合转LONE MOV A00H 装第0行初值 AJMP LKPLONE JB ACC1LTWO ACC1 1第1行无键闭合转LTWOMOV A04H 装第1行初值AJMP LKPLTWO JB ACC2LTHR ACC2 1第2行无键闭合转LTHR

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论