3.1.2 测量方式1程序功能

测量方式1采用测频率法,主要用于高频段测量,它是利用单片机的定时计数器测量一定时间内脉冲信号的个数得到频率值[3],测量方式1程序流程图如图4所示。首先,给T0、T1设置工作模式并赋初始值,以T0作为定时器、T1作为计数器,然后给T0设定一段时间,T1由脉冲的上升沿触发计数,并启动定时器T0,同时启动计数器T1进行计数,当计时结束时关闭计数器,最后将计数器T1的计数结果进行读取并保存。

3.1.3 测量方式2程序功能

测量方式2采用测周期法,主要用于低频段测量,它是通过测量一个信号的周期并进行计算可得到频率值[4],测量方式2程序流程图如图5所示。首先,给T0设置工作模式为方式2,即16位定时器,对内部机器周期计数,当信号由0变1时开始计时,当信号再由0变1时结束计时,则此时计时器所记时间就为信号的周期。

3.2 8051b的程序

8051b主要负责计算由8051a输出的数据,并将计算结果输出到8051a及显示器。

3.2.1 主程序功能

8051b的主程序功能是将8051a的数据进行计算并输出,8051b主程序流程图如图6所示。首先,将各个芯片和数据进行初始化,然后给8051a发送数据0,开中断,将8051a中传入的数据进行计算,最后将计算结果输出到8051a和显示器。

3.2.2 中断程序功能

中断程序的功能主要是用来接收8051a的数据,中断程序流程图如图7所示。首先,将有用的数据压入堆栈,然后将8051a发过来的数据进行接收,最后将压入堆栈的数据进行释放。