📄 define.asm
字号:
CAL_PRESSED: BIT (FLAG+7).2 ; = 1 CAL KEY PRESSED
UP_DN_PRESSED: BIT (FLAG+7).1 ; = 1 UP/DOWN KEY PRESSED
SET_PRESSED: BIT (FLAG+7).0 ; = 1 SET KKEY PRESSED
;USER SETTING MODULE USE: ;
SET_FLASH_EN: BIT (FLAG+8).3 ; = 1 ENABLE FLASH SETTING INFO
WRITE_EEP_EN: BIT (FLAG+8).2 ; = 1 WRITE TO EEP, = 0 READ FROM EEP
SET_OK: BIT (FLAG+8).1 ; = 1 INDICATE SET ONE USER'S INFO OK
DATA_FAIL_FLAG: BIT (FLAG+8).0 ; = 1 DATA IS OUT OF RANGE,IS INVAID DATA
;CALIBRATION MODULE USE: ;
DISP_HEX_COUNTS: BIT (FLAG+9).3 ; = 1 DISP COUNTS IN HEX // =0: DISP COUNTS IN BCD
DISP_CHAR: BIT (FLAG+9).2 ; = 1 DISPLAY CHAR =0 DISPLAY VALUE
CAL_CNT1_OK: BIT (FLAG+9).1 ; = 1 THE FIRST CAL POINT OK
CAL_CNT2_OK: BIT (FLAG+9).0 ; = 1 THE SECOND CAL POINT OK
BIT_TEMP: BIT (FLAG+10).3 ; = 1 USE TO SAVE KG_FLAG
;**************************************;
;****************************************************************************;
; 2EH -- 7FH ( BANK 0 ) ;
;****************************************************************************;
;######################################;
;DATA PROCESS (SCALE) MODULE USE(1) ;
LAST_WEIGHT: EQU 2EH ; 4 NIBS FOR REMEMBER THE LAST WEIGHT
CNT10: EQU 32H ; 4 NIBS CNT1 - CNT0
CNT21: EQU 36H ; 4 NIBS CNT2 - CNT1
BT_COUNT: EQU 3AH ; 2 NIBS COUNT THE TIMES OF BT INTERRUPT
SCALE_CNT: EQU 3CH ; 4 NIBS [SCALE_CNT+2]<=BT_COUNT,[SCALE_CNT+0]<=BCNT
MID_POINT: EQU 40H ; 4 NIBS THE RESULT
CNT0: EQU 44H ; 4 NIBS ZERO POINT COUNTS
;######################################;
; A/D CONVERT MODULE USE ;
AD_DLY: EQU 48H ; 2 NIBS NEGATIVE INTEGRAL DELAY 150 -170 MS
ADC_DLY_BUF: EQU 4AH ; 2 NIBS USE FOR ADJUST ADC
WT_BCD: EQU 4CH ; 4 NIBS THE BCD OF WEIGHT
;######################################;
; PUBLIC LOCATION: ;
WEIGHT: EQU 50H ; 4 NIBS USE FOR SAVE THE WEIGHT
FRACTION: EQU 54H ; 2 NIBS USE FOR SAVE FRACTION (SUCH AS:1/2,3/8 ect...)
CHK_ADC_CNT: EQU 56H ; 2 NIBS USE FOR CHECK ADC WORK NORMAL OR ABNORMAL
;######################################;
SET_STATE: EQU 58H ; 1 NIB RECORD THE STATE OF USER_SET
ZERO_TRACE_CNT: EQU 59H ; 1 NIB USE FOR ZERO_TRACE
CNTS_PER_G: EQU 5AH ; 1 NIB CNTS PER GRADUATION
USER_NUM: EQU 5BH ; 1 NIB (1 -- 12)
SET_DLY: EQU 5CH ; 3 NIBS
TAPE_ON_CNT: EQU 5FH ; 1 NIB
RUN_MODE_REG: EQU 60H ; 1 NIB RECORD THE MODE OF SYS
INFO_PTR: EQU 61H ; 1 NIB (0 -- 3)
HT_BUF: EQU 62H ; 2 NIBS
TEST_BUF: EQU 64H ; 2 NIBS
;5 NIBS NC
;######################################;
;KEYSCAN MODULE USE ;
FRACTION_BUF: EQU 6AH ; 1 NIB USE FOR SAVE THE (0.1 -- 0.9)
KB_STATE: EQU 6BH ; 1 NIB RECORD THE STATE OF KEYSCAN
KEY_VALUE: EQU 6CH ; 2 NIBS SAVE THE PRESSED KEY VALUE
KEY_HOLD_CNT: EQU 6EH ; 2 NIBS USE FOR COUNT THE TIME OF HOLD KEY
KB_DLY: EQU 70H ; 2 NIBS USE FOR DEBOUNCE DELAY
KB_BUF: EQU 72H ; 2 NIBS SAVE THE P1 PORT STATUS EMPORARY
;######################################;
;DATA PROCESS MODULE USE(2) ;
FLASH_CNT: EQU 74H ; 1 NIB RECORD THE TIME OF FLASHING
JAM_CNT: EQU 75H ; 1 NIB COUNTER THE TIME OF SWITCH DYNAMIC <=> STATIC
JAM_STATE: EQU 76H ; 1 NIB RECORD THE STATE OF SYS
LAST_JAM_STATE: EQU 77H ; 1 NIB RECORD THE LAST STATE OF SYS
NO_ZERO_CNT: EQU 78H ; 2 NIBS THE TIMES OF CANNOT CAP ZERO.
SCALE_DLY: EQU 7AH ; 2 NIBS WHEN SYS IN SCALLING,IF TIME OUT,POWER AUTO OFF
DP_DLY: EQU 7CH ; 3 NIBS USE FOR DATA PROCESS'S DELAY
CAL_DLY: EQU 7CH ; *3 NIBS USE FOR CAL MODULE'S DELAY
DP_STATE: EQU 7FH ; 1 NIB RECORD THE STATE OF THE DATA_PROCESS2.
CAL_STATE: EQU 7FH ; *1 NIB RECORD THE STATE OF CALIBRATION
;****************************************************************************;
; 80H -- FFH ( BANK 0 ) ;
;****************************************************************************;
;######################################;
; PUBLIC RAM .... ;
ACC_BUF: EQU 80H ; 4 NIBS GENERAL
BCC_BUF: EQU 84H ; 8 NIBS GENERAL
CCC_BUF: EQU 8CH ; 4 NIBS GENERAL
ABS_ERR: EQU 90H ; 6 NIBS GENERAL
;######################################;
; USER_SET MODULE USE ;
BUFFER_TRX: EQU 96H ; THE FIRST ADDRESS OF DATA TO BE SENT TO EEP
HEIGHT: EQU 96H ; 2 NIBS
AGE: EQU 98H ; 2 NIBS
;######################################;
; 24C01 MODULE USE ;
TRX_BUF: EQU 9AH ; 2 NIBS SAVE THE DATA TO BE W/R
CPU_RAM_ADDR: EQU 9CH ; 2 NIBS SAVE THE ADDRESS OF DATA TO BE W/R
EEP_RAM_ADDR: EQU 9EH ; 2 NIBS THE ADDRESS OF RAM IN EEP
EEP_NUM: EQU 0A0H ; 1 NIB SAVE THE NUM OF BYTES TO W/R
;######################################;
;CALIBRATION USE ;
CNT1: EQU 96H ; *4 NIBS 40KG COUNTS
CNT2: EQU 9AH ; *4 NIBS 120KG COUNTS
CNT20: EQU 9EH ; *4 NIBS CNT20 <= CNT2 - CNT0
;-- OVERLAY FOR FAT TEST MODULE -------;
;######################################;
;FAT_TEST MODULE USE ;
DIS_FAT_CNT: EQU 09AH ; * 2 NIBS USE FOR DISLAY "OOOO"," OOO"," OO" " O"
FAT_RATE: EQU 09CH ; * 4 NIBS SAVE THE FAT_RATE
FAT_DLY: EQU 0A0H ; * 3 NIBS USE FOR FAT_TEST MODULE DELAY
FAT_STATE: EQU 0A3H ; * 1 NIB RECORD THE STATE OF THE FAT TEST MODULE
; 0A4H -- 0FFH: STATCK AREA ; 84 NIBS
;***************************************************************************;
; BANK1 ;
;***************************************************************************;
CHK_EEP_CNT: EQU 00H ; 2 NIBS USE FOR CHK 24C01
AUTO_OFF_CNT: EQU 02H ; 4 NIBS USE FOR AUTO PWR OFF FUNCTION
B1_BCC_BUF: EQU 06H ; 8 NIBS
VOLD_DLY: EQU 10H ; 1 NIB FOR VOLTAGE'S DEBOUNCE
ABNORMAL_CNT: EQU 11H ; 1 NIB RECORD THE TIMES OF VOTAGE ABNORMAL
HT_BUF_BAK: EQU 12H ; 2 NIBS BAKUP THE HT_BUF
DATA_BUF: EQU 20H ; 16 NIBS
SUM1: EQU 40H ; 8 NIBS
SUM2: EQU 48H ; 8 NIBS
BODY_RES: EQU 50H ; 4 NIBS BODY RESISTTANCE
WATER_RATE EQU 54H ; 4 NIBS WATER_RATE
;***************************************************************************;
; MACRO DEFINE ;
;***************************************************************************;
;**************************************;
TURN_ON_PWR: MACRO ;
SMB 15 ;
BITR VCC_CONTROL ;
SMB 0 ;
ENDM ;
;**************************************;
;**************************************;
; AAA <= BBB ; 2BYTE --> 2BYTE
LD2B: MACRO AAA,BBB ;
LD EA,BBB+0 ;
LD AAA+0,EA ;
LD EA,BBB+2 ;
LD AAA+2,EA ;
ENDM ;
;**************************************;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -