2.2 定时器中断子程序设计

本系统的定时器A、B中断子程序如图8所示。在该系统中,定时器A、B主要用来捕获方波以及定时。当中断开启时,应先判断中断请求寄存器TXIV的值,以判断该中断是由捕获引起还是由计数溢出引起,然后计算得到的频率值,并在预处理后返回到主程序中。

本系统中,对RC、频率以及相位差的测量都要利用单片机定时器的捕获功能来获取频率值。图9所示是频率捕获波形图。事实上,要获得方波信号的频率值,首先要在主程序中设置好时钟与定时器控制寄存器,然后开定时器中断程序。中断开启以后,定时器开始计数,当接收到方波的上升沿时,可存储该时刻的计数初值B,待下一次上升沿到来时,再存储该时刻的计数C,两次上升沿时刻之间的差值便是方波的周期。接着,经过短暂延时后重新测量,如此循环测量并计算最终结果。如果在两次上升沿捕获的过程中,计数器的计数值CCRx发生了溢出,则需要在中断程序中设置溢出次数变量Y,以在计算周期时将溢出值计算在内。每次捕获后得到的方波周期为:

3 结束语

本文利用MSP430单片机设计的RLC、频率及相位差的测量仪,经测试证明,各项指标均可达到设计要求,并且具有精度高、体积小、性能稳定和操作简便等特点。

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查