📄 disp.c
字号:
//-----------------------------------------------------------------------------
// disp.c
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
// Includes
//-----------------------------------------------------------------------------
#include <reg52.h>
#include "cpu/cpu.h"
#include "main/main.h"
#include "ext/bc7281.h"
#include "misc/misc.h"
#include "misc/general.h"
#include "config/config.h"
//-----------------------------------------------------------------------------
// Main Loop Display Shift Counter Constants
//-----------------------------------------------------------------------------
#define DISP_nSHIFT1 10
#define DISP_nSHIFT2 20
#define DISP_nSHIFT3 30
//-----------------------------------------------------------------------------
// Function Prototype
//-----------------------------------------------------------------------------
void Main_Display_Item ( void );
void Set_Display_Counter ( void );
void User_Display_Item ( void );
void Check_Display_Item ( void );
//-----------------------------------------------------------------------------
// Set Display Counter on Formal Routine
//-----------------------------------------------------------------------------
void Set_Display_Counter ( void )
{
if ( f.Run == RUN && ( Relay_CTRL == HIGH || Run_LED == ON ))
f.Disp_nShift ++;
else if ( f.Run != RUN || ( Relay_CTRL == LOW && Run_LED == OFF ))
f.Disp_nShift = CLEAR;
}
//-----------------------------------------------------------------------------
// Led Display Item Routine
//-----------------------------------------------------------------------------
void Main_Display_Item ( void )
{
Set_Display_Counter ();
if ( f.Run == TEST )
{
f.Disp_nShift = CLEAR;
bc7281_Flash_Digital ( FLASH_OFF );
bc7281_Display_Dig ( CodeJ | Hex_BCD( r.Remain, 7 ), DISP_DELAY0 );
}
else if ( f.Run == RUN )
{
if ( r.Remain == ZERO || r.Remain >= RemainMax )
{
f.Disp_nShift = CLEAR;
bc7281_Display_Dig ( CodeJ | Hex_BCD( r.Remain, 7 ), DISP_DELAY0 );
bc7281_Flash_Digital ( FLASH_ALL );
}
else if ( f.Disp_nShift < DISP_nSHIFT1 )
{
if ( bDue == TRUE ) bc7281_Display_Dig ( CodeI | Hex_BCD( r.Remain, 7 ), DISP_DELAY0 );
else bc7281_Display_Dig ( CodeJ | Hex_BCD( r.Remain, 7 ), DISP_DELAY0 );
bc7281_Flash_Digital ( FLASH_DIG(0) );
}
else if ( f.Disp_nShift < DISP_nSHIFT2 )
{
bc7281_Display_Dig ( CodeC | Hex_BCD( r.Total, 7 ), DISP_DELAY0 );
bc7281_Flash_Digital ( FLASH_DIG(0) );
}
else if ( f.Disp_nShift < DISP_nSHIFT3 )
{
bc7281_Flash_Digital ( FLASH_OFF );
bc7281_Display_Dig ( CodeD | Hex_BCD( f.Flow, 4 ), DISP_DELAY0 );
}
else if ( f.Disp_nShift > DISP_nSHIFT3 )
{
f.Disp_nShift = CLEAR;
bc7281_Column1_OnOff ( COL1_OFF );
}
}
}
//-----------------------------------------------------------------------------
// User Card Display Item Routine
//-----------------------------------------------------------------------------
void User_Display_Item ( void )
{
bc7281_Flash_Digital ( FLASH_OFF );
bc7281_Display_Dig ( Code1, USER_DISP_DELAY );
bc7281_Dig5DP_OnOff ( DIG5DP_ON );
bc7281_Display_Dig ( CodeB | r.Fee, USER_DISP_DELAY );
bc7281_Dig5DP_OnOff ( DIG5DP_OFF );
bc7281_Column1_OnOff ( COL1_OFF );
if ( bDue == TRUE ) bc7281_Display_Dig ( CodeI | Hex_BCD( r.Remain, 7 ), USER_DISP_DELAY );
else bc7281_Display_Dig ( CodeJ | Hex_BCD( r.Remain, 7 ), USER_DISP_DELAY );
f.Disp_nShift = CLEAR;
}
//-----------------------------------------------------------------------------
// Check Card Display Item Routine
//-----------------------------------------------------------------------------
void Check_Display_Item ( void )
{
bc7281_Flash_Digital ( FLASH_OFF );
bc7281_Display_Dig ( CodeG | Array_Long ( f.City, 3 ), CHECK_DISP_DELAY );
bc7281_Display_Dig ( CodeG | Array_Long ( f.Well, 3 ), CHECK_DISP_DELAY );
Display_Clock ( CHECK_DISP_DELAY );
bc7281_Display_Dig ( CodeC | Hex_BCD ( r.Total, 7 ), CHECK_DISP_DELAY );
bc7281_Display_Dig ( CodeD | Hex_BCD ( f.Flow, 4 ), CHECK_DISP_DELAY );
bc7281_Display_Dig ( CodeE | Hex_BCD ( f.Record_n, 2 ), CHECK_DISP_DELAY );
bc7281_Display_Dig ( CodeF | Hex_BCD ( r.LowLimit, 7 ), CHECK_DISP_DELAY );
f.Disp_nShift = CLEAR;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -