基于单片机的蓄电池检测系统设计 下载本文

2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

VDD V0 RS R/W E D0 D1 D2 D3 D4 D5 D6 D7 LEDA LEDK

输入 输入 输入 三态 三态 三态 三态 三态 三态 三态 三态 输入 输入

+5V逻辑电源

对比度控制,通过1KΩ电阻接地 寄存器选择,1:数据;0:指令 读写操作选择,1:读;0:写 使能信号,高电平或是下降沿有效 数据总线(LSB) 数据总线 数据总线 数据总线 数据总线 数据总线 数据总线 数据总线(MSB) 背光+5V 背光地线

有些液晶没有背光,有些引脚与此不同

3)1602与单片机的接线

1602液晶显示器与单片机的接线图如图3.6所示。

1602与单片机接线图

3.3.2 上位机显示

本系统测量数据可通过串口线将数据送到上位机进行显示,所以需要接口让单片机和上位机进行通信。目前,通信方式主要分为两种:串行通信(RS-232C、RS-422A、RS-485、USB)和并行通信。RS-232C标准定义了25根引线,对于一般的双向通信,只需使用串行输入RXD、串行输出TXD和地线GND。RS-232C标准的电平采用负逻辑,规定+3~+15V之间的任意电平为逻辑“0”电平,-3~-15V之间的任意电平为逻辑“1”电平,与TTL和CMOS电平是不同的。在接口电路和计算机接口芯片中大都为TTL或CMOS电平,所以在通信时,必须进行电平转换,以便与RS-232C标准的电平匹配,MAX232芯片可以完成电平转换这一工作。因为MAX232具有驱动能力,所以不需要外加驱动电路。采用MAX232接口的硬件接口电路如图3.7所示。

图3.7 串行通讯接口电路

3.4 键盘与声光报警电路

3.4.1 键盘电路设计

键盘是单片机系统中的一个很关键的部分,它能实现向计算机输入数据、传送命令等功能,是人工干预计算机的主要手段。一般情况下,键盘是由一组规则排列的按键组成,一个按键实际上是一个开关元件。其主要功能是把机械上的通

断转换为电气上的逻辑关系(0和1)。常见的种类有:独立式键盘和矩阵式键盘。独立式键盘的特点是每个按键单独占用一根I/O口线,每个按键工作不会影响其他I/O口线的状态,多用于所需按键不多的场合。在本系统中,设计需要用到0—9十个数字键,应采用矩阵式键盘。4×3键盘结构如下图3.8所示。

图3.8 键盘电路

图中所示的列线通过电阻接+5V,当键盘上没有键闭合时,所有的行和列线断开,列线呈高电平。当键盘上某个键闭合,该键所对应的行线和列线短路。如果把列线接到微机的输入口,行线接到微机的输出口,那么在微机的控制下,使行线P2.3的输出为低电平,其余三根行线P2.4、P2.5、P2.6都为高电平,然后微机通过输入口读列线的状态,如果P2.0、P2.1、P2.2都为高电平,则P2.3这一行上没有闭合键,如果读出的行线状态不全为高电平,则为低电平的列线和行线P2.3的相交的键处于闭合状态;如果P2.3的这一行上没有键闭合,接着使行线P2.4为低电平,其余行线为高电平。用同样的方法检查P2.4这一行上有没有闭合键,以此类推,最后使P2.6为低电平,其余行线为高电平,检查P2.6这一行上有无键闭合。这种逐行逐列地检查键盘状态的的过程称为对键盘的一次扫描。这是识别键盘最常用的方法,其控制方法即:先判断是否有键按下;如有,再判断哪一个键按下,并得到键码值,然后根据键码值转向不同的功能程序。 3.4.2 声光报警电路

作为可以进行蓄电池各个数据参数检测的设备,声光报警电路部分不可缺少,当检测到电池状态不在正常范围就应该通过声光方式发出警报,防止过放电引起的电池损害和发生的意外事故。其电路如图3.9所示。

图3.9 声光报警电路

本设计中的声光报警部分包括蜂鸣器以及红、绿、黄、蓝四个LED报警指示灯。单片机本身I/O的驱动能力不是很高,所以对蜂鸣器的驱动需要加入一个PNP三极管,这样能够使蜂鸣器的声音更加响亮,起到更好的报警作用。三极管基极的电路保证了只有在单片机输出低电平时,蜂鸣器才会发声,避免了误报警的发生。由于动态显示比静态显示更能吸引人的视线,所以本设计发光二极管采用动态闪烁方式,红色二极管闪烁代表电压检测超限,绿色二极管闪烁表示电流检测超限,黄色二极管闪烁表示温度检测超限,蓝色二极管闪烁表示剩余容量超限。无论哪种数据参数超限,蜂鸣器都产生声音报警。

3.5 硬件看门狗电路

