⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 macro.h

📁 this file is for keil motor
💻 H
📖 第 1 页 / 共 2 页
字号:
//**********************************************************************************//
//**********************************************************************************//
//***                     本文件中定义了所有的宏定义                             ***//
//*****                       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 + -