基于单片机的车载电池状态检测系统设计(共36页)_第1页
基于单片机的车载电池状态检测系统设计(共36页)_第2页
基于单片机的车载电池状态检测系统设计(共36页)_第3页
基于单片机的车载电池状态检测系统设计(共36页)_第4页
基于单片机的车载电池状态检测系统设计(共36页)_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

1、皖西学院本科毕业论文(设计)皖 西 学 院本科(bnk)毕业论文(设计)论 文 题 目 基于单片机的车载电池(dinch)状态检测系统设计姓名(xngmng)(学号) 沈湘钟(2009011749) 院 别 机械与电子工程学院 专 业 电气工程及其自动化 导 师 姓 名 刘世林 基于单片机的车载电池状态(zhungti)检测系统设计作 者 沈湘钟 指导(zhdo)教师 刘世林摘要(zhiyo):随着科学技术的迅速发展,其转化为生产力所带来的社会效益和经济效益也随之增多。但是,由于生态环境的恶化,人类环保意识的增强,清洁能源越来越受到人们的青睐。蓄电池在这种条件下应运而生,广泛的应用于航空,交通

2、,通信等各种方面。蓄电池作为电力系统的后备电源,其维护工作对保证电力系统的安全运行具有重要的意义。本文将以AT89C51单片机为基础,主要对车载电池的实时状态进行监测,即充电和放电过程的监控。先采用总体设计,然后进行各个子模块的设计,实现对电池的电压,电流,温度和内阻等的测量。本题目的研究对象是车载电池系统中的阀控式免维护铅酸蓄电池,研究蓄电池组的状态在线监测,并设计出了蓄电池自动监测系统,此系统也是车载电池设备的一部分。阐述了本系统的监测原理、方法和特点,介绍了整个系统的硬件设计,设计了各个功能部件的硬件结构。最后介绍了系统的软件设计,其中主要分析了系统的整个软件构架和各个功能的实现。同时具

3、有人机对话界面,自动化程度加强,使操作更加简单,具有较高的使用价值。关键词:单片机;蓄电池;监测系统On-board battery state detection system based on single chip designAbstract:With the rapid development of science and technology, it into social benefit and economic benefit brought by the productivity also increases. However, due to the deterioratio

4、n of ecological environment, human environmental protection consciousness enhancement, the clean energy more and more get the fond of people. Arises at the historic moment under this condition, the battery is widely used in aviation, transportation, communication and so on various aspects. Battery a

5、s backup power supply of electric power system, the maintenance work to ensure the safe operation of power system has important significance. This paper will be based on the AT89C51, mainly to car battery state of real-time monitoring, the monitoring of charging and discharging process. Overall desi

6、gn first, and then for the design of each module, implementation of battery voltage, current, temperature and internal resistance measurements. Subject purpose research object is the on-board battery system of valve control type free maintenance lead-acid battery, the battery status online monitorin

7、g, and battery automatic monitoring system are designed, the system is part of the vehicle battery equipment. Expounds the monitoring principle, method and characteristics of this system, introduces the hardware design of the whole system, designed the hardware structure of each functional unit. Fin

8、ally introduced the system software design, which mainly analyzes the system of the whole software architecture and the realization of each function.Have the man-machine dialogue interface at the same time, strengthen the degree of automation, make the operation more simple, has the high use value.K

9、ey words:Single chip microcomputer; Storage battery; Monitoring system目录(ml)TOC o 1-3 h u HYPERLINK l _Toc358536810 1绪论(xln) 页1绪论(xln)1.1课题(kt)背景由于工业革命以后,煤、石油、天然气等不可再生能源的广泛使用,人类面临的能源危机问题日益突出,因此可再生能源受到了越来越多的关注和应用(yngyng),如太阳能、风能、潮汐能等。其中太阳能的应用最为广泛。由于经济的迅猛发展,煤和石油等所造成的生态环境恶化严重,大气污染、土地沙漠化、温室效应等正威胁着人类的健康。

