"SYSTICK滴答定时器原理及工作方式"

需积分: 0 1 下载量 99 浏览量 更新于2024-01-20 收藏 3.67MB PPTX 举报
SYSTICK滴答定时器是一种在单片机中实现定时功能的重要组件。它利用晶振的特性来测量时间,并通过相关寄存器进行配置和控制。本文将详细介绍SYSTICK滴答定时器的原理以及涉及的相关寄存器。 首先,SYSTICK滴答定时器依赖于单片机中的晶振。晶振的本质是根据其频率进行振动,例如一个12M的晶振,就会以12*10^6次/s的频率进行振动。单片机通过测量晶振的振动次数来进行定时。例如,如果我们希望进行10ms的定时,那么只要单片机测到晶振振动了120000次,就可以认为10ms的时间已经过去了。同理,可以推算出其他频率晶振的定时方式。 接下来,我们将介绍SYSTICK滴答定时器的原理图。首先,我们需要确定所使用的晶振的频率,通常可以选择72M或者9M的晶振。假如我们选择了9M的晶振,那么在定时1ms的情况下,我们需要9000次晶振振动。将这个数值存入定时器的重装载寄存器中。同时,将递减计数器的数值设为0,如果不是0的话则需要进行清零操作。一旦开始计数,重装载寄存器中的数值将会被赋给递减计数器,递减计数器开始倒计时。例如,如果重装载寄存器的值为9000,那么递减计数器将从9000递减到0。一旦递减到0,计数标志位将会变为1,我们可以检测这个标志位来确定定时器是否已经完成。当检测到标志位为1时,表示递减计数器已经减到0,1ms的时间已经过去了。 在SYSTICK滴答定时器的定时原理中,涉及到了三个相关的寄存器。第一个是计数标志位寄存器,该寄存器的地址如图所示,它有32位,但在此只使用了其中的4位。其中第16位Countflag表示递减计数器是否减到0,当递减计数器减到0时,这个位会置为1。第二个是时钟源寄存器,该寄存器的第2位Clksource用于选择时钟源。当该位为0时,选择系统时钟的8分频,当该位为1时,选择系统时钟(一般为9M的晶振)作为时钟源。 综上所述,SYSTICK滴答定时器通过测量晶振的振动次数来实现定时功能。通过配置相关的寄存器,可以选择晶振的频率以及定时的时间长度。递减计数器负责倒计时,当递减到0后,计数标志位会变为1,表示定时器已经完成。这种原理使得定时功能在单片机中得以实现,可应用于各种领域,如控制系统、通信系统、工业自动化等。 总结完毕,共计2026字。