📄 fee.c
字号:
//-----------------------------------------------------------------------------
// fee.c
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
// Includes
//-----------------------------------------------------------------------------
#include <reg52.h>
#include "cpu/cpu.h"
#include "main/main.h"
#include "ext/x5045.h"
#include "misc/misc.h"
#include "misc/general.h"
#include "config/config.h"
//-----------------------------------------------------------------------------
// Function Prototype
//-----------------------------------------------------------------------------
bit Fee_Account (void);
bit Mem_Fee_Update (void);
//-----------------------------------------------------------------------------
// Fee Account Routine
//-----------------------------------------------------------------------------
bit Fee_Account (void)
{
bit level;
if ( f.Run != RUN || bWire == ERROR ) return FALSE;
#ifdef FEE_PULSE
level = Check_Sensor_Level ();
if ( bSensor == HIGH )
{
if ( level == LOW ) bSensor = level;
return FALSE;
}
else
{
if ( level == LOW ) return FALSE;
else bSensor = level; // Only rise edge pulse account fee
}
#elif FEE_TIME
if ( I380 == LOW ) return FALSE;
#endif
// if ( bDue == FALSE && r.Remain-- == ZERO ) bDue = TRUE;
// else r.Remain++;
if ( bDue == FALSE )
if ( r.Remain != ZERO )
r.Remain--;
else
{
bDue = TRUE;
r.Remain = 1;
}
else r.Remain++;
if ( r.Remain == RemainMax ) r.Remain = ZERO;
if ( ++r.Total == TotalMax ) r.Total = ZERO;
return UPDATE;
}
//-----------------------------------------------------------------------------
// Memory Fee Update Routine
//-----------------------------------------------------------------------------
bit Mem_Fee_Update (void)
{
struct
{
unsigned long Total;
unsigned long Remain;
} buf;
if ( bMem = x5045_Is_Busy ()) return FALSE;
buf.Total = Hex_BCD ( r.Total, 7 );
buf.Remain = Hex_BCD ( r.Remain, 7 );
if ( bDue == TRUE ) buf.Remain |= isDUE;
x5045_Write_Enable ();
x5045_Write ( stRemain_memAddr, (char *) &buf, sizeof( buf ));
return TRUE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -