#include <REGX51.h>
#define LED_FLASH_T 10000
void LEDs_Move();
void LEDs_Error();
void LEDs_Snake();
void delay(unsigned int t)
{
for(;t>0;t--); // 延时循环
}
#ifndef true
#define true 1
#endif
#define TASK_1 1
#define TASK_2 2
void main()
{
unsigned char System_Status = true;
unsigned char System_Task = TASK_2;
while(1)
{
// 程序主任务区
// ............
// 程序主任务区
if(System_Status == true) // 当系统处于正常状态
{
if(System_Task == TASK_1) // 程序分支一
{
LEDs_Move(); // 跑马灯指示系统正常
}
else if(System_Task == TASK_2) // 程序分支二
{
LEDs_Snake(); // 跑马灯蛇形花样指示
}
}
else // 当系统发生错误
{
LEDs_Error(); // 跑马灯指示错误
}
}
这是跑马灯蛇形变样的部分代码。对系统当前状态的判定是通过检验变量System_status的值来实现的。蓝色的部分是对它的赋值,但不知以后它的值是如何改变并且检验出来的???System_status是系统变量??而且对红色部分也不太懂,条件编译吗?看不懂
} |