?? main.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 + -