10、因此清洁能源的产生和使用受到了人们的青睐,如蓄电池。研究本课题的目的是为了能够对电池电压实现实时的监测,以及时了解电池处于何种状态,准确估计电池的电量,并且能够及时的显示出来,以避免因过度充电或者过度放电造成对电池的损害。因此能够最大限度的保护蓄电池,延长电池的使用寿命。1.2蓄电池的发展趋势近几十年来,蓄电池有了较快的发展,尤其是近10年来,我国的蓄电池产业更是发展迅速,产量远高于欧美发达国家。蓄电池具有体积小,电压稳定,无污染,重量轻等特点,广泛应用于交通、航天、通信、照明等各个方面。目前,我国在车载电池的研究上处于世界水平,容量从几十万到几百万千万不等。随诊人们生活水平的不断提高,人们对

11、生活品质的要求也随之提高,由此带来的就是对蓄电池的发展增加了空间。未来的汽车将拥有更大的负载,同时用电器的增多,发动机温度的增加,这就要求蓄电池能够在这样多的条件下保持较长的寿命,较低的损耗。与此对应的是蓄电池的发展趋势:(1)提高蓄电池的可靠性。蓄电池的可靠性不仅取决于生产方式,而且也与使用方法有关。良好的充电方法能够提高蓄电池的使用寿命。(2)提高输出功率。采用更加高级的工艺设计能够提高蓄电池的输出功率。(3)生产免维护电化学系统。1.3需要完成的技术指标根据论文要求,本次课题需要完成的指标有:(1)完成一个基于单片机的车载电池状态检测系统设计(2)系统应包括:控制电路、显示电路、A/D转

12、化、单片机控制系统(3)设计硬件(yn jin)电路并进行电路设计(4)完成主要(zhyo)功能:能够实现对电池的实时状态进行监测2 系统(xtng)原理(yunl)2.1系统(xtng)的设计原理监测蓄电池的实时状态不仅是要确定此时的电量,而且还要求能够可靠的预测蓄电池的放电状态,以满足使用者的要求。在正常情况下,电池充满电量时能够输出的电能与其额定容量相差无几。2.1.1 测量蓄电池的端电压能够准确测量蓄电池的端电压具有重要的作用。如测量电压与额定电压有较大差距时,表明蓄电池存在某种缺陷。由于免维护铅酸蓄电池的固有电压可能存在较大的偏差,因此直接测量蓄电池的端电压并不能准确测量电池的特性。

13、2.1.2负载测试目前能够确定蓄电池的充电方法就是负载测试,即在蓄电池两端加上负载,然后记录其放电过程,再与蓄电池的标准放电特性比较,从而近似确定其容量的大小。但是,要准确测出放电特性,只能将电量用完。在实际的生活中,我们并不能这样做,因为蓄电池耗完电量及充满电量需要较长的实际。而且经常对蓄电池进行负载测试会加速电池的老化,影响电池的使用寿命。2.1.3测量蓄电池的温度蓄电池内部温度对其性能具有的很大影响。当温度上升时,蓄电池内部的电解液的运动速度加快,化学反应加快,所以渗透力随之增强,蓄电池的内阻减小,相当于蓄电池的容量增大。有研究表明,当电解液的温度在1035的范围内变化时,每变化10,则

14、其容量变化约0.8。因此在测量蓄电池的性能时,温度测量是必不可少的的一项任务。2.1.4测量蓄电池的内阻在现实生活中,可以利用测量阻抗来评估和预测蓄电池的性能。增加金属性电阻能够使蓄电池的容量减小,因为电流会在增加的电阻上会产生一个电压降,从而使蓄电池的端电压更快地到达终止电压,使得蓄电池的容量不能最大限度的释放。对于电化学性的电阻而言,蓄电池的容量原本不会受电阻增加的影响,但是电化学性的电阻增加的真正原因是电解液的干涸活和性物质的损失使得蓄电池存储的能量减少,使得端电压提前达到终止电压,因此容量也就减少了。研究表明,随着时间的推移,基板的硫酸化、活性物质的脱落、电解液的干涸等会越发剧烈,这些

15、都是导致加速电池老化的原因。因此,蓄电池的欧姆内阻能够用来作为容量和完好性的重要有效指标。2.2 主控芯片(xn pin)通过对MCS-51单片机内部的逻辑结构图的掌握,了解单片机内部的逻辑结构及各个部件的功能与特点。即包括中央处理器(CPU)、定时/计数器、存储器系统(RAM和ROM)、串行接口、并行接口、中断系统及一些特殊的功能寄存器。AT89C51是美国ATMEL公司生产(shngchn)的具有低电压、高性能CMOS 8位单片机,片内含有4KB的可反复擦写的只读程序存储器(PEROM)和128 B的随机存取数据存储器(RAM),器件采用ATMEL公司(n s)的高密度、非易失性存储技术生

16、产,与标准MCS-51指令系统及8051产品引脚兼容,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C51单片机适合于许多应用场合,灵活方便。2.2.1 AT89C51的简介(jin ji)芯片(xn pin)的主要特性能与MCS-51单片机兼容(jin rn)全静态工作:0Hz-24Hz128*8位内部RAM32可编程I/O线两个16位定时器/计数器可编程串行通道片内含有振荡器和时钟电路低功耗的闲置和掉电模式2.2.2引脚简介VCC:供电电压GND:接地P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输

17、入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故(yung)。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个(y )内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作

18、为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出(shch)电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C

19、51的一些特殊功能口,如下表所示:端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外中断0)P3.3INT1(外中断1)P3.4T0(定时/计数器0外部输入)P3.5T1(定时/计数器1外部输入)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它

20、可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效(yuxio)。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部(wib)程序存储器(0000H-FFFFH),不管是否有内部程序存储器。振荡器的特性(

21、txng)XTAL1和XTAL2分别为反向放大器的输入和输出,其中反向放大器能够配置为片内振荡器。当使用外部外部时钟源驱动器件时,XTAL2不可连接。2.3 系统的控制方法蓄电池内阻与蓄电池的容量及完好性具有密切的联系,因此蓄电池的性能可以通过测量蓄电池的内阻来体现。有研究证明,蓄电池的容量越大,其内阻越小,因此可以通过蓄电池内阻的测量,来估计蓄电池容量的大小。目前测量内阻的方法有直流法、交流法、密度法等。2.3.1控制方法(1).直流法(1)若电池的开路电压为E,输入电流为I时蓄电池的端电压为V,则电池的内阻为R=(E-U)/I。此方法可以应用于不同种类的蓄电池。但是由于(E-U)除了包括欧

22、姆极化之外还有其他之类的极化,因此用此方法测得的电池内阻并不是电池的欧姆电阻。(2)对电池进行瞬间大电流放电,测量电池上的瞬时电压下降幅度,然后利用欧姆定律得出电池的内阻。此方法在现实的生产生活中得到广泛的应用,但也存在某种缺陷,如在静态或脱机的情况下测量时,不能实现实时测量,同时也存在安全性的问题。另外,进行放电时较大的电流也会对蓄电池造成较大的损害。(2).交流法通过对电池注入一个低频交流(jioli)电流信号,测量蓄电池两短的低频电压幅度V0和流过低频(dpn)交流电流幅度IS以及(yj)两者的相位差,计算电池的等效内阻:Z=V/I,R=Z COS=V0COS/I。因为交流法无需放电,不

23、用处于静态或脱机,因此可以实现安全在线监测管理,从而避免了对设备运行安全性的影响。(3).密度法通过测量蓄电池电解液的密度的测量来估算蓄电池的内租,此方法常用于开口式铅酸电池的内阻测量,因此不适合用来测量密封铅酸蓄电池的内阻。2.3.2 测量内阻和电动势通常情况下蓄电池组处于浮充电状态,电路如下:图2-1 蓄电池组的充电主回路采用一种特殊的直流检测法,测量蓄电池的内阻和电动势,电路如下所示:图2-2 测量(cling)原理图(Z截止)其中(qzhng),Ri为电池(dinch)内阻,Ei为电池电动势。图2-3测量原理图(Z导通)当Ti截止时,Ui1-I1Ri=Ei当Ti导通时,I21=UC/R

