标题: avr pwm求助 [打印本页]

作者: 一梦千年    时间: 2014-5-25 20:37
标题: avr pwm求助
想用atmega48产生相位修正的pwm,datasheet里说的是在bottom置位中断标志TOVn,因此我想在中断里改变占空比,但是就是不出来波形,不知道问题出在哪,各位大侠帮忙给看看,谢谢!
#include <avr/io.h>

#include <avr/signal.h>
#include <avr/interrupt.h>


SIGNAL(SIG_OVERFLOW0)
{
        OCR0A =128;         //比较设定值
        OCR0B=128;       
}

void timer_init()
{
        TCCR0A=0b10110001; //升序比较匹配时OC0A=0,降序时比较匹配时置OC0A=1,TOP固定等于255
        TCCR0B=0b00000001; //时钟不分频,一旦设定时钟,TCNT0就开始不断的计数
        TIMSK0=1<<0;        //使能定时器0中断
}

void port_init()
{
        DDRD=(1<<6)|(1<<5);          //端口方向设置为输出才有效
       
}

void device_init()
{
        timer_init();
        port_init();
}


int main(void)
{
       
        device_init();
       
        while (1);
       
       
}


作者: MKPLIXIANG    时间: 2014-8-13 11:24
单片机不止这个中断,还有总中断,SREG 的BIT7 也要置位才行。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1