微处理器在运行中会受到各种各样的干扰,如电源及空间电磁干扰,当其超过抗干扰极限时,就有可能引起微处理器死机或程序跑飞。尤其在实际应用环境中,更容易受到复杂干扰源的干扰影响。在系统中加入看门狗电路就可以很好的防止这类情况的发生。该系统中使用的是XICOR公司生产的可编程看门狗定时器X25045。它集合了看门狗定时器、电源监测电路和512*8的串行EEPROM。因而

X25045具有以下功能:

1)看门狗定时器:看门狗定时器对微控制器提供了独立的保护系统。当系统故障时,在可选的超时周期之后,X25045看门狗将从RESET信号做出响应。用户可以从三个预置的值选择此周期。一旦选定,即使在电源周期变化之后,此周期也不变化。

2)电源监测:利用X25045低Vcc检测电路,可以保护系统,使之免受低电压状况的影响。当Vcc降到最小Vcc转换点时,系统复位。复位一直确保到Vcc返回且稳定时为止。

3)串行存储:X25045的存储器部分是COMS的4096位串行EEPROM,它内部按512*8来组织。X25045的特点是具有简单的三总线工作的串行外接口(SPI)和软件协议。图3.10为芯片引脚图。

图3.10 X25045芯片引脚图 各引脚含义如下:

CS:片选输入 S0:串行输出 SCK:串行时钟输入 SI:串行输入 WP:写保护输入 RESET:复位输出 Vcc:电源 Vss:地

因单片机没有SPI接口,则必须通过移位方式实现单片机与X25043的通讯。图3.11为单片机与X25045的接口电路。

图3.11 硬件看门狗电路

单片机的P3.4引脚与片选相连,它控制X25045的选通;P3.5引脚和X25045的串行输出相连,P3.3引脚与X25045的串行输入相连,这两个端口实现单片机与X25045的数据通讯。P3.2引脚与X25045的时钟输入相连,控制串行输入输出的时序。单片机的RST引脚与X25045的RESET引脚相连,RESET的复位信号可使单片机复位。

硬件总原理图见篇末附图。

4 系统软件设计

系统硬件电路设计完成之后,就要进行软件的设计和调试。如果没有软件来控制硬件电路和外围设备,系统仍然是不完善的。在监控系统中,软件的编制需要符合以下基本要求:

1) 易理解、易维护。通常是指软件系统容易阅读和理解,容易发现和纠正错误,容易修改和补充。由于检测控制系统的复杂性,设计人员很难在短时间内就对整个系统理解无误,应用软件的设计和调试不可能一次就完成,有些问题是在运行中逐步暴露出来的,这就要求编制的软件容易理解和完善。

2) 实时性。实时性是监测控制系统的普遍要求,既要求系统及时相应外部事件的发生,并及时给出处理结果。

3) 可测试性。检测控制系统软件的可测试性具有两方面的含义:其一是指比较容易地制定出测试准则,并根据这些准则对软件进行测定;其二是指软件设计完成后,首先在模拟环境下运行,经过静态分析和动态仿真运行,证明准确无误后才可以投入实际运行。

4) 准确性。准确性对检测控制系统具有重要意义。系统中要进行大量运算,算法的正确性和准确性对控制结果有直接影响,因此在算法的选择、位数选择方面要适合要求。

5) 可靠性。可靠性是检测控制软件最重要的指标之一,它要求两方面的意义:一试运行参数环境变化时,软件都能可靠运行并给出正确结果,也就是要求软件具有自适应性;二是工业环境极其恶劣,干扰严重,软件必须保证在严重干扰条件下也能可靠运行,这对检测控制系统尤为重要。

4.1 开发语言和开发环境

51单片机的编程语言常用的有两种,一种是汇编语言,一种是C语言。本设计中采用汇编语言编程,下面了解其基本概念和主要优点。

汇编语言是单片机设计的基础语言。它的特点是使开发人员能够充分的对单片机硬件资源进行管理和操作。所谓汇编语言就是用助记符、符号和数字等来表示指令的程序语言,容易理解和记忆,与机器语言是一一对应的。它是为了弥补机器语言不易记忆,不易查错和不易修改而产生的一种低级语言。所谓程序设计就是用计算机能够识别的语言,把需要解决的问题的步骤描述出来单片机不像其他微型计算机有自己的系统软件,所有的单片机程序均需要用户自己设定程序。到目前为止,虽然已经有绝大部分的单片机都能够在一些高级语言环境下编程,但汇编语言也有许多优点是其他高级语言所不具有的。如:程序结构紧凑、占用的内存和CPU资源少;程序简短、执行速度快;与计算机内部硬件结构紧密、能充分发挥硬件的作用;实时性强、适用于实时检测控制系统[9]。

汇编语言的程序设计步骤主要包括:分析问题、确定思路、画流程图、编写程序、程序调试。这些步骤在软件设计中将一一体现。

本设计中的软件采用WAVE公司开发的编译系统进行编写,采用各个子模块组