如何实现51单片机触发定时功能

来源:百度知道 编辑:UC知道 时间:2024/05/11 16:02:16
就是有脉冲信号来的时候,触发定时器工作,开始倒计时,倒计时完后不循环,仅仅是重置定时器,等待下一个脉冲触发。

定时器的编写有行命令是SETB TR0,意思是启动定时器0,现在不需要这样启动,直接用电信号脉冲启动。

方法有很多种:
1.用外部中断,当外部中断检测到脉冲信号时打开定时器中断并配置初值,计时,定时器中断触发后,关闭计时。这种方法占用了两个中断源,浪费。
2.仅用计时器中断,首先配置一个脉冲信号扫描时间间隔,开启中断、计时,每当计时器中断触发时,抽样脉冲信号,抽样值非倒计时信号则重新配置扫描时间间隔,若抽样值是倒计时信号,配置倒计时时间间隔,当倒计时完毕后,触发中断,重新配置为扫描时间间隔。

可以用外部中断方式。外部中断里启动定时器,定时中断关计时程序。也可以查询方式,外部有触发就启动定时器。定时器结束后,用定时中断关计时程序。

启动定时器工作必需要软件置位TR

你重置定时器后关中断就不循环了