24、*,I22=I2-I21,Ui2-I22Ri=Ei有上述方程可得:Ui1-I1Ri=Ei (1)Ui2-I22Ri=Ei, (2)(1)(2)得:Ui1-Ui2=( I1-I22)Ri因此可得:Ri= (Ui1-Ui2)/( I1-I22) (3)即Ei = Ui1 - I1 (Ui1-Ui2) /( I1-I22) (4)由上述(3)、(4)即可求出蓄电池的内阻和电动势。由上述所有公式可以看出,必须测量的量有晶体管导通时电压UC,端电压Ui1、Ui2,电流I1、 I2。当蓄电池处于充电状态时,则电流方向与上述方向相同,当蓄电池处于放电状态时,则电流方向与上述方向相反。3 硬件(yn jin)

25、电路3.1总体硬件(yn jin)设计本文(bnwn)采用功能模块化设计方法,设计基于单片机的能量回馈控制系统。根据所需完成的功能将电路分为单片机最小系统、实现特定功能的子电路。为了使电加清晰,更具层次,因此采用程序原理图设计,分别对子电路进行设计,同时也使电路更加容易调试和检查错误。系统硬件电路如下:键盘RS485AT89C51单片机液晶显示温度测量A/D转换多路开关测量电路蓄电池组由上图可见,系统包括(boku):测量电路、A/D转换电路、键盘输入电路、AT89C51单片机、液晶显示电路、RS-485通讯(tngxn)电路。3.2单片机最小系统(xtng)必须要在XTAL1和XTAL2端口

26、加晶振电路时,单片机才能工作,单片机工作速度也是由晶振电路决定的。晶振电路如下图所示: 图3-1 晶振电路 图3-2 微分复位电路在晶振电路中,电路中的电容C3和C4对振荡频率有微调作用,取值范围为30+10pF;石英晶体可选择6MHz或12MHz。由上图可见,单片机最小系统包括晶振电路、复位电路、电源、接地。(1)晶振电路电路如图3-1所示晶振是 HYPERLINK /tech/syjt/200010130022/13441.html t _blank 晶体振荡器的简称,可以等效成一个电容和一个 HYPERLINK /tech/qtdz/200010160031/28957.html t _

27、blank 电阻并联再串联一个电容的二端网络。 HYPERLINK /tech/syjt/200010130024/15445.html t _blank 晶振是给单片机提供工作信号脉冲的。这个脉冲就是单片机的工作速度。比如 HYPERLINK /tech/ljq/200010230005/989732.html t _blank 12M晶振。单片机工作速度就是每秒 12M。(2)复位电路电路如图3-2所示以高电平为例,电源上电时,VCC可以认为一阶跃信号复位端电压是由于下拉电阻R1在CPU复位端引起的电压值,一般为0.3V以下。但是在现实应用中,VCC不可能成为非常理想的阶跃信号,主要原因是

28、稳压电源的输出开关特性;为保证电源电压稳定性,往往在电源的输入端并联一个大电容,从而导致了VCC不可能为阶跃信号。(3)电源(dinyun)、接地单片机AT89C51使用的是+5V的电源,可直接(zhji)由稳压电源提供,接地直接接GND。(4)单片机最小系统(xtng)由上述晶振电路、复位电路、电源、接地组成单片机最小系统。电路如图所示:图3-3单片机最小系统3.3 系统监测电路设计本系统拥有10路或20路相互独立的测量通道。其中每路通道都被均被设计为单独的模块。同时,本系统具有校准功能,可通过一个稳压管LM336提供基准电压来实现的。测量模块电路如下图所示:图3-4模拟(mn)测量电路由上

29、图可见(kjin),测量电路主要测量的量为:电压U、U,电流(dinli)I 、I,晶体管导通时电压U,基准端压U。单片机对模块共测量4个控制信号。其中包括控制信号A、B和C接在测量模块上的光耦上,具有隔离作用。信号A、B经过光耦后,连接到多路开关CD4051的控制输入端A、B上,以此来选通测量量;控制端C控制场效应管的导通是通过光耦后接到一个PNP晶体管的基极。另一个控制信号来控制光耦的+5V电源是否接通,能够控制此测量模块是否工作,从而实现切换各通道的功能。3.3.1温度测量电路本系统采用数字式温度传感器DSl8B20来测量蓄电池的温度。(1)DSI8B20简介DSI8B20是美国DALL

