background image

 

第 4 期 

 491 

 

 

图 1   电池容量测试电路

显示电路,AT89C2051 的 Pl.7、P1.6、P1.5、P1.4

口输出 3 个数码管要显示的数字,P3 口的 P3.3、

P3.4、P3.5 输出扫描位选信号,通过 VT2、VT3、

VT4 来控制 3 个数码管分时点亮.  

 

单片机的电源由 5V 稳压电源提供. R2、C1、

K 等组成单片机的复位电路. 

2  软件设计 

软件采用汇编语言编写,程序由主程序和定时

中断服务于程序、延时子程序等部分组成.  主程序

流程如图 2 所示,主程序由初始化、动态扫描显示

等部分组成.  

设定 AT89C2051 内部寄存器 R0、R1、R2 分

别用来存储 3 位显示数据的百分位、十分位和个

位,定时器 T0 工作状态为方式 1,定时时间为

60 ms.  

电路中 2 节电池的放电电流设定为 200 mA,

每 0.05 h 电池所放电的容量为 0.01 Ah.  定时器 T0

每中断 3 000 次(累计时间 60 ms×3 000 0.05 h)给

寄存器 R0 加 1,寄存器 R1 计满 10 个数后给寄存

器 R2 加 1,这样放电结束时所显示的数值即为电

池的容量,因为小数点放在第一位数码管后,所以

显示的电池容量的计量单位是 Ah.  

=

延时子程序的延时时间为 0.5 ms,主要供主程

序的动态扫描显示部分调用,因显示 3 位数,每位

显示 0.5 ms,所以动态扫描显示的周期为 1.5 ms.  

 

图 2  主程序流程 

3  参数设定与调试 

本电路采用双节镍镉或镍氢电池串联容量测

试电路,2 节电池的放电终止电压设定为 2V,P1.1

口的基准电压取 2 V,电池放电电流为设定 200 mA.  

接通电源后单片机复位,寄存器 R0、R1、R2

的赋值均为 0.  在没有放入被测试的电池前,P1.0

口的电压低于 P1.1 口的电压,P3.6 口为 0,数码管