📄 variable.h
字号:
//=================================================================
// Constant Assignment
//=================================================================
//------------------------------------------------------------------
// System Option : OTP / Emulator ?
//------------------------------------------------------------------
//#define DEBUG 1 // debug mode
#define DEBUG 0 // OTP/MASK mode
//------------------------------------------------------------------
// Bit define
//------------------------------------------------------------------
#define ON 1
#define OFF 0
#define OK 1
#define FAIL 0
#define TRUE 1
#define FALSE 0
//------------------------------------------------------------------
// Port Assignment
//------------------------------------------------------------------
#define p_SCL R06 // I2C Clcok Pin
#define p_SDA R04 // I2C Data Pin
#define p_Yellow R01 // Lamp
#define p_Pulse R10 // Pulse out
//------------------------------------------------------------------
// ADC selection code data
//------------------------------------------------------------------
#define ADC_1 0x44 // AN1
#define ADC_2 0x48 // AN2
#define ADC_3 0x4C // AN3
//------------------------------------------------------------------
// LCD Character index
//------------------------------------------------------------------
#define Chr0 0x00 // 0
#define Chr1 0x01 // 0
#define Chr2 0x02 // 0
#define Chr3 0x03 // 0
#define Chr4 0x04 // 0
#define Chr5 0x05 // 0
#define Chr6 0x06 // 0
#define Chr7 0x07 // 0
#define Chr8 0x08 // 0
#define Chr9 0x09 // 0
#define ChrA 0x0A // 0
#define ChrB 0x0B // 0
#define ChrC 0x0C // 0
#define ChrD 0x0D // 0
#define ChrE 0x0E // 0
#define ChrF 0x0F // 0
#define Chr_ 0x10 // -
#define ChrL 0x11 // L
#define ChrO 0x12 // O
#define ChrP 0x13 // P
#define ChrS 0x14 // S
#define ChrH 0x15 // H
#define SPACE 0x16 //
#define ChrN 0x17 // n
#define ChrT 0x18 // t
#define ChrU 0x19 // u
#define ChrR 0x1A // r
//------------------------------------------------------------------
// LCD display mode
//------------------------------------------------------------------
#define MODE_ALRAM 0x01 // Alram display
#define MODE_CLOCK 0x02 // Pulse width display
//------------------------------------------------------------------
// Buzzer Control mode
//------------------------------------------------------------------
#define BEEP_NONE 0x00 //
#define BEEP_ALARM 0x01 //
#define BEEP_LOW 0x02 //
#define BEEP_OFF 0x03 //
#define BEEP_ERROR 0x04 //
#define BEEP_JjangGa 0x05 //
//=================================================================
// RAM bank 0 160 bytes (00h ~ 09Fh) Assignment
//=================================================================
struct Bit_Flag_Byte {
unsigned char B0:1;
unsigned char B1:1;
unsigned char B2:1;
unsigned char B3:1;
unsigned char B4:1;
unsigned char B5:1;
unsigned char B6:1;
unsigned char B7:1;
};
union Bit_Field_Byte {
unsigned char byte;
struct Bit_Flag_Byte bit;
};
union Word_Field {
unsigned int word;
unsigned char byte[2];
};
//-----------------------------------------------------------------
// System Flag
//-----------------------------------------------------------------
USER_EXTERN union Bit_Field_Byte rKey_flag; //
#define f_UpDn rKey_flag.bit.B0 //
#define f_Repeat rKey_flag.bit.B1 //
#define f_KeyOk rKey_flag.bit.B2 // 1 Second flag
#define f_Command_Ok rKey_flag.bit.B3 //
#define f_Updated rKey_flag.bit.B4 //
#define f_Scan_Err rKey_flag.bit.B5 //
USER_EXTERN union Bit_Field_Byte rLcd_flag; //
#define f_Refresh rLcd_flag.bit.B0 // 1=Refresh
#define f_OnLcd rLcd_flag.bit.B1 // 1=New Display request
#define f_Flicker rLcd_flag.bit.B2 // 1=Display flicker(1:ON, 0:OFF)
#define f_Carry rLcd_flag.bit.B3 // 1=carry count set
USER_EXTERN union Bit_Field_Byte rComm_flag; //
#define f_NoACK rComm_flag.bit.B0 // 1=
USER_EXTERN union Bit_Field_Byte rTime_flag; //
#define f_Minute rTime_flag.bit.B0 // 1=1minute
#define f_Clock rTime_flag.bit.B1 // 1=clcok active
#define f_AmPm rTime_flag.bit.B2 // 1=enable AmPm
#define f_AM rTime_flag.bit.B3 // 1=Am/0=Pm
#define f_Alarm rTime_flag.bit.B4 // 1=Alarm set
//------------------------------------------------------------------
// global general buffer
//------------------------------------------------------------------
USER_EXTERN unsigned char i; //
USER_EXTERN unsigned short j; //
USER_EXTERN unsigned short wDly_count; // N usec
USER_EXTERN unsigned char rTemp[4]; //
//------------------------------------------------------------------
// Timer 4ms interval counter
//------------------------------------------------------------------
USER_EXTERN unsigned char rTimer_4ms[5];
#define TIME_Key 0 // Key counter
#define TIME_Wait 1 // Wait counter
#define TIME_Sec 2 // Second counter
#define TIME_Lcd 3 // Lcd counter
//#define TIME_Stop 4 // Stop counter
USER_EXTERN unsigned char rStop_Timer; //
//------------------------------------------------------------------
// Local Key control
//------------------------------------------------------------------
USER_EXTERN unsigned char rKey_Temp[4]; //
USER_EXTERN unsigned char rKey_Buffer; //
USER_EXTERN unsigned char rScan_Count; //
USER_EXTERN unsigned char rKey_Data; // key command
USER_EXTERN unsigned char rKey_Command; // key command
USER_EXTERN unsigned char rCmd_Count; // Command repeat count
USER_EXTERN unsigned char rOption; //
USER_EXTERN unsigned char rCustom_Code; //
//------------------------------------------------------------------
// Inter IC bus control
//------------------------------------------------------------------
USER_EXTERN unsigned char rI2C_mode; // I2c mode
USER_EXTERN unsigned char rI2C_mad; // I2c main address
USER_EXTERN unsigned char rI2C_byte; // Data Byte 荐
USER_EXTERN unsigned char rI2C_sad; // sub register addr
USER_EXTERN unsigned char *rI2C_post; // Data Pointer
USER_EXTERN unsigned char rRetry_Count; // I2C retry count
//------------------------------------------------------------------
// Real Time Clocked Calendar
//------------------------------------------------------------------
USER_EXTERN unsigned char rMinute; //
USER_EXTERN unsigned char rHour; //
USER_EXTERN unsigned char rDate; //
USER_EXTERN unsigned char rWeek; //
USER_EXTERN unsigned char rMonth; //
USER_EXTERN unsigned char rYear; //
USER_EXTERN unsigned char rAlram_Minute; //
USER_EXTERN unsigned char rAlram_Hour; //
//------------------------------------------------------------------
// LCD control data
//------------------------------------------------------------------
USER_EXTERN unsigned char rLcd_Buf[10]; // Lcd Display Buffer
USER_EXTERN unsigned char rLcd_Mode; // display main menu
USER_EXTERN unsigned char rSub_Menu; // display sub menu
USER_EXTERN unsigned char rCursor; // display sub menu
USER_EXTERN unsigned char rDsp_Count; // display time count
//------------------------------------------------------------------
// Remote Pulse out
//------------------------------------------------------------------
USER_EXTERN unsigned char rRem_Buf[4]; // remote out pulse code
USER_EXTERN unsigned char rCG_Count; // Carrier Generation count
USER_EXTERN unsigned char iTemp; // interrupt temp i
USER_EXTERN unsigned char kTemp; // interrupt temp k
//------------------------------------------------------------------
// Buzzer Control
//------------------------------------------------------------------
USER_EXTERN unsigned char *wMelody_Ptr; //
USER_EXTERN unsigned char rMelody_Mode; //
USER_EXTERN unsigned char rMelody_cnt; //
//=================================================================
// RAM bank 1 229 bytes (11Bh ~ 1FFh) Assignment
//=================================================================
//=================================================================
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -