图3输入信号处理
三、软件的设计
因整个系统对电压、电流采样的精度要求不高,我们直接用CPU的10位A/D对电压、电流的信号进行A/D转换,转换的结果一方面供显示的需要,另一方面作为过压与欠流的比较信号。我们将INT0设置为上升沿产生异步中断,ICP设置为上升沿触发输入捕捉。当INT0产生中断时,16位计数器开始以内部恒定的频率开始计数,直到下一中断的产生。在计数的同时,当TCP上有上升沿脉冲时,即将16位计数器已计得的数据放入到捕捉寄存器中。当一个采样周期结束时,计数器中得数据(N)即为外部交流信号的一个周期基数,捕捉寄存器中数据(n)电流Ia滞后电压Ubc的基数,将(n/N)*360o即为角度,根据上面的原理就可判断在同一周波中时电压超前电流还是电流超前电压,同时还可得出超前或滞后的角度,将此数据进行查表即可得到功率因数。