现在都已经开始上课了 总结还没做完呢 还是不急 都说是慢工出细活的 不过偶是不知道自己的算不算是细活呢 自我安慰下 姑且就当是吧 今天整理的是关于定时器的PWM功能测试 不多说了 继续写出代码吧
#include <iom16v.h >
#include < macros.h >
#define OC0_OUT_EN DDRB |= 0b00001000 //OCO设置为输出端
//PWM初始化
void Timer0Init(void)
{
TCCR0 = (1<<WGM01)|(1<<WGM00)|(1<<COM01)|(1<<COM00)|(1<<CS00);
/*
WGM01=1; WGM00=1; --> fast PWM modle
COM01=1; COM00=0; --> 比较匹配时set OC0 pin
CS00=1; --> timer0 source 不经过任何分频,直接为Clk,使得PWM可以工作得足够快
*/
TCNT0 = 0x00; //设置TC0计数寄存器初值
OCR0 = 0xe0; //输出比较寄存器初值,设置该值可用于调节占空比
}
//主函数
void main ( void )
{
OCO_OUT_EN ;
TimerOInit ( ) ;
SEI () ;
while ( 1 ) ;
}