AVR单片机定时计数器的结构与应用.ppt
《AVR单片机定时计数器的结构与应用.ppt》由会员分享,可在线阅读,更多相关《AVR单片机定时计数器的结构与应用.ppt(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、定时计数器的结构与应用定时计数器的结构与应用 定时计数器(定时计数器(Timer/Counter)常用于计数、延时、测量)常用于计数、延时、测量周期、频率、脉宽、提供定时脉冲信号等。周期、频率、脉宽、提供定时脉冲信号等。在实际应用中在实际应用中,对于转速,位移、速度、流量等物理量的,对于转速,位移、速度、流量等物理量的测量,通常也是由传感器转换成脉冲电信号,通过使用定时计测量,通常也是由传感器转换成脉冲电信号,通过使用定时计数器来测量其周期或频率,再经过计算处理获得。数器来测量其周期或频率,再经过计算处理获得。AVR的定时计数器接口功能:的定时计数器接口功能:通过定时计数器与比较匹配寄存器相互
2、配合,生成占空比通过定时计数器与比较匹配寄存器相互配合,生成占空比可变的方波信号,即脉冲宽度调制输出可变的方波信号,即脉冲宽度调制输出PWM信号,可用于信号,可用于D/A、马达无级调速控制、变频控制等。马达无级调速控制、变频控制等。ATmega16一共配置了一共配置了2个个8位和位和1个个16位,共位,共3个定时计数个定时计数器,它们是器,它们是8位的定时计数器位的定时计数器T/C0、T/C2和和16位的定时计数器位的定时计数器T/C1。定时计数器的结构定时计数器的结构 定时计数器最基本的功能就是对脉冲信号定时计数器最基本的功能就是对脉冲信号“自动自动”进行计数。进行计数。“自动自动”,指计数
3、的过程是由硬件完成的,不需要,指计数的过程是由硬件完成的,不需要MCU的干预。的干预。但但MCU可以通过指令设置定时计数器的工作方式,以及根据定可以通过指令设置定时计数器的工作方式,以及根据定时计数器的计数值或工作状态做必要的处理和响应。时计数器的计数值或工作状态做必要的处理和响应。使用定时计数器时,必须注意以下的基本要素:使用定时计数器时,必须注意以下的基本要素:1.定时计数器的长度定时计数器的长度。定时计数器的长度是指计数单元的位长度,一般为定时计数器的长度是指计数单元的位长度,一般为8位(一位(一个字节)或个字节)或16位(位(2个字节)。个字节)。2.脉冲信号源脉冲信号源。脉冲信号源是
4、指输入到定时计数器的计数脉冲信号。通常用脉冲信号源是指输入到定时计数器的计数脉冲信号。通常用于定时计数器计数的脉冲信号可以由外部输入引脚提供,也可于定时计数器计数的脉冲信号可以由外部输入引脚提供,也可以由单片机内部提供。以由单片机内部提供。3.计数器类型计数器类型 计数器类型是指计数器的计数运行方式,可分为加一(减计数器类型是指计数器的计数运行方式,可分为加一(减一)计数器,单程计数或双向计数等。一)计数器,单程计数或双向计数等。4.计数器的上下限计数器的上下限 计数器的上下限指计数单元的最小值和最大值。一般情况计数器的上下限指计数单元的最小值和最大值。一般情况下,计数器的下限值为零,上限值为
5、计数单元的最大计数值,下,计数器的下限值为零,上限值为计数单元的最大计数值,即即255(8位)或位)或65535(16位)。需要注意的是,当计数器工作位)。需要注意的是,当计数器工作在不同模式下时,计数器的上限值并不都是计数单元的最大计在不同模式下时,计数器的上限值并不都是计数单元的最大计数值数值255或或65535,它将取决于用户的配置和设定。,它将取决于用户的配置和设定。5.计数器的事件计数器的事件 计数器的事件指计数器处于某种状态时的输出信号,该信计数器的事件指计数器处于某种状态时的输出信号,该信号通常可以向号通常可以向MCU申请中断。如当计数器计数到达计数上限值申请中断。如当计数器计数
6、到达计数上限值255时,产生时,产生“溢出溢出”信号,向信号,向MCU申请中断。申请中断。两个两个8位的定时计数器:位的定时计数器:T/C0、T/C2主要特点是:主要特点是:1.单通道计数器。单通道计数器。2.比较匹配时清零计数器(自动重装特性,比较匹配时清零计数器(自动重装特性,Auto Reload)。)。3.可产生无输出抖动(可产生无输出抖动(glitch-free)的,相位可调的脉宽调制)的,相位可调的脉宽调制(PWM)信号输出。)信号输出。4.频率发生器。频率发生器。5.外部事件计数器(仅外部事件计数器(仅T/C0)。)。6.带带10位的时钟预分频器。位的时钟预分频器。7.溢出和比较
7、匹配中断源(溢出和比较匹配中断源(TOV0、OCF0和和TOV2、OCF2)。)。允许使用外部引脚的允许使用外部引脚的32kHz手表晶振作为独立的计数时钟源手表晶振作为独立的计数时钟源(仅(仅T/C2)T/C0、T/C2的主要结构和大部分的功能是相同或类似的的主要结构和大部分的功能是相同或类似的1.T/C0的组成结构的组成结构图中给出了图中给出了MCU可以操作的寄存器以及相关的标志位。可以操作的寄存器以及相关的标志位。在在T/C0中,有中,有1.两个两个8位的寄存器位的寄存器;2.计数寄存器计数寄存器TCNT03.输出比较寄存器输出比较寄存器OCR0。4.T/C0的控制寄存器的控制寄存器TCC
8、R05.中断标志寄存器中断标志寄存器TIFR6.定时器中断屏蔽寄存器定时器中断屏蔽寄存器TIMSK。T/C0的计数器事件输出信号有两个的计数器事件输出信号有两个 1.计数器计数溢出计数器计数溢出TOV0 2.比较匹配相等比较匹配相等OCF0。这两个事件的输出信号都可以申请中断,中断请求信号这两个事件的输出信号都可以申请中断,中断请求信号TOV0、OCF0可以在定时器中断标志寄存器可以在定时器中断标志寄存器TIFR中找到,同中找到,同时在定时器中断屏蔽寄存器时在定时器中断屏蔽寄存器TIMSK中,可以找到与中,可以找到与TOV0、OCF0对应的两个相互独立的中断屏蔽控制位对应的两个相互独立的中断屏
9、蔽控制位TOIE0、OCIE0。(1)T/C0的时钟源的时钟源来自外部引脚来自外部引脚T0的信号提供,的信号提供,来自芯片的内部。来自芯片的内部。T/C0计数时钟源的选择计数时钟源的选择 T/C0的时钟源的选择由的时钟源的选择由T/C0的控制寄存器的控制寄存器TCCR0中的中的3个个标志位标志位CS02:0确定,共有确定,共有8种选择。种选择。无时钟源(停止计数),外部引脚无时钟源(停止计数),外部引脚T0的上升沿或下降沿,的上升沿或下降沿,以及内部系统时钟经过一个以及内部系统时钟经过一个10位预定比例分频器分频的位预定比例分频器分频的5种频率种频率的时钟信号(的时钟信号(1/1、1/8、1/
10、64、1/256、1/1024)。)。使用系统内部时钟源使用系统内部时钟源 当定时计数器使用系统内部时钟作为计数源时,通常作为定当定时计数器使用系统内部时钟作为计数源时,通常作为定时器和波形发生器使用。时器和波形发生器使用。AVR在定时计数器和内部系统时钟之间增加了一个预定比例分频在定时计数器和内部系统时钟之间增加了一个预定比例分频器,分频器对系统时钟信号进行不同比例的分频,分频后的时钟器,分频器对系统时钟信号进行不同比例的分频,分频后的时钟信号提供定时计数器使用。利用预定比例分频器,定时计数器可信号提供定时计数器使用。利用预定比例分频器,定时计数器可以从内部系统时钟获得几种不同频率的计数脉冲
11、信号。以从内部系统时钟获得几种不同频率的计数脉冲信号。T/C0的时钟源与的时钟源与10位预定比例分频器位预定比例分频器 使用外部时钟源使用外部时钟源 当定时计数器使用外部时钟作为计数源时,通常作为计数器当定时计数器使用外部时钟作为计数源时,通常作为计数器使用,用于记录外部脉冲的个数。使用,用于记录外部脉冲的个数。外部引脚外部引脚T0(PB0)上的脉冲信号可以作为)上的脉冲信号可以作为C/T0的计数时钟源。的计数时钟源。PB0引脚内部有一个同步采样电路(引脚内部有一个同步采样电路(Synchronization),它在),它在每个系统时钟周期都对每个系统时钟周期都对T0引脚上的电平进行同步采样,
12、然后将同引脚上的电平进行同步采样,然后将同步采样信号送到边沿检测器(步采样信号送到边沿检测器(Edge Detector)中。边沿检测电路)中。边沿检测电路对同步采样的输出信号进行边沿检测,当检测到一个正跳变对同步采样的输出信号进行边沿检测,当检测到一个正跳变(CS02:0=7)或负跳变()或负跳变(CS02:0=8)时产生一个计数脉冲)时产生一个计数脉冲CLKT0。(2)T/C0的计数单元的计数单元T/C0的计数单元是一个可编程的的计数单元是一个可编程的8位双向计数器,位双向计数器,逻辑功能图 计数(计数(count)TCNT0加加1或减或减1。方向(方向(direction)加或减的控制。
13、加或减的控制。清除(清除(clear)清零清零TCNT0。计数时钟(计数时钟(clkT0)C/T0时钟源时钟源顶部值(顶部值(TOP)表示表示TCNT0计数值到达上边界。计数值到达上边界。底部值(底部值(BOTTOM)表示表示TCNT0计数值到达下边界(零)。计数值到达下边界(零)。T/C0根据计数器的工作模式根据计数器的工作模式,在每一个在每一个clkT0时钟到来时时钟到来时,计计数器进行加数器进行加1、减、减1或清零操作。或清零操作。clkT0的来源由标志位的来源由标志位CS02:0设定。当设定。当CS02:0=0时,计数器停止计数(无计数时钟源)。时,计数器停止计数(无计数时钟源)。T/
14、C0的的计计数数值值保保存存在在8位位的的寄寄存存器器TCNT0中中,MCU可可以以在在任任何何时时间间访访问问(读读/写写)TCNT0。MCU写写入入TCNT0的的值值将将立立即即覆盖其中原有的内容,同时也会影响到计数器的运行。覆盖其中原有的内容,同时也会影响到计数器的运行。计数器的计数序列取决于寄存器计数器的计数序列取决于寄存器TCCR0中标志位中标志位WGM01:0的设置。的设置。WGM01:0的设置直接影响到计数器的的设置直接影响到计数器的计数方式和计数方式和OC0的输出,同时也影响和涉及的输出,同时也影响和涉及T/C0的溢出标志的溢出标志位位TOV0的置位。标志位的置位。标志位TOV
15、0可以用于产生中断申请可以用于产生中断申请 在在T/C0运行期间,比较匹配单元将寄存器运行期间,比较匹配单元将寄存器TCNT0的计数值同寄存的计数值同寄存器器OCR0的内容进行比较(硬件进行自动比较处理)。两者相等的内容进行比较(硬件进行自动比较处理)。两者相等,在下一个计数时钟脉冲到达时置位在下一个计数时钟脉冲到达时置位OCF0标志位。标志位标志位。标志位OCF0也也可以用于产生中断申请。根据可以用于产生中断申请。根据WGM01:0和和COM01:0的不同设的不同设置,可控制比较匹配单元产生和输出不同类型的脉冲波形。置,可控制比较匹配单元产生和输出不同类型的脉冲波形。(3)比较匹配单元)比较
16、匹配单元寄存器寄存器OCR0实际上配置有一个辅助缓存器。当实际上配置有一个辅助缓存器。当T/C0工作在工作在非非PWM模式下时,该辅助缓存器处于被禁止使用状态,此模式下时,该辅助缓存器处于被禁止使用状态,此时时MCU直接访问和操作寄存器直接访问和操作寄存器OCR0。当。当T/C0工作在工作在PWM模式时,该辅助缓存器投入使用,这时模式时,该辅助缓存器投入使用,这时MCU对对OCR0的访问的访问操作,实际上是对操作,实际上是对OCR0的辅助缓存器操作。一旦计数器的辅助缓存器操作。一旦计数器TCNT0的计数值达到设定的最大值(的计数值达到设定的最大值(TOP)或最小值)或最小值(BOTTOM)时,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- AVR 单片机 定时 计数器 结构 应用
限制150内