30、AS公司的最新单线数字温度传感器,具有体积小、经济等特点。能够测量的温度范围为-55+125。适用于恶劣环境的现场温度测量,如测温类消费电子产品、环境控制、设备或过程控制等。DSI8B20可以程序设定912位的分辨率,精度为0.5。其内部结构主要由4部分组成:温度传感器、64位光刻ROM、非挥发的温度报警触发器TH和TL,配置寄存器。它能够直接将温度转化为数字量,因此不需要A/D转换电路。同一条总线上悬挂的DSl8B20必须分时占用总线,就是在测量时,同一时刻只能有一个DSl8B20占用总线。(2)DSl8B20与单片机的接口电路根据DSl8B20的特点,它可以从总线上直接得到能量,因此一般不

31、需外加电源。DS18B20的数据线DQ与单片机的P1.7脚相连接,实现温度的传输,在总线上为高电平时,DS18B20将能量存储在内部的一个电容(dinrng)器中。当总线为低电平时,电容开始释放能量。当总线再度为高电平时,放电过程结束。DSl8B20与AT89C51的接口电路图3-5所示:3.3.2 电压(diny)、电流监测电路设计因为测量(cling)电路的输出信号是模拟信号,所以要经过A/D转换才能送到单片机进行处理。图3-5 DSl8B20与AT89C51的接口电路3.3.3 电压、电流监测电路设计(1) A/D转换器TLC1549简介TLC1549是美国德州仪器公司生产的10位数模转

32、换器。采用CMOS工艺,具有内在的采样和保持,抗干扰,采用差分基准电压、高阻输入,总不可调误差达到1LSB(4.8mV)等特点。图3-6 TLC1549引脚图(2)引脚简介(jin ji)REF+ (1):上参考电压(diny)值,通常接+VCC。ANALOGIN(2):模拟信号输入(shr)。REF (3):较低的基准电压值,通常接地。GND(4):模拟信号和数字信号接地。CS(5):片选信号。DATA OUT (6):转换结果输出。I/OCLOCK (7):输入/输出时钟。下条沿输出数据,最大频率可达2.1MHZ。VCC(8):正电源(5V)。(3)TLCl549与AT89C51的接口电路

33、TLCl549是串行方式输出数据,单片机AT90C51的P1.4引脚与I/OCLOCK输入相连,控制I/O时钟;P1.5引脚与A/D转换结果输出相连,能够将A/D转换结构输入到单片机里;P1.6与片选相连,它来控制A/D转换器的选通。电路如下所示:图3-7 单片机与TLCl549的接口(ji ku)电路3.4 人机界面(rn j ji min)设计3.4.1 键盘输入电路(dinl)监测系统需要对测量值进行校准,读取温度序列号,同时还要设定报警上下限、本机地址。然而这些操作必须由操作员动手来完成,因此又需要设置密码。这些都需要通过键盘手动输入到单片机里面。本系统中使用的是独立式键盘如图3-8,

34、共有5个键,它们分别是:SET键, 键, 键, 键,ENTER键。按键说明:(1)SET键:设置功能键。当按下该键时,系统进入设置状态,可以进行参数或密码的修改。(2) 、键:加减或上下移动键。(3) 键:右移键。(4)ENTER键:确认键。接口电路如图所示:图3-8 键盘输入电路(dinl)3.4.2 液晶显示电路设计(1)简介(jin ji)本监测系统采用液晶模块EDMl2864-09,可以显示蓄电池的各实时状态参数。EDMl2864-09是一种128(w)X64(h)全点阵的全透、正显STN LCD。其背景颜色是黄绿色,显示点为蓝黑色。输入数据来自(li z)于MPU的8位串行数据接口或

35、并行数据接口。EDMl2864-09提供三种可与CPU的接口:8位并行口,4位并行口及串行接口,然后由外部PSB脚来选择接口的种类。当PSB脚接“1”时为选择8/4位接口方式,而当接“0”时为串行接口方式。本监测中选用8位接口方式。(2)接口电路EMDl286409与单片机通过双向总线收发器74LS245连接。其接口电路如图所示:图3-9单片机与液晶显示的接口(ji ku)电路单片机的P2.6和P2.7控制74LS245的选通和传输方向。单片机的P3.2、P3.3和P3.4控制液晶模块上的RS、R/W、E引脚,从而(cng r)实现单片机对液晶模块的读或写操作,并且能够根据具体的情况显示相应的

36、内容。4 系统软件(x tn run jin)设计在前面的几章中对基于单片机的监测系统硬件部分(b fen)做了相应的设计。但是硬件部分只能提供一个最基本的功能(gngnng)平台,因此必须要以AT89C51单片机为核心,来完成相应的功能。单片机驱动芯片工作,能够实现对蓄电池的的功能有:测量、运算、处理、显示等。必须对已设计完成的硬件部分进行编程,才能使系统实现像样的功能,这部分即软件设计。要使系统在设计的硬件电路基础上稳定的工作,充分体现系统良好的性能,必须要设计出优良的软件程序。4.1 监测系统软件总体程序设计根据设计的要求,监测系统在使用之前要进行校准,其中包括基准电压输入、电流量程输入

37、;对报警上下限进行设置,其中包括电压上下限、内阻上限、温度上限。这些功能均由键盘操作完成。在系统工作时,要对蓄电池的实时状态进行测量,然后对测量结果进行校准、滤波,最后计算得到蓄电池的内阻和电动势的值,并显示到液晶显示屏上。在明确了系统需要完成相应的功能后,确定数据结构是在编制程序前必须完成的。由实际情况可知,蓄电池的各参数值均是用双字节数来表示的。因此,可将软件系统分为六个部分,依次为:初始化子程序,读键子程序,键处理子程序,测量子程序,计算子程序,显示予程序。软件系统设计的流程图如图所示:开始初始化读键子程序键处理子程序测量子程序计算子程序显示子程序图4-1 主程序流程4.2 初始化程序设

38、计(chn x sh j)在本监测系统中,初始化程序主要是对各种缓冲区清零(qn ln),其中包括测量缓冲区、显示缓冲区、计算缓冲区,设置标志位;设置中断并设置中断优先级;初始化定时器,设置初值。初始化流程图如图所示:开始上电标志10H,11H中值为AAH各缓冲区清零按键标志位设置初始化定时器,设置初置设置中断及中断优先级看门狗初始化置上电标志10H,11H中值为AAH4-2 初始化程序(chngx)流程图4.3 读键程序设计因为单片机键盘是随机操作的,而其主要操作对象不是键盘,因此单片机不是总处于等待按键按下的状态。为解决上述问题,将键处理程序和读键程序分开写,而且设置相应的标志位。读键程序

39、流程图如下图所示:开始初始化读键子程序A=0Y延时,去抖NY读P2口的值N低五位赋给A并取反A=0YN显示子程序图4-3 读键程序(chngx)流程图4.4 键处理程序设计(shj)键处理程序中各按键的功能的实现与否,与键盘能否完成各项操作具有很大关系。即报警上下限包括电压上下限、温度上限、内阻上限的输入;系统完成对校准参数包括基准电压、电流量程的输入;密码的输入或修改(xigi);波特率的修改;本机地址的输入;温度序列号的读取等功能。在对键进行处理时,首先要判断按键的标志位是否有变化,即按下的哪个按键,能够准确的确定。然后根据相应的状态进行相应的操作。键处理流程图如下所示:开始SET键处理,

40、并清除标志Key1=111YKey2=1N键处理,并清除标志位YNY键处理,并清除标志位Key3=1Key=1N键处理,并清除标志位NNYENTER键处理,并清除标志位Key=1返回图4-4 键处理程序流程图4.5 测量(cling)程序设计4.5.1 电压(diny)、电流子程序设计在片选信号(xnho)CS无效的情况下,TLCl549最初被禁止,DATA OUT处于高阻态的状态。当CS有效时,允许I/O CLOCK开始工作,同时DATA OUT离开高阻状态。然后串行接口把I/O CLOCK序列提供给I/O CLOCK,并且前次转换得到的结果能够从DATA OUT接收。I/O CLOCK接收

41、10和16个时钟长度之间的输入序列。模拟输入控制时序由开始的10个I/O时钟提供。单片机的接口从DATA OUT接收10位数据。10个以上的时钟脉冲才能转换。如果传送的长度超过10个时钟脉冲,为了保证其余位的值均为零,则DATA OUT会被10个时钟的下降沿内部逻辑拉至低电平。A/D转换(zhunhun)程序流程图如下图所示: 开始选通A/D转换器 输出10个I/O脉冲,延时输出转换结果高2位,保存在R6输出转换结果低8位,保存在R7返回图 4-5 A/D转换(zhunhun)流程图4.5.2 温度测量(cling)程序设计数字式温度传感器DSl8820可将测量的温度以两个字节的形式存放在芯片

42、内部的便笺式存储器中。根据其特性,当总线上有多于一个DSl8B20时,首先需要确定一个主DSl8B20,使其获得优先权,即优先获得总线的权利。因此,在系统在运行时,若有多个DSl8B20需要,必须读取所有DSl8B20的序列号,同时需要将它们保存在系统的EEPROM中。DSl8820共分两种内部命令:即暂存器命令和ROM命令。其中暂存器命令是对包括温度的转换、读取、上下限值的操作等;而ROM命令对包括序列号的读取、寻址和搜索等。需要同时使用暂存器命令和ROM命令,才能使某一动作实现。温度测量程序设计如下图所示:开始设置程序入口设置定时入口初始化DS18B20判断DS18B20是否存在?N 延时

43、YY温度转换初始化DS18B20判断DS18B20是否存在?N 延时YY温度读取将温度四舍五入后保存将温度转换成BCD码返回图4-6 温度(wnd)测量流程图4.6 控制(kngzh)程序设计监测系统的原理(yunl)是测量程序得到端电压Ui1、Ui2,晶体管导通时电压Uc、电流I1、I2经A/D转换器转换后的数字量后,计算程序将按照一定的算法完成(wn chng)蓄电池电动势和内阻的计算。计算程序流程图如下图所示:开始取出R的值调用除法程序,计算I21=Uc/R调用减法程序,计算I22=I21-I21调用减法程序,计算I1-I22调用除法程序,计算Ri=(Ui1-Ui2)/(I1-I22)调

44、用乘法和减法程序,计算Ei=Ui1-I1*Ri保存计算的结果返回图4-7 计算程序流程图4.7 显示程序设计显示程序的设计的编程主要是对EDMl2864-09液晶显示模块。必须对液晶模块初始化,然后才能显示。随后的显示中可不再进行初始化。若在系统使用时不进行任何操作,则默认显示第一路的工作状态,然后观察其他路的状态,并且需要通过键盘来操作才能正常完成。通过判断标志位来确定哪一位需要显示。本系统的液晶显示屏上要求显示的信息应包括电池的路号,电动势,端电压,充放电电流,电池温度等,并且显示的数字是定期刷新的,以保持实时状态的更新。当系统进入事先设定完成的状态时,则屏幕下方会出现与之相对应的设置信息

45、的画面。若系统在使用时,不对其进行任何的操作,则默认是显示第一路状态。如出现报警时,将在屏幕右上角处显示出报警的那一路电池的状态,并发出相应的报警信号。显示(xinsh)程序流程图如下图所示: 返回判断各显示画面标志位,进行相应的显示显示动态数据置显示标志位标志位将静态显示内容写到显示缓冲区显示标志位为1?状态显示标志位为1?置显示初始化标志位液晶模块初始化设置显示初始化标志位为1?开始YNNYNYYN图4-8 显示(xinsh)程序流程图5 结论(jiln)本次毕业设计是基于单片机的车载电池组状态检测监控系统,是一种比较典型和常见的控制系统,并将在将来得打更加广泛的应用。主要针对51型单片机在实时监测(jin c)控制方面的应用,分析蓄电池的电动势、内阻、端电压、充放电电流、温度等参数测量监测实例。设计中涉及控制系统的数据采集、运算及控制各个部分,涵盖知识面广,实用性能较强。通过这

温馨提示

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

评论

0/150

提交评论