⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 spwm.c.bak

📁 一个ti dsp2407 芯片的 开环三相逆变器 汇编程序
💻 BAK
字号:
// 该程序利用EVA模块的PWM1--PWM6引脚产生不同占空比的方波
#include	"C2407.h"
#include    "stdio.h"
#include    "float.h"
#include    "math.h"
#define Tc_half 1000
#define Tonmin  120
#define Tonmax  1880
int k=0;
int M;//Q9 M=1时 512
float sintable[401]={16384,
16641,16898,17155,17412,17669,17925,18181,18437,18692,18947,19200,19454,19706,19958,20208,20458,20707,20954,21201,21446,
21691,21933,22175,22415,22653,22890,23126,23359,23591,23822,24050,24277,24501,24724,24944,25162,25379,25593,25804,26014,
26221,26425,26627,26827,27024,27218,27410,27599,27785,27969,28149,28327,28502,28673,28842,29008,29170,29329,29486,29638,
29788,29934,30077,30217,30353,30486,30615,30741,30863,30982,31097,31208,31316,31420,31520,31617,31710,31799,31884,31966,
32043,32117,32187,32253,32315,32373,32427,32477,32524,32566,32604,32638,32669,32695,32717,32735,32749,32759,32765,32767,
32765,32759,32749,32735,32717,32695,32669,32638,32604,32566,32524,32477,32427,32373,32315,32253,32187,32117,32043,31966,
31884,31799,31710,31617,31520,31420,31316,31208,31097,30982,30863,30741,30615,30486,30353,30217,30077,29934,29788,29638,
29486,29329,29170,29008,28842,28673,28502,28327,28149,27969,27785,27599,27410,27218,27024,26827,26627,26425,26221,26014,
25804,25593,25379,25162,24944,24724,24501,24277,24050,23822,23591,23359,23126,22890,22653,22415,22175,21933,21691,21446,
21201,20954,20707,20458,20208,19958,19706,19454,19200,18947,18692,18437,18181,17925,17669,17412,17155,16898,16641,16384,
16126,15869,15612,15355,15098,14842,14586,14330,14075,13820,13567,13313,13061,12809,12559,12309,12060,11813,11566,11321,
11076,10834,10592,10352,10114,9877 ,9641 ,9408 ,9176 ,8945 ,8717 ,8490 ,8266 ,8043 ,7823 ,7605 ,7388 ,7174 ,6963 ,6753 ,
6546 ,6342 ,6140 ,5940 ,5743 ,5549 ,5357 ,5168 ,4982 ,4798 ,4618 ,4440 ,4265 ,4094 ,3925 ,3759 ,3597 ,3438 ,3281 ,3129 ,
2979 ,2833 ,2690 ,2550 , 2414,2281 ,2152 ,2026 ,1904 ,1785 ,1670 ,1559 ,1451 ,1347 ,1247 ,1150 ,1057 ,968  ,883  ,801  ,
724  ,650  ,580  ,514  ,452  ,394  ,340  ,290  ,243  ,201  ,163  ,129  ,98   ,72   ,50   ,32   ,18   ,8    ,2    ,0    ,
2    ,8    ,18   ,32   ,50   ,72   ,98   ,129  ,163  ,201  ,243  ,290  ,340  ,394  ,452  ,514  ,580  ,650  ,724  ,801  ,
883  ,968  ,1057 ,1150 ,1247 ,1347 ,1451 ,1559 ,1670 ,1785 ,1904 ,2026 ,2152 ,2281 ,2414 ,2550 ,2690 ,2833 ,2979 ,3129 ,
3281 ,3438 ,3597 ,3759 ,3925 ,4094 ,4265 ,4440 ,4618 ,4798 ,4982 ,5168 ,5357 ,5549 ,5743 ,5940 ,6140 ,6342 ,6546 ,6753 ,
6963 ,7174 ,7388 ,7605 ,7823 ,8043 ,8266 ,8490 ,8717 ,8945 ,9176 ,9408 ,9641 ,9877 ,10114,10352,10592,10834,11076,11321,
11566,11813,12060,12309,12559,12809,13061,13313,13567,13820,14075,14330,14586,14842,15098,15355,15612,15869,16126,16384}
//1+sin的q14格式sin表
int  initial()
{
    DISABLE_INTS();
	asm(" setc	SXM");  			// 符号位扩展有效
	asm(" clrc	OVM");				// 累加器中结果正常溢出
	asm(" clrc	CNF");				// B0被配置为数据存储空间
	*SCSR1=0x0304;				// CLKIN=20M,CLKOUT=2*CLKIN=40M
	*WDCR=0x068;				// 不使能看门狗,因为SCSR2中的WDOVERRIDE
		     					   // 即WD保护位复位后的缺省值为1,故可以用
		     					  // 软件禁止看门狗
	*IMR=0x02;					// 禁止所有中断
	*IFR=0x0ffFF;				// 清除全部中断标志,"写1清0"
 //	WSGR=0X0000;					// 禁止所有的等待状态

}
// 定时器1的初始化子程序
int  timer1int()
{
    
	*EVAIMRA=*EVAIMRA|0X0200;	// 允许定时器1的下溢中断
	*EVAIFRA=*EVAIFRA&0X0200;	// 清除定时器1 下溢中断标志
	*EVAIMRB=0X0000         ;  // 屏蔽所有事件管理器中断

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -