体系功用
AVR内部脉宽调制OC2输出试验,用LED指示PWM的频率,在PWM速度较低时,可观察到LED的闪耀。
硬件规划
AVR主控电路原理图
软件规划
//方针体系:根据AVR单片机
//应用软件: ICC AVR
/*01010101010101010101010101010101010101010101010101010101010101010101
———————————————————————-
试验内容:
AVR内部脉宽调制输出试验,用LED指示PWM的频率,在PWM速度较低时,可观察到LED的闪耀。
———————————————————————-
硬件衔接:
将UserLed指示灯衔接至PWM的端口PD7/OC2。
———————————————————————-
注意事项:
(1)若有加载库程序,请将光盘根目录下的“库程序”下的“ICC_H”文件夹拷到D盘
(2)请具体阅览:光盘根目录下的“产品材料开发板试验板SMK系列SMK1632阐明材料”
———————————————————————-
10101010101010101010101010101010101010101010101010101010101010101010*/
#include
#include
#define OC2_OUT_EN DRD |= 0b10000000
/*——————————————————————–
程序称号:定时器2初始化程序
程序功用:定时器作PWM运用,设置PWM的作业形式
注意事项:
提示阐明:
输入:
回来:
——————————————————————–*/
void timer2_init(void)
{
TCCR2 = (1< /* WGM21=1; WGM20=1; –> fast PWM modle COM21=1; COM20=0; –>比较匹配时set OC2 pin CS20=1; –> timer2 source不通过任何分频,直接为Clk,使得PWM能够作业得足够快 */ TCNT2 = 0x00;//设置TC2计数寄存器初值 OCR2 = 0xE0;//输出比较寄存器初值,设置该值可用于调理OC2占空比 }
/*——————————————————————–
程序称号:
程序功用:
注意事项:
提示阐明:
输入:
回来:
——————————————————————–*/
void main(void)
{
OC2_OUT_EN;//为答应PWM作业,需设置PD7为输出
timer2_init();
SEI();
while(1);
}
体系调试
改动PWM初始化代码的如下两个句子的赋值:
TCNT2 = 0x00;//设置TC2计数寄存器初值
OCR2 = 0xE0;//输出比较寄存器初值,设置该值可用于调理OC2占空比
从LED的闪耀频率能够看出,改动了PWM的频率。