欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOCX文档下载  

    三种SPWM算法源码.docx

    • 资源ID:11657079       资源大小:68.67KB        全文页数:4页
    • 资源格式: DOCX        下载积分:2
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要2
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    三种SPWM算法源码.docx

    这个是头文件 spwm. hIviz I"! ” >I“ 】" 1""%fx %Lr /I I "/* 普八通 SP VM ttifndef NORMAL S PWM H #defi ne _NORMAL_S PWM_H SPWM 表结构体三项公用一个表 typ edef struct _SP WM_tableUi ntl6 TableSize; 表大小即表中所有数据Ui ntl6 Sp wmSize;/SPWM表大小volatile Ui ntl6 *p_S PWM_A;/A相指针volatile Ui ntl6 *p_S PWM_B;B相指针volatile Ui ntl6 *p_SP WM_C;/C相指针Ui nt 16 *p_HeadTable;针./表头指我向SDWM先SP WM_TABLE;extern SPW_TABLE g_SPW_Table; / 全局 SPW 表void In itS pwm(void);void StartS pwm(void);in terru pt void ISR_T1UFINT_NORMAL_FUNC(void);void CalcSpwmWithSym(float32 a/*调制比 */, float32 w_Hz/* 调制频率 */, float32 z_Hz/*载波频 率 */);void CalcSpwmWithlmSym(float32a/*调制比 */, Uintl6 w_Hz/* 调制频率 */, Uint32 z_Hz/*载波频率*/);void CalcSpwmWithArea(float32 a/*调制比 */, Uintl6 w_Hz/* 调制频率 */, Uint32 z_Hz/*载波频率 */);tten dif源文件tti nclude DS P281x. htti nclude SP WM. httin elude "float. h ttin elude "math. httdefi ne MAX_BUF 400ttdefi ne PI 3. 1415926Ui ntl6 g_sp wm_dataMAX_BUF; / 表的数据存储 SPW_TABLE g_SPW_Table; / 全局 SPWM 表/SPW初始化程序void InitSpwm(void)g_SPW_Table. p_HeadTable = g_spwm_data ; / 指向数据表 g_SPW_Table. TableSize = MAX_BUF; / 存储 表的大小EALLOW;PieVectTable. T1UF1NT=&1SR T1UF1NT NORMAL FUNC; EDIS;开下益中断清楚中断标志响应同组中断1ER | =M_1NT2; 开中断 2 PieCtrlRegs. P1E1ER2. bit. 1NTx6=1; / EvaRegs. EVA1FRA. bit. T1UF1NT=1;PieCtrlRegs. PIEACK. bit. ACK2 = 1; ) void StartSpwm(void)打开下益中断EvaRegs. EVA1MRA. bit. T1UF1NT = 1; / 5对称规则采样法void Cal cSpwmW i t hSym (f 1 oat 32 a/* 调制比 */, float32 w_Hz/* 调制频率 */, fl oat 32 z_Hz/* 载波频 率 */) (Uintl6 tmp_PR; /Tl 周期值volatile Uintl6 i,n, *p;float32 m;m = z_Hz/w_Hz ; /求出载波比 g_SPWM_Table. SpwmSize =(Uintl6)m;tmp_PR = g_Tl_Clk /(2*z_Hz); 计算出其周期值p=g_SPW_Table. p_HeadTable; 得到数据表头指针 for (i=0;i<(Uintl6)m;i+) n=tmp_PR* (0. 5-0. 5*a*sin(i+0. 75) *2*Pl/m);*p=n;P+; )不对称规则采样法void CalcSpwmWithlmSym(float32 a/*调制比 */, Uintl6 w_Hz/* 调制频率 */, Uint32 z_Hz/* 载波频率 */)Uintl6 tmp_PR; T1 周期值volatile Uintl6 i,n, *p;float32 m;m = z_Hz/w_Hz ; / 求出载波比 g_SPWM_Table. SpwmSize = (Uintl6)m;tmp_PR = g_Tl_Clk /(2*z_Hz);计算出其周期值p=g_SPW_Table, pJeadTable; / 得到数据表头指针 for (i=0; i<(Uintl6)m; i+)n=tmp_PR*(0 5-0. 25*a*(sin(i+0. 25)*2*PI/m)+sin(i+0.75)*2*PI/m);*p=n;P+;面积法void CalcSpwmWithArea(float32 a/*调制比 */, Uintl6 w_Hz/* 调制频率 */, Uint32 z_Hz/*载波频率*/)/Uintl6 tmp_PR; T1 周期值volatile Uintl6 i,n, *p;float32 m, nl, n2;m = z_Hz/w_Hz ; /求出载波比g_SPWM_Table. SpwmSize =(Uintl6)m;/tmp_PR = g_Tl_Clk /(2*z_Hz); 计算出其周期值 p=g_SPW_Table. P_HeadTable; / 得到数据表头指 针n=m;m/=2; 除去一半计算半波nl=(float32)g_Tl_Clk/(8. 0*m*w_Hz) ; / 计算首相n2=(float32)g_T2_Clk/(8. 0*PI*w_Hz)*a;for(i=0;i<n;i+) (*p=nl-n2*(cos(i*PI/m)-cos(i+1)*PI/m);p+;中断程序 interrupt void ISR_T1UFINT_NORMAL_FUNC(void) static Uintl6 cnt=0 ; / 计数EvaRegs. CN1PR1 二 g_spwm_datacnt;cnt+;if(cnt>=g_SPWM_Table. SpwmSize) ent = 0;EvaRegs. EVAIFRA. bit. TlUFINT=l;PieCtrlRegs. PIEACK. bit. ACK2 = 1; EINT;

    注意事项

    本文(三种SPWM算法源码.docx)为本站会员(大张伟)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开