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

📄 main.c

📁 基于TMS320F2812 的精密温度控制程序代码
💻 C
字号:
/*********************************************************************
* File: Main.c                                                       *
* Description: Contains the main program for the TEC application.    *
* DSP: TMS320F2812                                                   *
* Author: David M. Alter                                             *
* Function List: Main()                                              *
* History:                                                           *
*   11/05/02 - Original, based on DSP28 header files v0.58 (D. Alter)*
* Notes: none                                                        *
*********************************************************************/

/*********************************************************************
* THIS PROGRAM IS PROVIDED "AS IS". TI MAKES NO WARRANTIES OR        *
* REPRESENTATIONS, EITHER EXPRESS, IMPLIED OR STATUTORY,             *
* INCLUDING ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS       *
* FOR A PARTICULAR PURPOSE, LACK OF VIRUSES, ACCURACY OR             *
* COMPLETENESS OF RESPONSES, RESULTS AND LACK OF NEGLIGENCE.         *
* TI DISCLAIMS ANY WARRANTY OF TITLE, QUIET ENJOYMENT, QUIET         *
* POSSESSION, AND NON-INFRINGEMENT OF ANY THIRD PARTY                *
* INTELLECTUAL PROPERTY RIGHTS WITH REGARD TO THE PROGRAM OR         *
* YOUR USE OF THE PROGRAM.                                           *
*                                                                    *
* IN NO EVENT SHALL TI BE LIABLE FOR ANY SPECIAL, INCIDENTAL,        *
* CONSEQUENTIAL OR INDIRECT DAMAGES, HOWEVER CAUSED, ON ANY          *
* THEORY OF LIABILITY AND WHETHER OR NOT TI HAS BEEN ADVISED         *
* OF THE POSSIBILITY OF SUCH DAMAGES, ARISING IN ANY WAY OUT         *
* OF THIS AGREEMENT, THE PROGRAM, OR YOUR USE OF THE PROGRAM.        *
* EXCLUDED DAMAGES INCLUDE, BUT ARE NOT LIMITED TO, COST OF          *
* REMOVAL OR REINSTALLATION, COMPUTER TIME, LABOR COSTS, LOSS        *
* OF GOODWILL, LOSS OF PROFITS, LOSS OF SAVINGS, OR LOSS OF          *
* USE OR INTERRUPTION OF BUSINESS. IN NO EVENT WILL TI'S             *
* AGGREGATE LIABILITY UNDER THIS AGREEMENT OR ARISING OUT OF         *
* YOUR USE OF THE PROGRAM EXCEED FIVE HUNDRED DOLLARS                *
* (U.S.$500).                                                        *
*                                                                    *
* Unless otherwise stated, the Program written and copyrighted       *
* by Texas Instruments is distributed as "freeware".  You may,       *
* only under TI's copyright in the Program, use and modify the       *
* Program without any charge or restriction.  You may                *
* distribute to third parties, provided that you transfer a          *
* copy of this license to the third party and the third party        *
* agrees to these terms by its first use of the Program. You         *
* must reproduce the copyright notice and any other legend of        *
* ownership on each copy or partial copy, of the Program.            *
*                                                                    *
* You acknowledge and agree that the Program contains                *
* copyrighted material, trade secrets and other TI proprietary       *
* information and is protected by copyright laws,                    *
* international copyright treaties, and trade secret laws, as        *
* well as other intellectual property laws.  To protect TI's         *
* rights in the Program, you agree not to decompile, reverse         *
* engineer, disassemble or otherwise translate any object code       *
* versions of the Program to a human-readable form.  You agree       *
* that in no event will you alter, remove or destroy any             *
* copyright notice included in the Program.  TI reserves all         *
* rights not specifically granted under this license. Except         *
* as specifically provided herein, nothing in this agreement         *
* shall be construed as conferring by implication, estoppel,         *
* or otherwise, upon you, any license or other right under any       *
* TI patents, copyrights or trade secrets.                           *
*                                                                    *
* You may not use the Program in non-TI devices.                     *
*********************************************************************/

#include	"Device.h"

/*********************************************************************
* Function: main()                                                   *
* Description: main routine for the TEC application.                 *
* DSP: TMS320F2812                                                   *
* Include files: none                                                *
* Function Prototype: void main(void)                                *
* Useage: main();                                                    *
* Input Parameters: none                                             *
* Return Value: none                                                 *
* Notes: none                                                        *
*********************************************************************/
void main(void)
{

/*** Initialization ***/
	InitSysCtrl();						// Initialize the CPU (FILE: SysCtrl.c)
	InitGpio();							// Initialize the shared GPIO pins (FILE: Gpio.c)
	InitPieVectTable();					// Initialize the PIE Vectors (FILE: PieVect.c)
	InitPieCtrl();						// Enable the PIE (FILE: PieCtrl.c)
	InitEv();							// Initialize the Event Managers (FILE: Ev.c)
	InitAdc();							// Initialize the ADC (FILE: Adc.c)

/*** Setup the TEC1 parameters ***/
	TEC1.r = VREF;						// Reference setpoint (0-3.0 volts)
	TEC1.ui1 = 0.0;						// Initialize ui1 to 0.0
	TEC1.e1 = 0.0;						// Initialize e1 to 0
	TEC1.y1 = 0;						// Initialize y1 to 0
	TEC1.y2 = 0;						// Initialize y2 to 0
	TEC1.y3 = 0;						// Initialize y3 to 0
	TEC1.y4 = 0;						// Initialize y4 to 0
	TEC1.u_max = PWM_period;			// Total control limit
	TEC1.ui_max = PWM_period;			// I-mode control limit
    TEC1.Kp = 750.0;					// Kp
    TEC1.Ki = 0.4;						// Ki'
    TEC1.Kd = 125000.0;					// Kd'

/*** Get the TEC loop going ***/
    InitGptimer2(sample_period);		// Initialize timer2 (FILE: TecFunctions.c)
	InitPwm(PWM_period);				// Enable the PWM (FILE: TecFunctions.c)

/*** Enable global interrupts and the realtime debugger interrupt ***/
    asm(" PUSH IER");					// copy the IER to the DBGIER
    asm(" POP  DBGIER");
    asm(" CLRC INTM, DBGM");			// enable global and debugger realtime interrupts

/*** Main loop ***/
    while(1)							// endless loop, wait for interrupt
    {
		asm(" NOP");
    }

} // end main()


/*** end of file *****************************************************/

⌨️ 快捷键说明

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