很多工业与仪表系统都需要测量脉冲输入的持续时间,如转速传感器、外部系统的门控与选通脉冲,以及PWM(脉冲宽度调制)输入的频率等。设计者是采用片上定时器和边沿驱动的中断。但是,如果这些元件不可用,可以用片上的串行同步接收器做这类测量。 可以根据需要的时序精度,设定串行接收器的波特率。接收器每8 bit后中断微控制器。可以在应用程序中插入脉冲宽度采集例程,用于读取ISR(中断服务例程)接收到的字节。它会统计和累加接收到的0和1字节,以测量出进入脉冲的持续时间(图1)。 算法测量a的是两个连续上升沿之间的持续时间。当微控制器收到一个既不是0xff也不是0x00的字节时,就检测到了一个