AVR系列之PWM测试

   现在都已经开始上课了 总结还没做完呢 还是不急 都说是慢工出细活的 不过偶是不知道自己的算不算是细活呢 自我安慰下 姑且就当是吧 今天整理的是关于定时器的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 ) ;

你可能感兴趣的:(职场,休闲,avr)