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

📄 main.c

📁 RA8806底层驱动
💻 C
字号:


/*==============================================	头文件包含区                                          */ 
 #include "INCLUDE.H"

/*==============================================	函数编译与否的宏定义                                  */
 #define System1MS_DoEvents_EN           1       /* 1毫秒间隔处理事件函数的宏,1:编译;0:不编译          */ 
 #define System10MS_DoEvents_EN          1       /* 10毫秒间隔处理事件函数的宏,1:编译;0:不编译         */ 
 #define System100MS_DoEvents_EN         1       /* 100毫秒间隔处理事件函数的宏,1:编译;0:不编译        */ 
 #define System1S_DoEvents_EN            1       /* 1秒间隔处理事件函数的宏,1:编译;0:不编译            */ 
 #define SysTick1Min_DoEvents_EN         0       /* 1分钟间隔处理事件函数的宏,1:编译;0:不编译          */ 
 #define SystemNone_DoEvents_EN          1       /* 根据事件标志及时处理的事件函数的宏,1:编译;0:不编译 */ 

void delay(unsigned long kk)
{
	while(kk--);
}  
/*******************************************************************************************************
**                    系统需要在每1毫秒间隔处理的事件
** 名    称:void System1MS_DoEvents(void)
** 功    能:系统在1毫秒时间间隔必须要处理一次的事件
** 入口参数:无
** 出口参数:无
** 全局变量:有全局变量,要注意保护
**
**----------------------------------------------------------------------------------------------------
** 作 者  : 严俊生
** 日 期  : 2007-07-20
**----------------------------------------------------------------------------------------------------
** 修改人  :
** 日 期  :
*******************************************************************************************************/
#if System1MS_DoEvents_EN
 void System1MS_DoEvents(void)
 {
		   if(SysTickFlag.SysTick_1Ms_Flag)    //10ms时间到
		     {  						
			    SysTickFlag.SysTick_1Ms_Flag = 0;   
			  }	 
 }
#endif

/*******************************************************************************************************
**                    系统需要在每10毫秒间隔处理的事件
** 名    称:void System10MS_DoEvents(void)
** 功    能:系统在10毫秒时间间隔必须要处理一次的事件
** 入口参数:无
** 出口参数:无
** 全局变量:有全局变量,要注意保护
**
**----------------------------------------------------------------------------------------------------
** 作 者  : 严俊生
** 日 期  : 2007-07-20
**----------------------------------------------------------------------------------------------------
** 修改人  :
** 日 期  :
*******************************************************************************************************/
#if System10MS_DoEvents_EN
 void System10MS_DoEvents(void)
 {
		   if(SysTickFlag.SysTick_10Ms_Flag)    //10ms时间到
		     {  						
			    SysTickFlag.SysTick_10Ms_Flag = 0;   
			  }	 
 }
#endif

/*******************************************************************************************************
**                    系统需要在每100毫秒间隔处理的事件
** 名    称:void System100MS_DoEvents(void)
** 功    能:系统在100毫秒时间间隔必须要处理一次的事件
** 入口参数:无
** 出口参数:无
** 全局变量:有全局变量,要注意保护
**
**----------------------------------------------------------------------------------------------------
** 作 者  : 严俊生
** 日 期  : 2007-07-20
**----------------------------------------------------------------------------------------------------
** 修改人  :
** 日 期  :
*******************************************************************************************************/
#if System100MS_DoEvents_EN   
 void System100MS_DoEvents(void)
 {   
	if(SysTickFlag.SysTick_100Ms_Flag)
	{ 
	   SysTickFlag.SysTick_100Ms_Flag = 0;
	   KeyDoEvents();  
	   EA = 0;
	          FrameMainMenu();
	   EA = 1;
    } 			 
 } 
#endif

/*******************************************************************************************************
**                    系统需要在每1秒间隔处理的事件
** 名    称:void System1S_DoEvents(void)
** 功    能:系统在1秒时间间隔必须要处理一次的事件
** 入口参数:无
** 出口参数:无
** 全局变量:有全局变量,要注意保护
**
**----------------------------------------------------------------------------------------------------
** 作 者  : 严俊生
** 日 期  : 2007-07-20
**----------------------------------------------------------------------------------------------------
** 修改人  :
** 日 期  :
*******************************************************************************************************/
#if System1S_DoEvents_EN
 void System1S_DoEvents(void)
 {		  
  if(SysTickFlag.SysTick_1S_Flag)			   //1秒时间到 
  {
	SysTickFlag.SysTick_1S_Flag = 0; 
  } 
 }
#endif

/*******************************************************************************************************
**                    系统需要在每1秒间隔处理的事件
** 名    称:void System1S_DoEvents(void)
** 功    能:系统在1秒时间间隔必须要处理一次的事件
** 入口参数:无
** 出口参数:无
** 全局变量:有全局变量,要注意保护
**
**----------------------------------------------------------------------------------------------------
** 作 者  : 严俊生
** 日 期  : 2007-07-20
**----------------------------------------------------------------------------------------------------
** 修改人  :
** 日 期  :
*******************************************************************************************************/
#if SysTick1Min_DoEvents_EN
 void System1Min_DoEvents(void)
 {		  
		  if(SysTickFlag.SysTick_1Min_Flag)			   //1秒时间到 
		    {
			    SysTickFlag.SysTick_1Min_Flag = 0;   
			} 
 }
#endif

/*******************************************************************************************************
**                    系统根据事件标志及时处理的事件
** 名    称:void SystemNone_DoEvents(void)
** 功    能:None
** 入口参数:无
** 出口参数:无
** 全局变量:有全局变量,要注意保护				   
**
**----------------------------------------------------------------------------------------------------
** 作 者  : 严俊生
** 日 期  : 2007-07-20
**----------------------------------------------------------------------------------------------------
** 修改人  :
** 日 期  :
*******************************************************************************************************/
#if SystemNone_DoEvents_EN
 void SystemNone_DoEvents(void)
 { 
 }
#endif
  
void main(void) 
{   INT8U dd;
    WDTCN = 0xDE;               // disable watchdog timer
    WDTCN = 0xAD;  	           
	delay(5000); 
    SysCfgInit(); 
	SysPortInit();                                /* 系统端口状态初始化         */  
	SysTimer0Init();                              /* 系统定时器0初始化          */ 
	SysInterInit();
	 
	LedLight_ON();  
	LcdReset();
	LCD_Initial(); 
	delay(5000);
	 LCD_ON(); 	
	delay(5000);
	Lcd_ClearScreen();                            /* LCD清屏程序                 */  
	delay(5000); 
	 LCD_Graphic();   
	FrameDispWelCome();	
	delay(65000);
	delay(65000);
	delay(65000); 
    dd = Lcd_ReadReg(WLCR); 
	Reverse_Data();   
	while(1)
	{  
			System1MS_DoEvents();                 /* 系统1MS执行的事件          */  
		    System10MS_DoEvents();                /* 系统10MS执行的事件         */  
		   	System100MS_DoEvents();               /* 系统100MS执行的事件        */  
		   	System1S_DoEvents();                  /* 系统1S执行的事件           */  
			SystemNone_DoEvents();     	          /* 系统频繁执行的事件         */  	
	} 
}  
  

             /*-------------------------------   End    -----------------------------*/

⌨️ 快捷键说明

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