你在这里

微秒级脉冲延时器

实现的功能:

1.  能够对幅度位1V的脉冲延时输出,要求延时误差不能大于1微秒,延时量至少达到1.5个周期。

2.  能够手动修改延时值。

3.  能够通过PC机的串口修改和读取延时值。也可以通过串口诊断延时器当前是否正常工作。

4.  能够通过液晶显示延时器当前的状态。 

延时器工作原理:

延时器利用ATmega 16的16位定时器Timer1 作为实时时钟源,脉冲的上升沿到来的时候将会由模拟比较器触发Timer1的输入扑捉中断,并将当前Timer1计数器的值放到输入扑捉寄存器ICR1里面,并触发进入相应的中断服务例程。Timer1的输入扑获中断服务例程将当ICR1里面的值与延时值相加,得到要输出脉冲的时刻,并将其送至输出比较单元的输出比较寄存器。当Timer1的值跟输出比较单元里面的输出比较寄存器匹配的时候,CPU会进入输出匹配中断服务例程并在输出脉冲。由于定时器输出比较单元有两个输出匹配扑获单元,轮流使用着两个单元便可以实现两个输入脉冲周期以内的延时