📄 macro.h
字号:
//**********************************************************************************//
//**********************************************************************************//
//*** 本文件中定义了所有的宏定义 ***//
//***** macro.h ***//
//**********************************************************************************//
//**********************************************************************************//
#define C_ADD XBYTE[0xD000] //指令口地址
#define D_ADD XBYTE[0xD001] //数据口地址
#define INS_8279 XBYTE[0x8001]
#define DATA_8279 XBYTE[0x8000]
#define ADDR_INT XBYTE[0XF400] //中断标志
#define ADDR_CHANNEL XBYTE[0XF200]
#define ADDR_MOTOR XBYTE[0XF000]
#define GAIN_W_L8 XBYTE[0XB000]
#define GAIN_W_H4 XBYTE[0XB001]
#define GAIN_R_L8 XBYTE[0XB002]
#define GAIN_R_H4 XBYTE[0XB003]
#define GAIN_UPDATE XBYTE[0XC000]
#define AD_START XBYTE[0XA000]
#define AD_H8 XBYTE[0XA000]
#define AD_L4 XBYTE[0XA001]
#define DATA_6V 0X999
#define DATA_4V 0X666
#define DATA_9V 0XE66
#define DATA_5V 0X800
#define DATA_7V 0XB33
#define DATA_8V 0XCCC
#define DATA_3V 0X4CC
#define CHANNEL_W 0X02
#define CHANNEL_R 0X00
#define MOTOR_0 0X01
#define MOTOR_1 0X00
#define LIGHT_PULSE_UP LIGHT=1
#define LIGHT_PULSE_DOWN LIGHT=0
#define MOTOR_PULSE_UP PULSE=1
#define MOTOR_PULSE_DOWN PULSE=0
#define ZERO_OFFSET 600
#define DIR_FORWARD 1
#define DIR_BACKWARD 0
#define ADDR_CLOCK 0X9000
#define REG_CLOCK_A 0X0A
#define REG_CLOCK_B 0X0B
#define REG_CLOCK_C 0X0C
#define REG_CLOCK_D 0X0D
#define REG_SEC 0X00
#define REG_SEC_ALARM 0X01
#define REG_MIN 0X02
#define REG_MIN_ALARM 0X03
#define REG_HOUR 0X04
#define REG_HOUR_ALARM 0X05
#define REG_WEEK 0X06
#define REG_DAY 0X07
#define REG_MONTH 0X08
#define REG_YEAR 0X09
#define CLOCK_FROZE 0X92
#define CLOCK_UNFROZE 0X12
#define HIGH_LIGHT 0X01
#define DARK_LIGHT 0X00
#define INVERT_HIGH_LIGHT 0X81
#define INVERT_DARK_LIGHT 0X80
#define FONT_HZ1616 0X0B // different font use different instruction
#define FONT_CHAR1616 0X08
#define FONT_HZ2424 0X07
#define FONT_CHAR816 0X0C
#define ENABLE 0X01
#define DISABLE 0X00
#define MARKER_DIR_LEFT 0X00
#define MARKER_DIR_RIGHT 0X01
#define NULL 0X00
#define TRUE 0X01
#define FALSE 0X00
#define SUCCESS 0X01
#define FAILURE 0X00
#define UPDATE_STYLE_READ 0X00 //更新曲线的方式为阅读方式
#define UPDATE_STYLE_WRITE 0X01 //更新曲线的方式是采样方式
//用于多个页面的宏
#define LCD_DISP_ON P1|=0X40
#define LCD_DISP_OFF P1&=0XBF
#define PARA1 0x0A0 //80个字节/行每个像素占用两位的空间
#define WINDOW_WIDTH 80
#define WINDOW_HEIGHT 480
#define FONT16_HEIGHT 16
#define FONT24_HEIGHT 24
#define HZ_FONT16_WIDTH 0X02
#define HZ_FONT24_WIDTH 0X03
#define TIME_INTERVAL 0X02
#define KB_DISP_MODE 0x01 //键盘控制字
#define KB_CLK_DIV 0x2a
#define KB_CLEAR_ALL 0xd1
#define KB_READ_RAM 0X40
#define KB_0 0X02 //键值
#define KB_1 0X0A
#define KB_2 0X12
#define KB_3 0X1A
#define KB_4 0X03
#define KB_5 0X0B
#define KB_6 0X13
#define KB_7 0X1B
#define KB_8 0X04
#define KB_9 0X0C
#define KB_DOT 0X14
#define KB_CLEAR 0X1C
#define KB_UP 0X05
#define KB_DOWN 0X0D
#define KB_LEFT 0X15
#define KB_RIGHT 0X1D
#define KB_ENTER 0X06
#define KB_START 0X0E
#define KB_ANALYSE KB_0
#define LIB_FIR 0X00
#define LIB_SEC 0X01
#define LIB_THR 0X02
#define LIB_FOU 0X03
#define LAST_PAGE 0X00
#define NEXT_PAGE 0X01
#define LINE_DIR_X 0X00
#define LINE_DIR_Y 0X01
#define FIRST_PAGE 0X00
#define PAGE1_START_POS_X 0X00
#define PAGE1_START_POS_Y 0X00
#define PAGE1_TIME_POS_X 14
#define PAGE1_TIME_POS_Y 400
#define PAGE1_BUTTON_START_X 10
#define PAGE1_BUTTON_START_Y 100
#define PAGE2_FONT_SIZE 0X03
#define PAGE2_LINE_DISTANCE1 55
#define PAGE2_LINE_DISTANCE2 17
#define PAGE2_CURSOR_START_X 23
#define PAGE2_CURSOR_START_Y 115
#define PAGE2_BUTTON_START_X 12
#define PAGE2_BUTTON_START_Y 290
#define PAGE2_PARA_START_X 10
#define PAGE2_PARA_START_Y 100
#define PAGE2_TABLE_START_X 50
#define PAGE2_TABLE_START_Y 100
#define PAGE3_PARA_START_X 0
#define PAGE3_PARA_START_Y 458 //PARA 就是波长延时积分
#define PAGE3_COL_DISTANCE1 0X05 //波长延时积分的间距
#define PAGE3_COL_DISTANCE2 0X03 //浓度设定的 间距
#define PAGE3_FONT_SIZE 0X02
#define PAGE3_SC_START_X 0
#define PAGE3_SC_START_Y 45
#define PAGE3_TABLE_START_X 0
#define PAGE3_TABLE_START_Y 98
#define PAGE3_LINE_DISTANCE2 0X05
#define PAGE3_FONT_SIZE1 0X01
#define PAGE3_FONT_SIZE2 0X02
#define PAGE3_TABLE_GRID_H 19
#define PAGE3_TITLE_HEIGHT 34
#define PAGE3_BOTTOM_BAR_HEIGHT 28
#define PAGE3_CHECK_TABLE_X 41
#define PAGE3_CHECK_TABLE_Y 275
#define PAGE3_CHECK_TABLE_GAP 20
#define PAGE3_CHECK_TABLE_WIDTH 17
#define PAGE3_BLANK_MARK_X 41
#define PAGE3_BLANK_MARK_Y 240
#define PAGE3_CARET_START_X (PAGE3_SC_START_X + PAGE3_COL_DISTANCE2 + 4 )
#define PAGE3_CARET_START_Y (PAGE3_SC_START_Y + 15 )
#define PAGE3_TABLE2_START_X (PAGE3_TABLE_START_X + PAGE3_TABLE1_WIDTH + PAGE3_COL_DISTANCE2*2 + 3 )
#define PAGE3_TABLE2_START_Y PAGE3_TABLE_START_Y
#define PAGE3_TABLE1_WIDTH 21
#define PAGE3_TABLE2_WIDTH 26
#define PAGE3_BUTTON_DISTANCE 34
#define PAGE3_BUTTON_WIDTH 67
#define PAGE3_BUTTON_HEIGHT 19
#define PAGE3_SPLITTER_WIDTH 59
#define PAGE3_CURVE_X 3
#define PAGE3_CURVE_Y 250
#define PAGE3_CURVE_HEIGHT 180
#define PAGE3_CURVE_WIDTH 34
#define PAGE3_CURVE_TICK_DISTANCE 45
#define PAGE3_LINE_STYLE_CURVE 0X00
#define PAGE3_LINE_STYLE_ZERO 0X01
#define PAGE3_LINE_STYLE_UNZERO 0X02
#define PAGE3_LINE_STYLE_UNSEL 0XFF
#define PAGE5_LINE_DISTANCE1 35
#define PAGE5_TIMER_START_X PAGE5_BAR_START_X
#define PAGE5_TIMER_START_Y (PAGE5_BAR_START_Y + PAGE5_LINE_DISTANCE1 )
#define PAGE5_TIMER_WIDTH PAGE5_BAR_WIDTH
#define PAGE5_PARA_START_X PAGE3_PARA_START_X
#define PAGE5_PARA_START_Y PAGE3_PARA_START_Y //PARA 就是波长延时积分
#define PAGE5_PARA_DISTANCE PAGE3_COL_DISTANCE1
#define PAGE5_FONT_SIZE1 0X01
#define PAGE5_FONT_SIZE2 0X02
#define PAGE5_TABLE_START_X 0x03
#define PAGE5_TABLE_START_Y (PAGE5_TIMER_START_Y + PAGE5_LINE_DISTANCE1 *2 - 5)
#define PAGE5_TABLE_HEIGHT (PAGE5_TABLE_GRID_H * 7 + 1 )
#define PAGE5_TABLE_GRID_H 25
#define PAGE5_TABLE_COLUM1_WIDTH 11
#define PAGE5_TABLE_COLUM2_WIDTH 19
#define PAGE5_TABLE_WIDTH (PAGE5_TABLE_COLUM1_WIDTH + PAGE5_TABLE_COLUM2_WIDTH)
#define PAGE5_CHART_START_X ( ( PAGE5_TABLE_START_X + PAGE5_TABLE_WIDTH ) + 7 )
#define PAGE5_CHART_START_Y PAGE5_TABLE_START_Y - 3
#define PAGE5_CHART_WIDTH ( WINDOW_WIDTH - PAGE5_CHART_START_X - 5 )
#define PAGE5_CHART_HEIGHT ( PAGE5_TABLE_HEIGHT + 1 )
#define PAGE5_BAR_HEIGHT 18
#define PAGE5_BAR_START_X 14
#define PAGE5_BAR_START_Y 50
#define PAGE5_BAR_WIDTH 52
#define PAGE5_BUTTON_Y ( ( (WINDOW_HEIGHT - (PAGE5_TABLE_START_Y + PAGE5_TABLE_HEIGHT ) - 22 ) / 2 ) + (PAGE5_TABLE_START_Y + PAGE5_TABLE_HEIGHT ))
#define PAGE5_BUTTON_X 8
#define PAGE5_BUTTON_INTERVAL 13
#define PAGE5_BUTTON_HEIGHT 19
#define PAGE5_AVE_TIME_COUNT 8
#define PAGE5_TIME_INTERVAL 56 // ( PAGE5_CHART_WIDTH * 8 / 5 / 2 )
#define PAGE6_TIMER_START_X PAGE5_TIMER_START_X
#define PAGE6_TIMER_START_Y PAGE3_PARA_START_Y
#define PAGE6_PARA_START_X 5
#define PAGE6_PARA_START_Y (34 + PAGE6_LINE_INTERVAL )
#define PAGE6_PARA_INTERVAL 27
#define PAGE6_CHART_START_X PAGE6_BAR_START_X
#define PAGE6_CHART_START_Y ( PAGE6_BAR_START_Y + PAGE6_LINE_INTERVAL + 16 )
#define PAGE6_CHART_WIDTH PAGE6_BAR_WIDTH
#define PAGE6_CHART_HEIGHT ( WINDOW_HEIGHT - PAGE6_CHART_START_Y - PAGE6_LINE_INTERVAL - 29 )
#define PAGE6_BUTTON_START_X 66
#define PAGE6_BUTTON_START_Y ( PAGE6_BUTTON_RECTANGLE_Y + PAGE6_BUTTON_INTERVAL )
#define PAGE6_BUTTON_RECTANGLE_X 60
#define PAGE6_BUTTON_RECTANGLE_Y 35
#define PAGE6_BUTTON_RECTANGLE_HEIGHT 416
#define PAGE6_BUTTON_WIDTH PAGE3_BUTTON_WIDTH
#define PAGE6_BUTTON_HEIGHT PAGE3_BUTTON_HEIGHT
#define PAGE6_BUTTON_INTERVAL 36 //PAGE6共有6个键
#define PAGE6_BAR_START_X PAGE6_PARA_START_X
#define PAGE6_BAR_START_Y ( PAGE6_PARA_START_Y + PAGE6_LINE_INTERVAL + 16 )
#define PAGE6_BAR_WIDTH 50
#define PAGE6_BAR_HEIGHT PAGE5_BAR_HEIGHT + 1
#define PAGE6_LINE_INTERVAL 25
#define PAGE6_CARET_START_X ( PAGE6_PARA_START_X + 10 )
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -