📄 extern_declarations.h
字号:
/*
-02/23/2006: Petre M.
-this file contains the extern declarations used throughout the program
*/
#include "structures.h"
#include "system_def.h"
#define Bit0 0x01
#define Bit1 0x02
#define Bit2 0x04
#define Bit3 0x08
#define Bit4 0x10
#define Bit5 0x20
#define Bit6 0x40
#define Bit7 0x80
#define NBit0 0xfe
#define NBit1 0xfd
#define NBit2 0xfb
#define NBit3 0xf7
#define NBit4 0xef
#define NBit5 0xdf
#define NBit6 0xbf
#define NBit7 0x7f
#define Nr_Bytes_1 1
#define Nr_Bytes_2 2
#define Nr_Bytes_3 3
#define Nr_Bytes_4 4
#define Nr_Bytes_5 5
#define Blink_1Hz 0
#define Blink_500mHz 1
#define Blink_333mHz 2
#define Blink_250mHz 3
#define End_Byte_7 0x55
#define End_Byte_8 0xaa
#define End_Byte_9 0x55
#define End_Byte_10 0xaa
#define WD_15_6msec 0
#define WD_31_2msec 1
#define WD_62_5msec 2
#define WD_125msec 3
#define WD_250msec 4
#define WD_500msec 5
#define WD_1sec 6
#define WD_2sec 7
//these definitions are used in lcd.c to introduce the desired number of fractional digits
#define Fract_Digits_0 0
#define Fract_Digits_1 1
#define Fract_Digits_2 2
#define Fract_Digits_3 3
#define Fract_Digits_4 4
//because this variable is located at absolute address 0x21, it is not
//necessary to declare it in rtc.h
extern __no_init __idata struct Date_struct Date @ 0x21;
extern __no_init __idata struct Five_Bytes_struct Active_Energy @ 0x25;
//I_1A_threshold=1000/Ratio*2^16 = a number on 16 bits
//Ratio is a number representing the number of bits correspondign to 1Amp
extern __no_init __idata int I_1A_threshold @ 0x2a;
//V_1V_threshold=100/Ratio*2^16 = a number on 16 bits
//Ratio is a number representing the number of bits corresponding to 1V
extern __no_init __idata int V_1V_threshold @ 0x2c;
extern __idata char Low_Priority_Command[1];
extern __idata char LCD_Command[1];
extern __idata char Command_Status[1];
extern __idata char N;
extern __idata int X;
extern __idata unsigned char __idata *I2C_ptr;
extern __idata char I2C_Status;
extern __idata struct Five_Bytes_struct Reactive_Energy, Apparent_Energy;
extern __idata char LCD_buffer[15];
extern __code const char Digit_Table[10];
extern __code const char Months[12];
extern __idata unsigned char Meter_Errors[1];
extern __idata unsigned char Fault_Days;
extern __idata char LCD_Digits[9];
extern __idata unsigned char CF2_Frac, New_CF2_Counter;
extern __idata char Temporary[8], Temporary1[8];
extern __code const char Default_Ac_Energy[5];
extern __code const char Default_Re_Energy[5];
extern __code const char Default_Ap_Energy[5];
extern __code const char Default_Date[4];
extern __code const unsigned char Default_Fault_Days;
extern __idata unsigned char UART_Rx[11];
extern __idata unsigned char __idata *UART_ptr;
extern void (* __idata UART_func_ptr)(void);
extern __code const int Table_UART[];
extern __code const int Table_LCD[5];
extern __idata signed char LP_Task;
extern __code const int Table_LP_Func[];
extern void I2C_Do_nothing(void);
extern void Rx_CTRL_byte(void);
extern void Rx_byte(void);
extern void Tx_page(char Nr_Bytes, int EEPROM_address,unsigned char __idata *Pointer);
extern void Tx_CTRL_byte(char Nr_Bytes, int EEPROM_address,unsigned char __idata *Pointer);
extern void Tx_byte(char Nr_Bytes, int EEPROM_address,unsigned char __idata *Pointer);
extern void Tx_page2(void);
extern void Setup_LCD(void);
extern void Setup_LCD_PSM1(void);
extern void Display_to_LCD(void);
extern void Irms_threshold_read(void);
extern void Vrms_threshold_read(void);
extern void Blink_LCD(char BLKFREQ);
extern void Setup_Watchdog(char PRE);
extern void Refresh_Watchdog(void);
extern void Clear_flag(char NBit, char __idata *iram_ptr);
extern void Clear_2_flags(char NBit_1, char __idata *iram_ptr1,char NBit_2,
char __idata *iram_ptr2 );
extern void Set_flag(char Bit, char __idata *iram_ptr);
extern void Display_Something(void);
extern void Manage_Numbers(char Nr_Fract_Digits);
extern void Manage_Time(void);
extern void Manage_Display(void);
extern void Decide_LCD_command(void);
extern void Setup_Ext_Int(void);
extern void INT0_Interrupt(void);
extern void Manage_LCD_commands(void);
extern void Active_Energy_Display(void);
extern void IRMS_Display(void);
extern void VRMS_Display(void);
extern void Date_Display(void);
extern void Display_Time_Date(char __idata *iram_ptr1);
extern void Store_time(char __idata *ptr);
extern void Calendar_write(void);
extern void Calendar_read(void);
extern void ADE_Interrupt(void);
extern void Reload_Energy(void);
extern void Setup_Energy(void);
extern void Accumulate_Energy(void);
extern void Reload_from_EEPROM(void);
extern void Active_Energy_read(void);
extern void Active_Energy_write(void);
extern void Tx_High_Importance(char Nr_Bytes, int EEPROM_address,unsigned char __idata *Pointer);
extern void Tx_Low_Importance(char Nr_Bytes, int EEPROM_address,unsigned char __idata *Pointer);
extern void Disable_Watchdog(void);
extern void Meter_Calibration(void);
extern void Write_ADE_SFR(char ByteM, char ByteL, char Register);
extern void Read_ADE_SFR(unsigned char __idata *Pointer, char Register);
extern void End_message_bytes(char a, char b, char c, char d);
extern void End_Low_Priority_Tasks(void);
extern void Bin2bcd(void);
extern void Display_Number(char Nr_Fract_Digits, unsigned int unit_ratio);
extern void Comp_Nibbles(void);
extern void Comp_Nibbles2(void);
extern void mult24x16(void);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -