找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3275|回复: 1
打印 上一主题 下一主题
收起左侧

avr pwm求助

[复制链接]
跳转到指定楼层
楼主
ID:55042 发表于 2014-5-25 20:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
想用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);
       
       
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:65015 发表于 2014-8-13 11:24 | 只看该作者
单片机不止这个中断,还有总中断,SREG 的BIT7 也要置位才行。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表