3、 软件设计

本系统利用门信号GATE来启动定时器(如图5所示),并设定定时器/计数器T0为定时器,INT0为高电平时,启动定时器;而设定定时器/计数器T1为计数器,T1的电平由1到0时,计数器计数。

3.1 定时器设置

设置定时器的基本定时为50μs便可满足测量的精度要求。因此,可采用门控方式触发启动定时器,定时器T0的TMOD设置格式如下(控制字为9H):

3.2 计数器设置

设定定时器/计数器T1为计数器,计数值为2。即当计数到1时,启动定时器;当计数到2时,中断计数器T1。同时停止定时器的定时;在中断方式,其计数器的优先级高于定时器T0。计数器T1的TMOD的设置格式如下(控制字符为5H):

计数器的计数初值为0FFFEH,预置为:(TH1)=0FFH,(TL1)=0FEH。

3.3 软件程序代码

对于单片机所测得的频率信号,可经过预先的算法将其换算成相应的高电压值,然后通过数码管显示。高电压范围为0~20 kV,分压比为1:2000,其频率信号与高电压的换算关系式为:

由于篇幅所限,本文只给出频率测量部分的软件代码,而省去了高电压值换算和LED数码显示部分的软件代码。其频率测量部分的软件代码如下: