📄 tf9925h.src
字号:
;
OPER_FGH EQU 1FH
DELETE EQU 0 ; set if delete CID/memory/dial out call
UP_REVIEW EQU 1 ; set if view up CID
BANK_2ND EQU 3 ; set if eeprom R/W buffer in bank 2
;
CID_FLAG1 EQU 20H ; cid received flag 1
CID_RDY EQU 0 ; set if CID data is ready
IN_RXCID EQU 1 ; set if receiving CID data
DTMF_FORMAT EQU 2 ; set if DTMF format,clr. if FSK format
CID_RCVD EQU 3 ; set if valid FSK/DTMF data received
;
;-------------------------------
; CID data buffer declaration
;-------------------------------
;
RXD_BUF EQU 22H ; data storage buffer
RXD_BUF1 EQU 24H ; rf data storage byte 2
RXD_BUF2 EQU 26H ; rf data storage byte 3
CID_BUF EQU 28H ; CID buffer (36 bytes)
;
CID_MONTH EQU 70H ; CID decoded data buffer
CID_STATUS EQU 71H ; CID status register
NEW_CALL EQU 0 ; set if new call
REPT_CALL EQU 1 ; set if repeat call
FIX_NUM EQU 2 ; set if fix message in number storage
DTMF_CALL EQU 3 ; set if DTMF format caller id
;
CID_DAY EQU 72H
CID_HOUR EQU 74H
CID_MIN EQU 76H
CID_NUM EQU 78H ; 20 digits for CID number (10 bytes 178H-18BH)
REPT_NUM EQU 8CH ; 1 byte repeat call counter
SPMEM_NUM EQU CID_NUM ; speed memory number buffer start address
PROGBUF EQU CID_NUM ; program/predial buffer (16 bytes 178H - 197H)
;
AREA_BUF EQU 92H ; 2 bytes area code buffer
MEM_NUM EQU 96H ; view memory number
NUMDSP_TMR EQU 97H ; display dialling digit timer
DOUT_NUM EQU 98H ; view redial calls
;
TOTAL_CID EQU 9AH ; total # of CID stored
CID_RECORD EQU 9CH ; CID record table (40 bytes 40 records)
REC_CKSUM EQU 0ECH ; CID record data checksum
NEW_CID EQU 0EEH ; new call's counter
AMPM_BUF EQU 0F0H ; AM/PM setting buffer
KYTONE_BUF EQU 0F2H ; keytone on/off setting buffer
AREA_CODE EQU 0F4H ; 2 area code digits buffer
AREA_CODE1 EQU 0F5H
LONG_CODE EQU 0F6H ; 2 long distance code digits buffer
LONG_CODE1 EQU 0F7H
;
;***************************************************************************
;BANK2
;***************************************************************************
;-------------------------
; LCD display declaration
;-------------------------
LCD_BUF EQU 00H ; 64 bytes (00H - 7FH)
DISPBUF EQU 08H ; 12 bytes (08H - 3DH)
ICON_BUF EQU 46H ; 8 bytes (46H-79H)
CNUM_BUF EQU 4AH ; 4 bytes (4AH-7BH)
DIGITBUF EQU 80H ; 14 bytes (80H - 9BH)
DIGIT_PTR EQU 0A0H ; 1 byte LCD digit queue pointer
ICON_CNT EQU 0A2H
DISP_PTR EQU 0A4H ; display buffer start address
;
;----------------------
; lcd icon declaration
;----------------------
; icon buffer address
ICON_FLAG0 EQU 38H
I_R_ARROW EQU 1 ; set if on right arrow icon
I_MAIL EQU 3 ; set if on "MAIL" icon
ICON_FLAG1 EQU 39H
I_MUTE EQU 1 ; set if on "MUTE" icon
;
ICON_FLAG2 EQU 3AH
I_TALK EQU 1 ; set if on "TALK" icon
ICON_FLAG3 EQU 3BH
I_RING_HI EQU 1
I_TONE EQU 3 ; set if on "tone" icon
;
ICON_FLAG4 EQU 3CH
I_PROG EQU 1 ; set if on "REPT" icon
I_CHAN EQU 3 ; set if on "Channel" icon
ICON_FLAG5 EQU 3DH
I_L_ARROW EQU 3 ; set if on "MUTE" icon
;
ICON_FLAG6 EQU 46H
I_LBAT EQU 1 ; set if on "LOCK" icon
I_STROKE EQU 3 ; set if on "/" icon
ICON_FLAG7 EQU 47H
I_PM EQU 3 ; set if on "PM" icon
;
ICON_FLAG8 EQU 48H
I_INT EQU 1 ; set if on "INT" icon
I_COLON EQU 3 ; set if on ":" icon
ICON_FLAG9 EQU 49H
I_RING_LO EQU 1
;
ICON_FLAG10 EQU 4BH
I_MEM EQU 3 ; set if on "MEM" icon
;
ICON_FLAG11 EQU 5AH
I_NEW EQU 1 ; set if on "NEW" icon
ICON_FLAG12 EQU 5BH
I_CALL EQU 3 ; set if on "CALL" icon
;
ICON_FLAG13 EQU 6AH
I_REPT EQU 1 ; set if on "REPT" icon
ICON_FLAG14 EQU 6BH
I_OUT EQU 3 ; set if on "OUT" icon
;
ICON_FLAG15 EQU 77H
I_AM EQU 3
;
;--------------------------
; LCD icon display address
;--------------------------
ICON_ADR0 EQU 30H
ON_R_ARROW EQU 1
ON_MAIL EQU 3
ICON_ADR1 EQU 31H
ON_MUTE EQU 1
;
ICON_ADR2 EQU 32H
ON_TALK EQU 1
ICON_ADR3 EQU 33H
ON_RING_HI EQU 1
ON_TONE EQU 3
;
ICON_ADR4 EQU 34H
ON_PROG EQU 1
ON_CHAN EQU 3
ICON_ADR5 EQU 35H
ON_L_ARROW EQU 3
;
ICON_ADR6 EQU 40H
ON_LBATT EQU 1
ON_STROKE EQU 3
ICON_ADR7 EQU 41H
ON_PM EQU 3
;
ICON_ADR8 EQU 42H
ON_INT EQU 1
ON_COLON EQU 3
ICON_ADR9 EQU 43H
ON_RING_LO EQU 1
;
ICON_ADR10 EQU 45H
ON_MEM EQU 3
;
ICON_ADR11 EQU 54H
ON_NEW EQU 1
ICON_ADR12 EQU 55H
ON_CALL EQU 3
;
ICON_ADR13 EQU 64H
ON_REPT EQU 1
ICON_ADR14 EQU 65H
ON_OUT EQU 3
;
ICON_ADR15 EQU 71H
ON_AM EQU 3
;
DATM_BUF EQU 0A6H ; setting BCD min buffer
DATM_BUF1 EQU 0A8H ; setting BCD hour buffer
DATM_BUF2 EQU 0AAH ; setting BCD day buffer
DATM_BUF3 EQU 0ACH ; setting BCD month buffer
;
CURSOR_PTR EQU 0AEH ; LCD dot blink position
CURSOR_BUF EQU 0B0H ; LCD dot blink character
;
STSFG2 EQU 0B2H
T500MS EQU 0 ; set if 0.5s arrived
T1MIN EQU 1 ; set if 1 minute arrived
T1MIN_EN EQU 2 ; enable to update real time
BLK_NEWLED EQU 3 ; set if blink new led
STSFG3 EQU 0B3H
SET_PM EQU 0 ; set if PM enable
;
T1MIN_BUF EQU 0B4H ; 1min timer buffer
RT_MIN EQU 0B6H ; real BCD time
RT_HOUR EQU 0B8H
RT_DAY EQU 0BAH
RT_MONTH EQU 0BCH
;
BLK_NEWCNT EQU 0BEH ; 1 bytes blink new led counter
;
TOTAL_DOUT EQU 0C0H ; total # of redial stored
DOUT_RECORD EQU 0C2H ; redial record table (10 bytes 10 records)
DOUT_CKSUM EQU 0D6H ; redial record data checksum
;
CMP_BUF EQU 0D8H ; repeat compare buffer (14 bytes)
CMP_STATUS EQU 0D9H
REPT_BUF EQU 0F4H ; repeat call buffer
;
;***************************
; Dial constant declaration
;***************************
BUFFERSIZE EQU 32 ; dial buffer size = 32 digits
MEMBUF_LEN EQU 20 ; memory buffer length = 20 digits
INTPUL_TIME EQU 8*100/20 ; 800ms inter-digit pulse time @20ms
PREDIG_TIME EQU 800/20 ; 800ms pre-digit pause @20ms
PUL_TIME EQU 100/20 ; 1 digit pulse time = 100ms @20ms
PAU_TIME EQU 3000/20-1 ; 3s pause time @20ms ; 3.6
INTTN_TIME EQU 200/20 ; 200ms inter-digit tone time @20ms
;
;********************
;Keycode declaration
;********************
STAR_DIG EQU 11 ; * / P->T digit
PALM_DIG EQU 12 ; #
PAUSE_DIG EQU 13 ; pause
;
KEY_STAR EQU 11 ; "*"
KEY_PALM EQU 12 ; "#"
KEY_REPA EQU 13 ; RE/PA
KEY_PROG EQU 14 ; Program
KEY_TALK EQU 15 ; TALK/FLASH
KEY_FLASH EQU 15
KEY_MEM EQU 16 ; MEM
KEY_DEL EQU 17 ; DELETE
KEY_OFF EQU 18 ; OFF
KEY_DOWN EQU 19 ; CID review down
KEY_UP EQU 20 ; CID review up
KEY_MUTE EQU 21
KEY_CHAN EQU 22
KEY_M1 EQU 23
KEY_M2 EQU 24
KEY_M3 EQU 25
KEY_CLEAR EQU 26 ; DELETE all
KEY_NULL EQU 0
;
;********************************
; RX data width range declaration
;********************************
;--------
; @210us
;--------
BIT1MAX EQU 4 ; tolerance = 33.3%
BIT1NOM EQU 0DDH ; bit1 (nominal:3) = 450us
BIT1MIN EQU 2 ; bit1 (max) = 600us, (min) = 300us
;
BIT0MAX EQU 7 ; tolerance = 16.7%
BIT0NOM EQU 0DAH ; bit0 (nominal:6) = 900us
BIT0MIN EQU 5 ; bit0 (max) = 1050us, (min) = 750us
;
SYNCMAX EQU 14 ; tolerance = 16.7% tolerance
SYNCNOM EQU 0AAH ; sync (nominal:12) = 1800us
SYNCMIN EQU 10 ; sync (max) = 2100us, (min) = 1500us
;
;***********************************
; Timer 0 (TC0) constant (4.000MHz)
;***********************************
; tone table
; based on 250KHz reference, value to be loaded in TREF0
TN0500 EQU 249 ; 500
TN1250 EQU 99 ; 1250
TN1600 EQU 74 ; 1667
TN2000 EQU 59 ; 2083
;
;***********************************
; Timer 1 (TC1) constant (4.000MHz)
;***********************************
TMR_150US EQU 36 ; 148 us int. interval
TMR_210US EQU 51 ; 208 us int. interval
;
;*************************
; Timer 1A (TC1A) constant
;*************************
TMR_1MS EQU 54 ; 1 ms int. interval ;62
TMR_45MS EQU 44/2 ; 45ms timer reload value
;
;***********************************
; Idle mode timer 1A (TC1A) constant
;***********************************
TMR_100MS EQU 174 ; 50ms int. interval ;204
TMR_1100MS EQU 1100/50 ; 1100ms timer value
TMR_1500MS EQU 1500/50 ; 1500ms timer value
;TMR_1700MS EQU 1700/50 ; 1700ms timer value
;TMR_1700MS EQU 54 ; 1700/31.3
TMR_1700MS EQU 52 ;1700/32.768
;
;************************************
; Transmit timing & parameter setting
;************************************
TALKON_TOC EQU 7 ; "talk on" count = 7 times
TX_TIMESLOT EQU 2 ; tx packet timeslot (45ms x 2=90ms)
CHGSEC_TOC EQU 15 ; change sec. code timeout = 1.35s (fix bug #15)
TXFRAME_DLY EQU 66 ; send frame delay gap
ACK_TOC EQU 2 ;
TX_SETTLE EQU 120/2 ; tx power settle time = 120ms (150)
PLL_SETTLE EQU 30/2 ; pll settle time = 30ms
;
;*******************
; Other contstant
;*******************
MAX_40CHAN EQU 40 ; max. channel number (40 ch. option)
ND_CHK_TIME EQU 15 ; ND check loop time
END_OF_PAGE EQU 0FH ; end of page tone pattern
DEFAULT_CH EQU 1 ; default channel
CHCODE_CH EQU 21 ; change security code channel
;
;************************
; H/S -> B/U code table
;************************
CMD_CODE EQU 60H ; command format
TALKONT EQU 61H
TALKONP EQU 6CH
TALKOFF EQU 62H
CHGCHAN EQU 63H
HS_CONNECT EQU 64H
FLASH_CMD EQU 65H
;
DIAL_CODE EQU 40H ; dial code = 4xH
PAUSE_CODE EQU 4DH
;
TLK_CHCODE EQU 00H ; talk link channel code = 0xH
;CHG_CHCODE EQU 20H ; channel change code = 2xH (chg_ch + ch #)
CHG_CHCODE EQU 00H ; channel change code = 00xxxxxxB ( chg # )
;
CHGSEC_ACK EQU 10100000B ; change security ACK
CHGSEC_CFM EQU 00100010B ; change security confirm (B/U -> H/S)
;
;************************
; B/U -> H/S code table
;************************
;---------------
; header = (011)
;---------------
RINGON EQU 66H
RINGOFF EQU 67H
PAGE_CMD EQU 68H
PAGEOFF EQU 69H
OUTRNG_CMD EQU 6AH
BS_CONNECT EQU 6BH
BS_CID EQU 6CH ; base send FSK caller id command
BS_DTMF EQU 6DH ; base send DTMF caller id command
RINGSTOP EQU 6EH
DTMFREQ EQU 6FH ; DTMF request command
;
;---------------
; header = (000)
;---------------
ACK_FORMAT EQU 00H ; ack code format (000)
CH_STATE EQU 00H ; send ch. scan result to h/s (0000SSSS) [00H-0FH]
ACK EQU 10H ; ack. if 1st h/s command is rcvd
TLK_CHACK EQU 1FH ; send if ch. no. is rcvd (talk request)
ACK_PULSE EQU ACK+0CH ; ack code with pulse status
ACK_TONE EQU ACK+05 ; ack code with tone status
ACK_FLASH EQU ACK+02H ; flash ack code
;---------------
; header = (001)
;---------------
CHACK_FORMAT EQU 20H
;CHANGE_SEC EQU 20H ; send to h/s if charge detect (001CCCCC) [20H-39H]
CHG_CHACK EQU 3FH ; send if ch. no. is rcvd (change channel)
;
;---------------
; header = (10X)
;---------------
CHGSEC_FRMT EQU 80H ; change security format
CHANGE_SEC EQU 80H ; change security command (10CCCCCC) [10000001 - 10101000]
;
;*******************************************************************
; H/S CID Constant define area
;*******************************************************************
;
;------------------------------------
; CID message type / parameter type
;------------------------------------
SDMF EQU 04H ; single data message format
MDMF EQU 80H ; multiple data message format
SMW EQU 06H ; single message waiting (VMWI)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -