📄 main.c
字号:
//-----------------------------------------------------------------------------
// Water.c
//-----------------------------------------------------------------------------
// Copyright 2007 - Tech, Inc.
//
// AUTH: ZhuXiaoGang
// DATE: 11 APR 07
//
// Target: C51 mcu
//
//-----------------------------------------------------------------------------
// Includes
//-----------------------------------------------------------------------------
#include <reg52.h>
#include <string.h>
#include "cpu/cpu.h"
#include "main/main.h"
#include "ext/bc7281.h"
#include "rfid/card.h"
#include "card/block.h"
#include "comm/gsm.h"
#include "misc/misc.h"
#include "misc/general.h"
#include "config/config.h"
//-----------------------------------------------------------------------------
// Global Variables
//-----------------------------------------------------------------------------
char code City_Well[6] = { 0x20, 0x00, 0x00, 0x00, 0x06, 0x00 };
char idata Comm_Buf[29];
STRemain idata r;
STFlow idata f;
char idata rtn = 0;
char bdata bFlag = 0;
sbit bRst = bFlag ^ 7;
sbit bDue = bFlag ^ 6;
sbit bFlow = bFlag ^ 5;
sbit bRecord = bFlag ^ 4;
sbit bFill = bFlag ^ 3;
sbit bComm = bFlag ^ 2;
sbit bSensor = bFlag ^ 1;
sbit bWire = bFlag ^ 0;
char bdata bFlagB = 0;
sbit bMem = bFlagB ^ 7;
sbit bRtc = bFlagB ^ 6;
sbit bModule = bFlagB ^ 5;
sbit bDisp = bFlagB ^ 4;
sbit bRCtrl = bFlagB ^ 3;
sbit bDoor = bFlagB ^ 2;
sbit bPump = bFlagB ^ 1;
sbit bCheck = bFlagB ^ 0;
char bdata bTask = 0;
sbit Task0 = bTask ^ 0;
sbit Task1 = bTask ^ 1;
sbit Task2 = bTask ^ 2;
sbit Task3 = bTask ^ 3;
sbit Task4 = bTask ^ 4;
sbit Task5 = bTask ^ 5;
sbit Task6 = bTask ^ 6;
sbit Task7 = bTask ^ 7;
//-----------------------------------------------------------------------------
// Main Routine
//-----------------------------------------------------------------------------
void main (void)
{
cpu_Initial ();
Initial ();
memset ( Comm_Buf, 0, sizeof( Comm_Buf ));
#ifdef FEE_PULSE
bSensor = Check_Sensor_Level ();
#endif
while ( TRUE )
{
if ( Task0 )
{
Task0 = 0;
Clear_Dog;
Check_Sensor_Fault ();
Set_Relay_Led ();
}
if ( Task1 )
{
Task1 = 0;
Clear_Dog;
if ( f.tFee ) f.tFee--;
#ifdef FEE_PULSE
if ( f.tFee == ( TFAULT_DEALY / 2 ) && bWire == OK ) bSensor = Check_Sensor_Level ();
#endif
#ifdef FEE_TIME
if ( f.tFee == ZERO && Fee_Account () == UPDATE ) Mem_Fee_Update ();
#endif
Run_after_Year ( RUN_YEAR );
bc7281_Set ();
if ( f.tDisp ) f.tDisp--;
else Main_Display_Item ();
Record_Auto_Store ();
if ( bComm == NEW_DATA )
{
bComm = Check_Comm_Response ( Comm_Buf );
memset ( Comm_Buf, 0, sizeof( STMsg ));
IE1 = 0; EX1 = 1;
}
#if DOOR_CHECK
Check_Door ();
#endif
}
if ( Task2 )
{
Task2 = 0;
Clear_Dog;
if (( rtn = Set_Card_Module ()) == TRUE )
bModule = ICCMODULE_OK;
else
{
bModule = CLEAR;
bc7281_Display_Dig ( Code3, DISP_DELAY1 );
#if icc_Warn
bc7281_Display_Dig ( CodeK | ( 0x0f & rtn ), DISP_DELAY1 );
#endif
}
if ( bModule == ICCMODULE_OK ) rtn = Check_Card_Type ();
#if icc_Warn
if ( rtn != TRUE ) bc7281_Display_Dig ( CodeL | ( 0x0f & rtn ), DISP_DELAY0 ); tDisp = 5;
#endif
}
if ( Task3 )
{
Task3 = 0;
Clear_Dog;
#ifdef FEE_PULSE
if ( f.tFee == ZERO && Fee_Account () == UPDATE ) Mem_Fee_Update ();
#endif
}
if ( Task4 )
{
Task4 = 0;
Clear_Dog;
f.Flow = ((int) r.Total - f.Flow1 ) * FLOW_FACTOR;
f.Flow1 = (int) r.Total;
}
cpu_Power_Idle;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -