亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? svpwm.c

?? 基于f2812的svpwm程序
?? C
字號:
/*******************************************************************************************
文件: 	SvPwm.c		空間矢量脈寬調(diào)制	

標(biāo)題:	通過事件管理產(chǎn)生PWM	

條件:	本程序需要DSP281x V1.00頭文件支持,另外需配置成"boot to H0"操作方式。	
		除了boot方式引腳配置外,無需其他硬件配置方式。

說明:	該程序設(shè)置EV定時器(TIMER1, TIMER2, TIMER3 and TIMER4),用于產(chǎn)生T1PWM, 
		T2PWM, T3PWM, T4PWM and PWM1-PWM12波形。可通過示波器觀察這些波形。

		在以下幾個方面對TI提供的驅(qū)動源碼進行了硬件和軟件的增強:
		(1) 增加了LED數(shù)碼管顯示的硬件接口。以便將EvPwm發(fā)生的次數(shù)反映在LED數(shù)碼管上。	
		(2)	在更新EvPwm時,增加了受GPIO A控制的16個Led發(fā)光二極管的閃爍顯示。
		(3) 增加了320*240液晶屏及與之配套的軟件。
*******************************************************************************************/

#include "DSP281x_Device.h"     // DSP281x 頭文件包含文件
#include "DSP281x_Examples.h"   // DSP281x 示例包含文件

		//**********************************************//
#include    "float.h"
#include    "math.h" 
float       ualfa[200],ubeta[200];	// 存儲電壓矢量Uout的(α,β)坐標(biāo)軸分量Ualfa,
									// Ubeta的數(shù)組
Uint16      sector[200];			// 定義存儲扇區(qū)數(shù)的數(shù)組
#define     PI2    2*3.1415926		// 定義2π的值
#define     DETA   PI2/200			// 定義相鄰兩個Uout之間的電度角的差值
#define     INIA   3.1415926/180	// 定義Uout的初始電度角

//Uint16		TP=3000;
static int   TP=3000;				// 周期寄存器的值,其值(1200)等于SVPWM調(diào)制周期T的
									// 一半,因為在該程序中2π電度角內(nèi)Uout的點數(shù)一
									// 定,故改變此值可以改變輸出的三相正弦交流電壓的頻
//float 		KP=0.7;									// 率
static float KP=0.7;				// 定義Uout的標(biāo)么值,KP的值在0和1之間,改變此
									// 值可以改變逆變橋輸出電壓的幅值
static int   receive[5];			// 串口通訊數(shù)據(jù)接收數(shù)組
//static int   transfer[7];			// 串口通訊數(shù)據(jù)發(fā)送數(shù)組
//Uint16   	receive[5];

void calu();
void SECTOR();

void scib_fifo_init();
void interrupt uarttr();
interrupt void scibRxFifoIsr(void);

int anticlk[6]={0x1666,0x3666,0x2666,0x6666,0x4666,0x5666};	// 逆時針旋轉(zhuǎn)的6個基本矢量

		//**********************************************//

	// 本文件建立的函數(shù)原型聲明。
void init_eva(void);			// EVA配置T1PWM, T2PWM, PWM1-PWM6 ,初始化定時器
void init_evb(void);			// EVB配置T3PWM, T4PWM, PWM7-PWM12 ,初始化定時器
void delay();					// 延時函數(shù)

interrupt void  adc_isr(void);

void OscillographTable();		// 制作示波器表格

void VoltageCurve();
void AdcResultCopy();

Uint16 *Xaddr=(Uint16 *)0x13f000;

Uint16 Xram_pointer=0;

// 本例的全局變量



	// 外部函數(shù)聲明。由Bc7281.c 文件建立
void LedD_Display(void);
	// 將模數(shù)轉(zhuǎn)換值以10進制形式,在Led第4,3,2,1位數(shù)碼管上進行顯示	
void LedH_Display(void);
	// 將模數(shù)轉(zhuǎn)換值以16進制兩個字節(jié)形式,在Led第8,7,6,5位數(shù)碼管上進行顯示

	// 本例中的全局計數(shù)器
Uint16 count=0,i;


void main(void)
{
	int i,k=0,cmp1,cmp2;
	float x,y,z;

		// 步驟1 系統(tǒng)控制初始化: 鎖相環(huán)(PLL),看門狗(WatchDog)及外設(shè)時鐘
		// (PeripheralClocks)初始化。該函數(shù)在DSP281x_SysCtrl.c文件中建立。
	InitSysCtrl();

		// 步驟2.初始化GPIO: 
		// 這個函數(shù)例舉怎樣將GPIO設(shè)置成其默認狀態(tài),該函數(shù)由DSP281x_Gpio.c文件建立。
// 	InitGpio();  	// 本例跳過這個函數(shù) 

	lcd_init();
	clearscr1();					// 第一顯示緩沖區(qū)(0x0000-0x29ff)清零
	clearscr2();					// 第二顯示緩沖區(qū)(0x2a00-0x53ff)清零
	clearscr3();					// 第三顯示緩沖區(qū)(0x5400-0x7dff)清零
	OscillographTable();

		//	對于這個檢測僅初始化GPAMUX和GPBMUX
   	EALLOW;								//允許訪問受保護的空間
   	GpioMuxRegs.GPAMUX.all = 0x00FF; 	// 使能EVA PWM 1-6  腳
   	GpioMuxRegs.GPBMUX.all = 0x00FF; 	// 使能EVB PWM 7-12 腳
   	
   	EDIS;								//禁止訪問受保護的空間

	EALLOW;								// 允許訪問受保護的寄存器
    GpioMuxRegs.GPAMUX.all=0x0000;		// 將A端口設(shè)置成IO方式		 
    GpioMuxRegs.GPADIR.all=0xffff;		// 將GPIO A所有15個端口配置成數(shù)字量輸出 
	EDIS;								// 禁止訪問受保護的寄存器
    GpioDataRegs.GPADAT.all=0xAAAA;		// 間隔一個點亮LED發(fā)光二極管。

		// 步驟3 關(guān)所有中斷并初始化PWM矢量表
   	DINT;			// 關(guān)CPU中斷
   
   	InitPieCtrl();	// 初始化PIE控制寄存器為默認狀態(tài)。該狀態(tài)關(guān)所有PIE中斷并清除所
   					// 有標(biāo)識。該函數(shù)在DSP281x_PieCtrl.c文件中建立。

   	IER = 0x0000;	//	關(guān)CPU中斷并清CPU中斷標(biāo)識。
   	IFR = 0x0000;

   	InitPieVectTable();
					// 初始化PIE向量表,該向量表指出中斷服務(wù)程序(ISR)的構(gòu)架。即使在本范例中
					// 沒有用到中斷,仍舊組裝整張表。它在程序調(diào)試時是很有用的。ISR程序構(gòu)架由
					// DSP281x_DefaultIsr.c文件建立
					// InitPieVectTable()函數(shù)由DSP281x_PieVect.c文件建立
   
//##################

		// 本例用到的中斷重新映射到由本文件建立的ISR函數(shù)中。
//******************************************************************************************
//   			關(guān)于 "PieVectTable.ADCINT = &adc_isr;" 指令的說明   
//	1. adc_isr 是一個ADC模塊中斷服務(wù)程序(ISR)。
//	2. 這個中斷程序與中斷擴展(PIE)向量表第1組INT1第6個中斷向量ADCINT(ADC)對應(yīng)。
//	3. 為了使這個程序響應(yīng)對應(yīng)的中斷,還需作如下配置: 
//	 
//		PieCtrlRegs.PIECRTL.bit.ENPIE = 1;  
// 		使能PIE向量表。這條指令包含在上面調(diào)用的InitPieVectTable()函數(shù)中。
//
//   	IER |= M_INT1;						// 使能PIE向量表第1組CPU INT1中斷	
//   	PieCtrlRegs.PIEIER1.bit.INTx6 = 1;	// 使能PIE向量表第一組第6個ADCINT中斷
//      EINT;         					    // 允許可屏蔽中斷(清INTM位)
//
//   	這幾條指令在本程序的后續(xù)指令中可以找到。這樣,在發(fā)生ADCINT中斷的情況下,將
//		執(zhí)行adc_isr()中斷服務(wù)程序。   	
//   	"PieVectTable.ADCINT = &adc_isr;" 指令實際上就是通知編譯器,在發(fā)生ADCINT
//		中斷的情況下,將執(zhí)行adc_isr()中斷服務(wù)程序。adc_isr頭上的"&"為取地址運算符。
//******************************************************************************************
   	EALLOW;  							// 允許訪問受保護的寄存器
   	PieVectTable.ADCINT = &adc_isr;
   	EDIS;    							// 禁止訪問受保護的寄存器

	EALLOW; 
	PieVectTable.RXBINT = &scibRxFifoIsr;
   	EDIS; 
		// 步驟4. 初始化器件所有外圍設(shè)備:
		//這個函數(shù)由DSP281x_InitPeripherals.c文件建立。
// 	InitPeripherals();					// 本例不需要
   	InitAdc();  						// 初始化ADC模塊

	PieCtrlRegs.PIEIER9.bit.INTx3=1;    // 使能PIE 第9組 INT3(RXBINT)中斷   										

// 	Step 5. User specific code, enable interrupts:
		// 步驟5. 用戶代碼,中斷使能:
   	PieCtrlRegs.PIEIER1.bit.INTx6 = 1;	// 使能PIE向量表第一組第6個ADCINT中斷

    IER |= (M_INT1 | M_INT9 );			// M_INT1=0x0001, 意為使能包含ADC轉(zhuǎn)換的第1組中斷
										// M_INT9=0x0100, 意為使能包含SCI-B的第9組中斷

	EINT;         					    // 允許可屏蔽中斷(清INTM位)
	ERTM;   // ERTM指令在外圍設(shè)備頭文件(DSP281x_Device.h)中有定義: 
			// #define  ERTM   asm(" clrc DBGM")。即清除DBGM位,作用為使能全局實時中斷

//******************************************************************************************
// 關(guān)于輸入通道選擇序列控制寄存器注解:
//
// 	ADCCHSELSEQ1-ADCCHSELSEQ4 為4個16位ADC輸入通道選擇序列控制寄存器,從ADCCHSELSEQ1
// 	最低位開始,每一個4位值CONVnn(0<=nn<15)可以選擇16個模擬輸入通道(A通道或是B通道)中
// 	的任何一路。每一個ADCCHSELSEQn(1<=n<=4)管理4個固定的CONVnn,其對應(yīng)關(guān)系見下面注釋.
// 	輸入通道選擇個數(shù)必須與ADC最大轉(zhuǎn)換通道(數(shù))寄存器(ADCMAXCONV)的配置相匹配.
// 
// 	ADCCHSELSEQ1[3:0]  =CONV00,			ADCCHSELSEQ3[3:0]  =CONV08,
// 	ADCCHSELSEQ1[7:4]  =CONV01,			ADCCHSELSEQ3[7:4]  =CONV09,							
// 	ADCCHSELSEQ1[11:8] =CONV02,			ADCCHSELSEQ3[11:8] =CONV10,
// 	ADCCHSELSEQ1[15:12]=CONV03,			ADCCHSELSEQ3[15:12]=CONV11,   		
// 	ADCCHSELSEQ2[3:0]  =CONV04,			ADCCHSELSEQ4[3:0]  =CONV12,
// 	ADCCHSELSEQ2[7:4]  =CONV05,			ADCCHSELSEQ4[7:4]  =CONV13,								
// 	ADCCHSELSEQ2[11:8] =CONV06,			ADCCHSELSEQ4[11:8] =CONV14,
// 	ADCCHSELSEQ2[15:12]=CONV07,			ADCCHSELSEQ4[15:12]=CONV15,
//   		
//  注意: 	
//		每一個4位值CONVnn可以選擇ADC的16個模擬輸入通道中的任何一路。下面16個CONVnn
//	全部選擇ADCINA7引腳,第8通道。系統(tǒng)的每一次序列化(16次)采樣都針對同一個通道進行。
//	程序規(guī)定一個完整的采樣由16個序列化采樣組成,即在一個采樣點上完成256次采樣。256個
//	采樣數(shù)據(jù)通過模數(shù)轉(zhuǎn)換結(jié)果寄存器直接順序存入起始地址為0x0013f000的外存空間。
//		
//******************************************************************************************
   	AdcRegs.ADCMAXCONV.all = 0x000f;                // 配置SEQ1模式16通道

   	AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0x7; 			// 選擇ADCINA7引腳,第8通道。
   	AdcRegs.ADCCHSELSEQ1.bit.CONV01 = 0x7; 			// 選擇ADCINA7引腳,第8通道。
    AdcRegs.ADCCHSELSEQ1.bit.CONV02 = 0x7;			// 選擇ADCINA7引腳,第8通道。
    AdcRegs.ADCCHSELSEQ1.bit.CONV03 = 0x7;			// 選擇ADCINA7引腳,第8通道。
    AdcRegs.ADCCHSELSEQ2.bit.CONV04 = 0x7;			// 選擇ADCINA7引腳,第8通道。
    AdcRegs.ADCCHSELSEQ2.bit.CONV05 = 0x7;			// 選擇ADCINA7引腳,第8通道。
   	AdcRegs.ADCCHSELSEQ2.bit.CONV06 = 0x7;			// 選擇ADCINA7引腳,第8通道。
   	AdcRegs.ADCCHSELSEQ2.bit.CONV07 = 0x7;			// 選擇ADCINA7引腳,第8通道。

   	AdcRegs.ADCCHSELSEQ3.bit.CONV08 = 0x7; 			// 選擇ADCINA7引腳,第8通道。
   	AdcRegs.ADCCHSELSEQ3.bit.CONV09 = 0x7; 			// 選擇ADCINA7引腳,第8通道。
    AdcRegs.ADCCHSELSEQ3.bit.CONV10 = 0x7;			// 選擇ADCINA7引腳,第8通道。
    AdcRegs.ADCCHSELSEQ3.bit.CONV11 = 0x7;			// 選擇ADCINA7引腳,第8通道。
    AdcRegs.ADCCHSELSEQ4.bit.CONV12 = 0x7;			// 選擇ADCINA7引腳,第8通道。
    AdcRegs.ADCCHSELSEQ4.bit.CONV13 = 0x7;			// 選擇ADCINA7引腳,第8通道。
   	AdcRegs.ADCCHSELSEQ4.bit.CONV14 = 0x7;			// 選擇ADCINA7引腳,第8通道。
   	AdcRegs.ADCCHSELSEQ4.bit.CONV15 = 0x7;			// 選擇ADCINA7引腳,第8通道。


   	AdcRegs.ADCTRL2.bit.EVA_SOC_SEQ1 = 1;  	// 使能EVASOC 啟動SEQ1
   	AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1 = 1;  	// 使能SEQ1 中斷 (在每一個EOS時)

   	AdcRegs.ADCTRL3.bit.SMODE_SEL = 0; 				// 連續(xù)采樣方式配置			    
		// SMODE_SEL: 采樣方式選擇位。
		// 當(dāng)SMODE_SEL=0, 連續(xù)采樣方式; 當(dāng)SMODE_SEL=1, 并發(fā)采樣方式。
		// 所謂連續(xù)采樣方式是指:一旦啟動轉(zhuǎn)換,則轉(zhuǎn)換按照當(dāng)前CONVxx決定的順序
		// 進行,xx 4位值的最高位確定是A引腳還是B引腳,低3位確定A引腳或B引腳
		// 的偏移量,采樣結(jié)果依次存入結(jié)果寄存器。在并發(fā)采樣方式下,xx 最高位
		// 被舍棄,系統(tǒng)根據(jù)低3位的偏移量先進行對應(yīng)A引腳的采樣再進行對應(yīng)B引腳

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一本大道av伊人久久综合| 豆国产96在线|亚洲| 欧美日韩国产综合久久| 亚洲精品日产精品乱码不卡| 99精品欧美一区二区三区综合在线| 日本一区二区视频在线| 99九九99九九九视频精品| 亚洲综合精品自拍| 欧美一区二区三级| 大胆欧美人体老妇| 亚洲乱码中文字幕| 欧美一区二区三区在线观看 | 欧美大胆人体bbbb| 久久99精品久久只有精品| 久久久精品日韩欧美| thepron国产精品| 亚洲在线观看免费视频| 91精品一区二区三区在线观看| 韩国成人在线视频| 国产精品伦一区| 欧美日韩综合一区| 国产精品自在欧美一区| 一区二区三区小说| 久久亚洲一区二区三区四区| 99国产精品99久久久久久| 日韩精品久久理论片| 中文字幕乱码亚洲精品一区| 欧美情侣在线播放| 国产精品小仙女| 亚洲影视资源网| 久久久噜噜噜久久中文字幕色伊伊| 色综合色综合色综合| 国内精品久久久久影院薰衣草| 亚洲欧美国产77777| 精品久久久久av影院| 91麻豆成人久久精品二区三区| 免费成人在线视频观看| 1000部国产精品成人观看| 日韩欧美黄色影院| 欧美色大人视频| 国产成人精品亚洲777人妖 | 亚洲美女视频在线观看| 欧美成人精品1314www| 日本韩国视频一区二区| 国产精品一级片| 日本不卡不码高清免费观看| 亚洲男人天堂一区| 久久综合999| 欧美一级专区免费大片| 在线观看国产一区二区| av午夜精品一区二区三区| 久久精品国产第一区二区三区| 一区二区三区中文在线观看| 国产网红主播福利一区二区| 日韩视频免费观看高清在线视频| 91传媒视频在线播放| av在线不卡免费看| 国产成人午夜精品影院观看视频| 日本不卡一区二区| 亚洲国产裸拍裸体视频在线观看乱了| 国产精品美女久久久久久2018| 2021久久国产精品不只是精品| 666欧美在线视频| 色婷婷亚洲精品| 91美女蜜桃在线| www.色精品| 成人免费毛片高清视频| 国产福利一区二区三区视频在线 | 欧美一级视频精品观看| 在线观看成人免费视频| 色综合天天综合给合国产| 成人开心网精品视频| 国产69精品一区二区亚洲孕妇| 国产专区欧美精品| 国产成人免费在线观看不卡| 国内偷窥港台综合视频在线播放| 精品在线观看免费| 国产在线精品视频| 国产91对白在线观看九色| 国产99久久久国产精品免费看 | av中文字幕不卡| av影院午夜一区| 97se亚洲国产综合在线| 99re这里只有精品6| 色伊人久久综合中文字幕| 91色乱码一区二区三区| 色综合久久精品| 欧美日韩一区二区三区在线 | 日韩一级黄色片| 日韩欧美久久一区| 久久久三级国产网站| 久久精品人人爽人人爽| 中文字幕一区二区日韩精品绯色| 亚洲黄色免费网站| 天天影视涩香欲综合网| 捆绑变态av一区二区三区| 精品系列免费在线观看| a级精品国产片在线观看| 91福利区一区二区三区| 日韩一区二区在线观看| 久久精品夜夜夜夜久久| 亚洲欧美国产77777| 日韩高清在线不卡| 国产精品91一区二区| 色偷偷久久一区二区三区| 3atv在线一区二区三区| 久久综合九色综合久久久精品综合| 国产精品每日更新在线播放网址| 伊人一区二区三区| 精品亚洲porn| 91在线国产福利| 91精品在线观看入口| 国产视频不卡一区| 亚洲成人一区在线| 国产精品亚洲一区二区三区在线| 色噜噜狠狠一区二区三区果冻| 日韩欧美激情一区| 1000精品久久久久久久久| 蜜臀av一区二区在线观看| 99天天综合性| 精品国产一区二区三区不卡| 亚洲天天做日日做天天谢日日欢| 青青草91视频| 色美美综合视频| 久久午夜色播影院免费高清| 亚洲另类色综合网站| 国产尤物一区二区在线 | 91精品国产综合久久久久久| 久久久久久久精| 午夜婷婷国产麻豆精品| 不卡av在线网| 精品国产露脸精彩对白| 午夜影视日本亚洲欧洲精品| 国产.欧美.日韩| 精品久久久久久久久久久院品网| 亚洲天堂福利av| 国产91在线观看丝袜| 56国语精品自产拍在线观看| 亚洲日本va午夜在线电影| 国产精品一区二区免费不卡 | 亚洲国产视频网站| 成人app在线观看| 精品噜噜噜噜久久久久久久久试看| 亚洲男人天堂av| 成人sese在线| 国产亚洲精品精华液| 久久不见久久见免费视频7| 欧美日韩久久不卡| 亚洲线精品一区二区三区| 91麻豆精品在线观看| 亚洲国产高清在线观看视频| 国产伦精品一区二区三区免费| 欧美电影在哪看比较好| 一区二区三区色| 91丨porny丨中文| 日本一区二区电影| 国产乱码字幕精品高清av| 日韩欧美二区三区| 美女视频黄 久久| 欧美一级爆毛片| 全部av―极品视觉盛宴亚洲| 91精品国产综合久久精品| 午夜不卡av在线| 欧美精品少妇一区二区三区| 亚洲永久免费av| 欧美日韩视频专区在线播放| 亚洲一区二区av在线| 欧美日韩一本到| 天堂精品中文字幕在线| 在线播放91灌醉迷j高跟美女| 五月天激情小说综合| 欧美人xxxx| 麻豆专区一区二区三区四区五区| 欧美一级在线视频| 狠狠色综合色综合网络| 久久久无码精品亚洲日韩按摩| 国产精品538一区二区在线| 国产亚洲一本大道中文在线| 成人国产精品免费观看动漫| 中文字幕中文字幕在线一区| 不卡电影免费在线播放一区| 亚洲美女免费视频| 欧美日韩在线免费视频| 日本免费新一区视频 | 国产视频亚洲色图| 丰满白嫩尤物一区二区| 亚洲丝袜精品丝袜在线| 欧美视频完全免费看| 日韩精品一级二级 | 欧美精品久久久久久久多人混战 | 国产精品全国免费观看高清| 色综合久久99| 日本va欧美va欧美va精品| 精品国产乱码久久久久久老虎| 国产成人av电影免费在线观看| 亚洲国产精品ⅴa在线观看| 色网站国产精品| 免费的国产精品| 国产精品久久久久久户外露出 | 日韩欧美在线影院|