当定时/计数器设置为定时工作方式时,计数器对内部机器周期计数,每过一个机器周期,计数器增1,直至计满溢出。定时器的定时时间与系统的振荡频率紧密相关,如果单片机系统采用12M晶振,则计数周期为:,这是最短的定时周期,适当选择定时器的初值可获取各种定时时间。
当定时/计数器设置为计数工作方式时,计数器对来自输入引脚T0(P3.4)和T1(P3.5)的外部信号计数,外部脉冲的下降沿将触发计数,检测一个由1到0的负跳变需要两个机器周期,所以,最高检测频率为振荡频率的1/24。计数器对外部输入信号的占空比没有特别的限制,但必须保证输入信号的高电平与低电平的持续时间在一个机器周期以上。
当需要准确计算时间时往往采用定时器的定时方式,而当要对一些外部事件计数时则采用定时器的计数方式。
讲讲应用吧。定时器的作用就是提供一个时基的,就好比你的闹钟样一个道理,我设置到几点到几点,时间到了就会有一个触发中断。然后提醒你到时间了。
当你需要周期性的去检测一些东西的时候,就可以使用定时器。当然定时器的功能用法还有很多,这只是最基本用法。
计数功能使用最多的就是检测输入脉冲的个数,举个例子,来了一串方波过来了,你就可以检测到这串方波的个数,配合定时器使用,你还可以知道这个未知
方波的频率。从而实现了测量脉冲宽度的功能。
定时,比如你要一秒让秒钟跳一次,那就算好定时器装载值,设置好开终端,每一秒就会中断一次
计时,比如一个矩形脉冲,你要测试他的周期,就可以从一个上升沿开始计数,到下一个上升沿停止计数,计数值算算对应的时间是多少秒,就可以算出脉冲周期。
定时就是闹钟,计时就是秒表,哈哈