📄 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 + -