avr单片机定时计数器的结构与应用

avr单片机定时计数器的结构与应用

ID:36321492

大小:579.00 KB

页数:30页

时间:2019-05-09

avr单片机定时计数器的结构与应用_第1页
avr单片机定时计数器的结构与应用_第2页
avr单片机定时计数器的结构与应用_第3页
avr单片机定时计数器的结构与应用_第4页
avr单片机定时计数器的结构与应用_第5页
资源描述:

《avr单片机定时计数器的结构与应用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、定时计数器的结构与应用定时计数器(Timer/Counter)常用于计数、延时、测量周期、频率、脉宽、提供定时脉冲信号等。在实际应用中,对于转速,位移、速度、流量等物理量的测量,通常也是由传感器转换成脉冲电信号,通过使用定时计数器来测量其周期或频率,再经过计算处理获得。AVR的定时计数器接口功能:通过定时计数器与比较匹配寄存器相互配合,生成占空比可变的方波信号,即脉冲宽度调制输出PWM信号,可用于D/A、马达无级调速控制、变频控制等。ATmega16一共配置了2个8位和1个16位,共3个定时计数器,它们是8位的定时计数器T/C0、T/C2和16位的定时计数器T/C1。定时计数器的结

2、构定时计数器最基本的功能就是对脉冲信号“自动”进行计数。“自动”,指计数的过程是由硬件完成的,不需要MCU的干预。但MCU可以通过指令设置定时计数器的工作方式,以及根据定时计数器的计数值或工作状态做必要的处理和响应。使用定时计数器时,必须注意以下的基本要素:1.定时计数器的长度。定时计数器的长度是指计数单元的位长度,一般为8位(一个字节)或16位(2个字节)。2.脉冲信号源。脉冲信号源是指输入到定时计数器的计数脉冲信号。通常用于定时计数器计数的脉冲信号可以由外部输入引脚提供,也可以由单片机内部提供。3.计数器类型计数器类型是指计数器的计数运行方式,可分为加一(减一)计数器,单程计数

3、或双向计数等。4.计数器的上下限计数器的上下限指计数单元的最小值和最大值。一般情况下,计数器的下限值为零,上限值为计数单元的最大计数值,即255(8位)或65535(16位)。需要注意的是,当计数器工作在不同模式下时,计数器的上限值并不都是计数单元的最大计数值255或65535,它将取决于用户的配置和设定。5.计数器的事件计数器的事件指计数器处于某种状态时的输出信号,该信号通常可以向MCU申请中断。如当计数器计数到达计数上限值255时,产生“溢出”信号,向MCU申请中断。两个8位的定时计数器:T/C0、T/C2主要特点是:1.单通道计数器。2.比较匹配时清零计数器(自动重装特性,A

4、utoReload)。3.可产生无输出抖动(glitch-free)的,相位可调的脉宽调制(PWM)信号输出。4.频率发生器。5.外部事件计数器(仅T/C0)。6.带10位的时钟预分频器。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的控制寄存器TCCR05.中断标

5、志寄存器TIFR6.定时器中断屏蔽寄存器TIMSK。T/C0的计数器事件输出信号有两个1.计数器计数溢出TOV02.比较匹配相等OCF0。这两个事件的输出信号都可以申请中断,中断请求信号TOV0、OCF0可以在定时器中断标志寄存器TIFR中找到,同时在定时器中断屏蔽寄存器TIMSK中,可以找到与TOV0、OCF0对应的两个相互独立的中断屏蔽控制位TOIE0、OCIE0。(1)T/C0的时钟源来自外部引脚T0的信号提供,来自芯片的内部。①T/C0计数时钟源的选择T/C0的时钟源的选择由T/C0的控制寄存器TCCR0中的3个标志位CS0[2:0]确定,共有8种选择。无时钟源(停止计数)

6、,外部引脚T0的上升沿或下降沿,以及内部系统时钟经过一个10位预定比例分频器分频的5种频率的时钟信号(1/1、1/8、1/64、1/256、1/1024)。②使用系统内部时钟源当定时计数器使用系统内部时钟作为计数源时,通常作为定时器和波形发生器使用。AVR在定时计数器和内部系统时钟之间增加了一个预定比例分频器,分频器对系统时钟信号进行不同比例的分频,分频后的时钟信号提供定时计数器使用。利用预定比例分频器,定时计数器可以从内部系统时钟获得几种不同频率的计数脉冲信号。T/C0的时钟源与10位预定比例分频器③使用外部时钟源当定时计数器使用外部时钟作为计数源时,通常作为计数器使用,用于记录

7、外部脉冲的个数。外部引脚T0(PB0)上的脉冲信号可以作为C/T0的计数时钟源。PB0引脚内部有一个同步采样电路(Synchronization),它在每个系统时钟周期都对T0引脚上的电平进行同步采样,然后将同步采样信号送到边沿检测器(EdgeDetector)中。边沿检测电路对同步采样的输出信号进行边沿检测,当检测到一个正跳变(CS0[2:0]=7)或负跳变(CS0[2:0]=8)时产生一个计数脉冲CLKT0。(2)T/C0的计数单元T/C0的计数单元是一个可编程的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。