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

📄 main.c

📁 周立功2103开发板CD资料
💻 C
字号:
#define IN_MAIN
#include "config.h"
#include "Time.h"
#include "Enhance_GPIO.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_n		0			// 定时器0,Tn_n=0
									// 定时器1,Tn_n=1
									// 定时器2,Tn_n=2
									// 定时器3,Tn_n=3
	
#define		BEEP		(1 << 7)	// P0.7为蜂鸣器控制端
#define		Tn_time		110592/2	// 定时0.5S
#define		Tn_PR		99			// 预分频100
#define		Tn_MODE		0			// 匹配时,定时器复位
#define		Tn_EXT_MODE	0			// 匹配时,不执行任何动作
#define		Tn_MAT		0			// 匹配通道0
#define		Tn_INT_En	1			// 匹配时,产生中断

/*********************************************************************************************************
** Function name:	IRQ_Exception
** Descriptions:	interrupt exceptional handler , change it as needed
**					don't delete this function 
********************************************************************************************************/
void  IRQ_Exception(void)
{
}  
/*********************************************************************************************************
** 函数名称:Main()
** 函数功能:控制蜂鸣器的鸣叫。
** 说明:JP9短接,JP4断开。
********************************************************************************************************/
void Main(void)
{
    TargetInit(VPBDIV_DATA, PLLCFG_DATA, MAMTIM_DATA);      // don't delete
    while((PLLSTAT & (1 << 10)) == 0);                      // can delete
    
	P0_GPIOInit(BEEP,1);			//蜂鸣器控制引脚设置为GPIO输出模式
   // 定时器0初始化
#if(Tn_n == 0)
	T0MAT_Init(Tn_time,Tn_PR,Tn_MODE,Tn_EXT_MODE,Tn_MAT,Tn_INT_En);
	while(1)
	{  while( (T0IR&0x01) == 0 );					// 等待定时时间到
		T0IR = 0x01;							    // 清除中断标志 
		if( (FIO0SET & BEEP) == 0 )	FIO0SET = BEEP;	// 控制蜂鸣器停止鸣叫
		else		  				FIO0CLR = BEEP;	// 控制蜂鸣器鸣叫
	}
#endif
   // 定时器1初始化
#if(Tn_n == 1)
   	T1MAT_Init(Tn_time,Tn_PR,Tn_MODE,Tn_EXT_MODE,Tn_MAT,Tn_INT_En);
	while(1)
	{  while( (T1IR&0x01) == 0 );					// 等待定时时间到
		T1IR = 0x01;							   	// 清除中断标志 
		if( (FIO0SET & BEEP) == 0 )	FIO0SET = BEEP;	// 控制蜂鸣器停止鸣叫
		else		  				FIO0CLR = BEEP;	// 控制蜂鸣器鸣叫
	}
#endif
   // 定时器2初始化
#if(Tn_n == 2)
   	T2MAT_Init(Tn_time,Tn_PR,Tn_MODE,Tn_EXT_MODE,Tn_MAT,Tn_INT_En);
	while(1)
	{  while( (T2IR&0x01) == 0 );					// 等待定时时间到
		T2IR = 0x01;							   	// 清除中断标志 
		if( (FIO0SET & BEEP) == 0 )	FIO0SET = BEEP;	// 控制蜂鸣器停止鸣叫
		else		  				FIO0CLR = BEEP;	// 控制蜂鸣器鸣叫
	}
#endif
   // 定时器3初始化
#if(Tn_n == 3)
   	T3MAT_Init(Tn_time,Tn_PR,Tn_MODE,Tn_EXT_MODE,Tn_MAT,Tn_INT_En);
	while(1)
	{  while( (T3IR&0x01) == 0 );					// 等待定时时间到
		T3IR = 0x01;							   	// 清除中断标志 
		if( (FIO0SET & BEEP) == 0 )	FIO0SET = BEEP;	// 控制蜂鸣器停止鸣叫
		else		  				FIO0CLR = BEEP;	// 控制蜂鸣器鸣叫
	}
#endif   
}


/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

⌨️ 快捷键说明

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