搜索
bottom↓
回复: 12
打印 上一主题 下一主题

ATmega16产生SPWM驱动全桥实现DC_AC变换

[复制链接]

出0入0汤圆

跳转到指定楼层
1
发表于 2011-8-21 09:13:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
软件平台:AVR Stdio4
硬件平台:ATmega16最小系统
//本人做的欢迎大家指教       
#include <avr/io.h>
#define F_CPU 8000000UL
#include <util/delay.h>
#include <avr/interrupt.h>

#define uint unsigned int
#define uchar unsigned char


#define  S_HIN1 PORTA|=(1<<PA0)
#define  C_HIN1 PORTA&=(0<<PA0)

#define  S_LIN1 PORTA|=(1<<PA1)
#define  C_LIN1 PORTA&=(0<<PA1)

#define  S_HIN2 PORTA&=((0<<PA2)&(0<<PA3))                //选中PWM1(1<<PA2)
#define  C_HIN2 PORTA&=((1<<PA2)&(0<<PA3))                //清除PWM1

#define  S_LIN2 PORTA|=((1<<PA3)|(1<<PA2))                //选中PWM2
#define  C_LIN2 PORTA&=((1<<PA2)&(0<<PA3))                //清除PWM2

#define  S_SD1 PORTA|=(1<<PA4)
#define  C_SD1 PORTA&=(0<<PA4)

#define  S_SD2 PORTA|=(1<<PA5)
#define  C_SD2 PORTA&=(0<<PA5)

//128点正弦波样本值
/*
uint SinParam[128]={
128,134,140,147,153,159,165,171,177,182,188,193,198,204,208,213,
218,222,226,230,233,237,240,242,245,247,249,251,252,253,254,254,
254,254,253,252,251,250,248,246,244,241,238,235,232,228,224,220,
215,211,206,201,196,191,185,179,174,168,162,156,150,144,137,131,
125,119,112,106,100,94,88,82,77,71,65,60,55,50,45,41,
36,32,28,24,21,18,15,12,10,8,6,5,4,3,2,2,
2,2,3,4,5,7,9,11,14,16,19,23,26,30,34,38,
43,48,52,57,63,68,74,79,85,91,97,103,109,116,122,128
};
*/

uint SinParam[65]={
128,134,140,147,153,159,165,171,177,182,188,193,198,204,208,213,
218,222,226,230,233,237,240,242,245,247,249,251,252,253,254,254,
254,254,253,252,251,250,248,246,244,241,238,235,232,228,224,220,
215,211,206,201,196,191,185,179,174,168,162,156,150,144,137,131,
128
};
volatile uchar num=0;
volatile uchar HB_Flag=0;

int main(void)
{
        //define PD4 and PD5 to be output(respectively OC1B and OC1A)
        DDRD|=0x30;       
        //Mode;fast PWM(15),Freq;F(I/O)/1,clr at compare and set at top,
        TCCR1A=0xA3;
        TCCR1B=0x19;
        OCR1A=1024;
        OCR1B=0;
        TIMSK=0x08;        //output compare interrupt enable
        sei();
        while(1);
}

ISR(TIMER1_COMPB_vect)
{
        OCR1B=SinParam[num]*4;
        num++;
        if(num>64)
        {
                num=0;
                HB_Flag++;
                if(HB_Flag==1)
                {
                        C_LIN1();                //关断1号下桥
                        C_HIN2();                //关断2号上桥
                        _delay_us(4);
                        S_HIN1();                //开1号上桥
                        S_LIN2();                //开2号下桥
                               
                }
                else if(HB_flag==2)
                {
                        C_LIN2();                //关断2号下桥
                        C_HIN1();                //关断1号上桥
                        _delay_us(4);
                        S_HIN2();                //开2号上桥
                        S_LIN1();                //开1号下桥
                        HB_Flag=0;
                }
                else ;
        }

}

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

2
发表于 2011-8-22 08:02:03 | 只看该作者
mark

出0入0汤圆

3
发表于 2011-8-24 09:57:20 | 只看该作者
挺感兴趣的,希望楼主继续研究

出0入0汤圆

4
 楼主| 发表于 2011-8-28 15:03:11 | 只看该作者
呵呵,多谢~

出0入0汤圆

5
发表于 2011-10-25 13:12:15 | 只看该作者
参考下
头像被屏蔽

出0入0汤圆

6
发表于 2011-12-25 21:16:37 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

7
发表于 2012-1-30 14:53:46 | 只看该作者
mark

出0入0汤圆

8
发表于 2013-10-29 11:36:54 | 只看该作者
mark,路过

出0入0汤圆

9
发表于 2013-10-29 12:28:04 | 只看该作者
mark标记

出0入0汤圆

10
发表于 2013-12-8 13:17:55 来自手机 | 只看该作者
学习一下,謝谢

出0入0汤圆

11
发表于 2014-6-17 15:50:32 | 只看该作者

学习一下,謝谢

出0入0汤圆

12
发表于 2014-9-3 19:54:12 | 只看该作者
很好的样子

出0入0汤圆

13
发表于 2019-5-19 18:15:27 | 只看该作者
mark,学习一下!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-24 10:52

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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