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

📄 main.c

📁 周立功2103开发板CD资料
💻 C
字号:
#define IN_MAIN
#include "config.h"
#include "Time.h"
#pragma import(__use_no_semihosting_swi)        //don't delete this line
/* 
	Fcclk = Fosc*4 = 11.0592MHz*4 = 44.2368MHz
 	Fpclk = Fcclk/4 = 44.2368MHz/4 = 11.0592MHz
*/
#define		Tn_PWM0			0				//MATn.0作为PWM输出
#define		Tn_PWM1			1				//MATn.1作为PWM输出
#define		Tn_PWM2			2				//MATn.2作为PWM输出
#define		Tn_PWM3			3				//MATn.3作为PWM输出

#define		T0_PWM_Cyc		11059200/4000	//定时器T0的PWM周期为4K
#define		T0_PR			0				//预分频寄存器为1
#define		T0_PWM_Tmp		T0_PWM_Cyc/4
#define		T0_MATn_Value0	T0_PWM_Tmp*1	//PWM0.0匹配寄存器值,占空比75%。
#define		T0_MATn_Value1	T0_PWM_Tmp*2	//PWM0.1匹配寄存器值,占空比50%。
#define		T0_MATn_Value2	T0_PWM_Tmp*3	//PWM0.2匹配寄存器值,占空比25%。

#define		T1_PWM_Cyc		11059200/2000	//定时器T1的PWM周期为2K
#define		T1_PR			0				//预分频寄存器为1
#define		T1_PWM_Tmp		T1_PWM_Cyc/4
#define		T1_MATn_Value0	T1_PWM_Tmp*3	//PWM1.0匹配寄存器值,占空比25%。
#define		T1_MATn_Value1	T1_PWM_Tmp*2	//PWM1.1匹配寄存器值,占空比50%。
#define		T1_MATn_Value2	T1_PWM_Tmp*1	//PWM1.2匹配寄存器值,占空比75%。
#define		T1_MATn_Value3	T1_PWM_Tmp*1	//PWM1.3匹配寄存器值

#define		T2_PWM_Cyc		11059200/1000	//定时器T2的PWM周期为1K
#define		T2_PR			0				//预分频寄存器为1
#define		T2_PWM_Tmp		T2_PWM_Cyc/4
#define		T2_MATn_Value0	T2_PWM_Tmp*1	//PWM2.0匹配寄存器值,占空比75%。
#define		T2_MATn_Value1	T2_PWM_Tmp*2	//PWM2.1匹配寄存器值,占空比50%。
#define		T2_MATn_Value2	T2_PWM_Tmp*3	//PWM2.2匹配寄存器值,占空比25%。

#define		T3_PWM_Cyc		11059200/500	//定时器T3的PWM周期为500Hz
#define		T3_PR			0				//预分频寄存器为1
#define		T3_PWM_Tmp		T3_PWM_Cyc/4
#define		T3_MATn_Value0	T3_PWM_Tmp*3	//PWM3.0匹配寄存器值,占空比25%。
#define		T3_MATn_Value1	T3_PWM_Tmp*2	//PWM3.1匹配寄存器值,占空比50%。
#define		T3_MATn_Value2	T3_PWM_Tmp*1	//PWM3.2匹配寄存器值,占空比75%。
#define		T3_MATn_Value3	T3_PWM_Tmp*1	//PWM3.3匹配寄存器值
/*********************************************************************************************************
** Function name:			IRQ_Exception
** Descriptions:			interrupt exceptional handler , change it as needed
**                          don't delete this function 
********************************************************************************************************/
void  IRQ_Exception(void)
{
}

/*******************************************************************************************
** 函数名称:Main()
** 函数功能:测试定时器的PWM功能。
*******************************************************************************************/
void Main(void)
{
    TargetInit(VPBDIV_DATA, PLLCFG_DATA, MAMTIM_DATA);      // don't delete
    while((PLLSTAT & (1 << 10)) == 0);                      // can delete
    
	PINSEL0 = 0x00000000;	// 设置所有管脚连接GPIO
	PINSEL1 = 0x00000000;

   	// 定时器0 PWM初始化
	T0PWM_Init(Tn_PWM0,T0_MATn_Value0,T0_PR,T0_PWM_Cyc);	//MAT0.0输出频率为4K,占空比为75%的PWM波形。
	T0PWM_Init(Tn_PWM1,T0_MATn_Value1,T0_PR,T0_PWM_Cyc);	//MAT0.1输出频率为4K,占空比为50%的PWM波形。
	T0PWM_Init(Tn_PWM2,T0_MATn_Value2,T0_PR,T0_PWM_Cyc);	//MAT0.2输出频率为4K,占空比为25%的PWM波形。

   	// 定时器1 PWM初始化
	T1PWM_Init(Tn_PWM0,T1_MATn_Value0,T1_PR,T1_PWM_Cyc);	//MAT1.0输出频率为2K,占空比为25%的PWM波形。
	T1PWM_Init(Tn_PWM1,T1_MATn_Value1,T1_PR,T1_PWM_Cyc);	//MAT1.1输出频率为2K,占空比为50%的PWM波形。
	T1PWM_Init(Tn_PWM2,T1_MATn_Value2,T1_PR,T1_PWM_Cyc);	//MAT1.2输出频率为2K,占空比为75%的PWM波形。
	T1PWM_Init(Tn_PWM3,T1_MATn_Value3,T1_PR,T1_PWM_Cyc);	//检测MAT1.3的输出波形。

   	// 定时器2 PWM初始化
	T2PWM_Init(Tn_PWM0,T2_MATn_Value0,T2_PR,T2_PWM_Cyc);	//MAT2.0输出频率为1K,占空比为75%的PWM波形。
	T2PWM_Init(Tn_PWM1,T2_MATn_Value1,T2_PR,T2_PWM_Cyc);	//MAT2.1输出频率为1K,占空比为50%的PWM波形。
	T2PWM_Init(Tn_PWM2,T2_MATn_Value2,T2_PR,T2_PWM_Cyc);	//MAT2.2输出频率为1K,占空比为25%的PWM波形。

   	// 定时器3 PWM初始化
	T3PWM_Init(Tn_PWM0,T3_MATn_Value0,T3_PR,T3_PWM_Cyc);	//MAT3.0输出频率为500Hz,占空比为25%的PWM波形。
	T3PWM_Init(Tn_PWM1,T3_MATn_Value1,T3_PR,T3_PWM_Cyc);	//MAT3.1输出频率为500Hz,占空比为50%的PWM波形。
	T3PWM_Init(Tn_PWM2,T3_MATn_Value2,T3_PR,T3_PWM_Cyc);	//MAT3.2输出频率为500Hz,占空比为75%的PWM波形。
	T3PWM_Init(Tn_PWM3,T3_MATn_Value3,T3_PR,T3_PWM_Cyc);	//检测MAT3.3的输出波形。
   	while(1);
   	
}
/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

⌨️ 快捷键说明

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