2024年4月19日发(作者:)

复习旧课: ATmega16有3个外部中断源,分别对应PD2、PD3 和PB2。与外部中断有关的寄存

器:状态寄存器(SREG);通用中断控制寄存器(GICR);通用中断标志寄存器(GIFR);MCU控制寄

存器(MCUCR)。

CVAVR编译器的中断操作:CVAVR 的C编译器支持在C源程序中直接开发中断程序。当用

户使用该功能时,必须在中断服务子程序定义之前用“interrupt”语句通知编译器,该子程序是一个

中断操作。

用“interrupt”语句定义中断服务子程序的格式为:

interrupt [中断向量号或向量号的宏定义] void handler(中断函数名) (void)

新课讲解:

第六章 定时器/计数器原理及应用

§6.1 定时与计数原理

6.1.1 计数原理

所谓计数是指对外部事件进行计数。外部事件的发生以输入有效脉冲来表示。因此计数功能的

实质,就是对外部有效脉冲进行计数。

当外部发来一个有效脉冲时,在S1闭合的情况下,计数器会加1,即表示记录了一次外部事

件。当外部脉冲为连续脉冲时,计数器将不断加1,直到计数器溢出。计数器原理框图如下图所示:

图6-1计数器原理框图

6.1.2 定时原理

定时器原理框图如图6-2所示。

定时功能实质上是通过计数器的计数来实现的。当计数器的输入脉冲频率恒定时,计数器所记

录的数值即代表了时间的概念。例如:若计数频率恒定为1MHZ,即其周期为1,此时表明每微秒

计数器加1。当计数器的值从1增加到10时,计数器所记录的时间为10,即定时为10微秒。所以

当计数器的计数频率恒定时,可以根据计数器的“计数值”计算出定时时间。由此原理,也可以反

过来按定时时间要求计算出计数器的装入初值。

图6-2定时器原理框图

6.1.3 事件捕获原理

捕获原理框图如下图所示:

当外部捕获事件发生时,立即打开闸门电路将定时器/计数器的当前值装入捕获寄存器。一旦

定时器/计数器的当前值被装入捕获寄存器,捕获标志位ICF立即置1并同时产生输入捕获中断请

求2。

图6-3 外部捕获原理框图

6.1.4 PWM输出原理与方法

PWM为脉冲宽度调制。PWM输出的一般形式为一系列的脉冲波形,如图6-4所示。

图6-4 PWM输出的一般形式

在图6-4中,设脉冲的周期为τ,高电平持续时间为t,则t与τ之比定义为PWM的“占空比”,

用D表示,即D=t/τ。

PWM输出的最大特点是波形的频率恒定,波形的占空比D却可以改变。占空比的改变很具

有实际意义,例如小功率直流电机的驱动与调速,其方法就是控制电机电枢电压接通和断开的比值

来驱动电机和改变电机的转速,这种方法称为脉宽调速法。

PWM原理框图如下图所示:

图6-5 PWM原理框图

定时器/计数器以一定的频率上、下计数,即计数器从00H~FFH(假设定时器/计数器为8位)

进行计数,然后计数器反向从FFH~00H进行计数,如此反复。当计数器中的数值与比较寄存器

中的数值相等时,比较器的输出按PWM预定的规律输出一系列的脉冲波,如图6-6所示。