📄 oc0pwm._c
字号:
#include<iom16v.h>
#include<macros.h>
void timer0_init(void)
{
TCCR0 = (1<<WGM01)|(1<<WGM00)|(1<<COM01)|(1<<COM00)|(1<<CS00);
/*
WGM01=1; WGM00=1; --> fast PWM modle
COM01=1; COM00=0; --> 比较匹配时set OC2 pin
CS00=1; --> timer0 source 不经过任何分频,直接为Clk,使得PWM可以工作得足够快
*/
TCNT0 = 0x00; //设置TC2计数寄存器初值
OCR0 = 0xe0; //输出比较寄存器初值,设置该值可用于调节占空比
}
void main(void)
{
DDRD |= 0b10000000; //为允许PWM工作,需设置PD7为输出
timer0_init();
SEI();
while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -