ebfAVR单片机定时计数器的结构与应用.pptx





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

限制150内