欢迎来到天天文库
浏览记录
ID:37913749
大小:272.71 KB
页数:4页
时间:2019-06-02
《AVR单片机定时器计数器一》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、单片机的定时器/计数器实质 就是一个加1计数器,通过软件对其控制寄存器的操作,来实现定时,计数功能及转换。当定时器/计数器为定时工作方式时,计数器的加1信号由振荡器的分频信号产生,即每过一个机器周期,计数器加1,直至计满溢出为止。当定时器/计数器为计数工作方式时,通过引脚T0和T1对外部信号计数,当电平变化时,计数器加1.定时器/计数器使用灵活,用途广泛,如延时,物理信号的测量,信号的周期,频率,脉宽测量,产生定时脉冲信号,捕捉输入,还可以实现PWM输出,用于D/A,电动机的无极调速等。 ATmega16三个定时器/计数器T/C0,T/C1,T/C2,其中T/C0,T/C2为8位
2、定时器/计数器,T/C1是16位定时器/计数器。 定时器/计数器相关寄存器:TIMSK:定时计数中断屏蔽寄存器,TIFR:定时计数器中断标志寄存器,ASSR:异步状态寄存器, SFIOR:特殊功能寄存器 T/C0相关寄存器:TCCR0 :控制寄存器,TCNT0:计数寄存器,OCR0:输出比较寄存器 T/C1相关寄存器:TCCR1A,TCCR1B:控制寄存器,TCNT1(TCNT1H,TCNT1L)计数寄存器,OCR1A,OCR1B:输出比较寄存器,
3、 ICR1:输入捕捉寄存器 T/C2相关寄存器:TCCR2:控制寄存器, TCNT2:计数寄存器,OCR2:输出比较寄存器, 溢出中断:以定时器/计数器T/C0为例,T/C0为8位定时器,计数范围为十六进制0x00-0xFF,对应的十进制为0-255,由0开始计数, 当计数值超过255时就产生一个中断,中断标准寄存器TIFR的TOV0(T/C0的溢出标准位)置1。比较中断:当T/C0的计数寄存器TCNT0的数值,和预置的OCR0的数值一致时,将产生一个比较中断,中断标志寄存器TIFR的
4、 OCF0(T/C0的比较中断标志位)置1。T/C0溢出中断使能过程: 1、中断总使能:SREG=0x80; 2、T/C0的溢出中断使能:将中断使能寄存器的T/C0溢出中断使能位TOIE0置1,c语言:TIMSK
5、=0x01;当产生溢出中断时,硬件自动将中断标志寄存器TIFR的TOVO(T/C0溢出中断标志)位置1,用于软件查询判断,执行完中断处理程序后,由硬件自动清0。普通模式: 普通模式(WGM01:0=0)为最简单的工作模式。在此模式下计数器不停地累加。计到8比特的最大值后(TOP=0xFF), 由于数值溢出,
6、计数器简单地返回到最小值0x00重新开始CTC(比较匹配时清0定时器):在CTC模式(WGM01:0=2)下OCR0寄存器用于调节计数器的分辨率。当计数器的数值TCNT0等于 OCR0时计数器清零。OCR0定义了计数器的TOP值,亦即计数器的分辨率。快速PWM:快速PWM模式(WGM01:0=3)可用来产生高频的PWM波形。快速PWM模式与其他PWM模式的不同之处是其单斜坡 工作方式。计数器从BOTTOM计到MAX,然后立即回到BOTTOM重新开始相位修正PWM:相位修正PWM模式(WGM01:0=1)为用户提供了
7、一个获得高精度相位修正PWM波形的方法。此模式基于双斜坡 操作。计时器重复地从BOTTOM计到MAX,然后又从MAX倒退回到BOTTOM。定时器/计数器的工作必须指定时钟源,无时钟源定时器不能工作。时钟源有内部时钟源和外部时钟源,由CS02,CS01,CS00位选择。外部时钟源由T0引脚输入。OC0为T/C0的输出引脚,即设置当TNCT0和OCR0数值相等时,外部输出引脚OC0上的电平变化。TCNT0-计数寄存器:通过它寄存器可以直接对计数器的8位数据进行读写访问。OCR0-输出比较寄存器 :包含一个8位的数据,不间断地与计数器数值TCNT0进行比
8、较。匹配事件可以用来产生输出比较中断, 或者用来在OC0引脚上产生波形。 小企鹅diy科学探究学习网更多相关文章转到: http://hi.baidu.com/wqb_lmkj/blog 文章分类下的单片机
此文档下载收益归作者所有