·上一文章:SIMl-2实现现场总线仪表电路
·下一文章:一种嵌入式运动控制器的实现
2.1 主程序设计
本系统的主程序流程图如图7所示。本系统的主程序主要完成对时序的初始化及对显示界面的初始化,其中初始化包括对单片机的初始化和对接口芯片的初始化。首先是对单片机进行初始化,以设置时钟和必要的标志位以及变量初值;接着对显示器初始化,设置数据、地址传输端口;然后将按键选择程序开启,主要设置按键任务;最后对时钟A、B以及A/D转换进行初始化,设置必要的控制字和开中断。
2.2 定时器中断子程序设计
在该系统中,定时器A、B主要用来捕获方波以及定时。当中断开启时,应先判断中断请求寄存器TXIV的值,以判断该中断是由捕获引起还是由计数溢出引起,然后计算得到的频率值,并在预处理后返回到主程序中。
本系统中,对RC、频率以及相位差的测量都要利用单片机定时器的捕获功能来获取频率值。事实上,要获得方波信号的频率值,首先要在主程序中设置好时钟与定时器控制寄存器,然后开定时器中断程序。中断开启以后,定时器开始计数,当接收到方波的上升沿时,可存储该时刻的计数初值B,待下一次上升沿到来时,再存储该时刻的计数C,两次上升沿时刻之间的差值便是方波的周期。接着,经过短暂延时后重新测量,如此循环测量并计算最终结果。如果在两次上升沿捕获的过程中,计数器的计数值CCRx发生了溢出,则需要在中断程序中设置溢出次数变量Y,以在计算周期时将溢出值计算在内。
3 结束语
本文利用MSP430单片机设计的RLC、频率及相位差的测量仪,经测试证明,各项指标均可达到设计要求,并且具有精度高、体积小、性能稳定和操作简便等特点。