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

📄 tf9925h.src

📁 2.4GH 无绳电话源代码(三星MCU), 8825 P
💻 SRC
📖 第 1 页 / 共 5 页
字号:
;*************************************************************************
;  *
; Application       : USA 900MHz Cordless Phone Base Unit Using KB8825   *
; Model No.         : CT9925                                             *
; Client            : *
; Control software  : Handset Control Software                           *
; Microcontroller   : KS57C21516, 16KROM, 544nibbles RAM @4MHz (KS57C72F5)          *
; Modified from     : VA268H.SRC - 7739H                                 *
; Start date        : 01/Feb/2002                                        *
;  Date: 2002-02-01              *
;*************************************************************************
;------------
; Debug Note
;------------
;02/01
;1. redefine PIN assignment
;02/24
;1. add M1,M2,M3 direct memory routine
;02/25
;1. modify dial out/CID review routine
;02/26
;1. modify program routine
;2. modify display drive routine
;02/27
;1. modify display prompt
;2. modify time setting routine
;03/20
;1. rewrite display routine
;03/26
;1. fix bug of calc. display and icon display buffer address
;03/31
;1. invert tx data logic
;04/04
;1. fix the bug of new led for init. input pin in eeprom routine
;04/08
;1. invert ring volume control
;05/17
;1. keep buzzer out HiZ after stop page
;2. only ringcome to init. ring volume
;3. fix bug of redial buffer empty
;06/05
; add power down detect

;****************************************************************************
	.list off
        .include "c:\skstudio\include\reg\57C21516.REG"
        .list off

;*********
;BANK0
;*********
REGA0           EQU     00H
REGE0           EQU     01H
REGL0           EQU     02H
REGH0           EQU     03H
REGX0           EQU     04H
REGW0           EQU     05H
REGZ0           EQU     06H
REGY0           EQU     07H
;
REGEA1          EQU     08H
REGHL1          EQU     0AH
REGWX1          EQU     0CH
REGYZ1          EQU     0EH
;
REGEA2          EQU     10H
REGHL2          EQU     12H
REGWX2          EQU     14H
REGYZ2          EQU     16H
;
REGEA3          EQU     18H
REGHL3          EQU     1AH
REGWX3          EQU     1CH
REGYZ3          EQU     1EH
;
;***************************************************************************
;BANK0
;***************************************************************************
KEYHOLD_CNT     EQU     20H
RX_BUFF         EQU     22H
TX_BUFF         EQU     24H
;
STSFG1          EQU     26H             ; status flag
LOWBAT_STB	EQU	0		; set if low battery at standby
ON_LBAT		EQU	1		; set if on batt. low icon
STDBY_EN        EQU     2               ; set to reflash lcd for ring stop
TESTMD_EN       EQU     3               ; set if in test mode 
;
STSFG1H         EQU     27H
DOT_BLINK       EQU     0               ; enable to blink LCD cursor
REFRESH         EQU     1               ; refresh LCD cursor character
DMX_EN          EQU     2               ; enable direct memory
;
RING_FLAG       EQU     28H             ; ring flag
RING_ON         EQU     3               ; ring on period
;
TEST_FLAG       EQU     29H
LONG_KEY	EQU	0		; press & hold key flag
TEST_FG1	EQU	1		; test flag
LBAT_EN		EQU	2		; enable batt. low adjust in test mode
RSSI_EN		EQU	3		; enable RSSI adjust in test mode
;
TMP_CHBUF       EQU     2AH             ; Temp channel buffer
RING_CNT        EQU     2CH             ; auto seize timer
DSPON_CNT       EQU     2EH             ; if type II, hold on display timer
;
LSEIZE_CNT      EQU     30H             ; timer for prevent to talk off
T100MS_BUF	EQU	32H		; 100ms timer buffer
LOOP_CNT	EQU	34H		; loop timer
BCKLED_CNT	EQU	36H		; back LED second counter
T1S_BUF		EQU	38H		; 1 sec. timer buffer
T10MS_BUF       EQU     39H             ; 10ms timer buffer
TMP_BUF         EQU     3AH             ; 20ms timer buffer
BLK_DOTCNT      EQU     3BH             ; LCD dot blink counter
BLK_TKTIME	EQU	3CH		; TALK led blink time buffer
BLK_TKCNT	EQU	3EH		; TALK led blink counter
;BLK_BLTIME      EQU     40H             ; BATTLOW led blink time buffer
;BLK_BLCNT       EQU     42H             ; BATTLOW led blink counter
;
TIMERFG         EQU     40H             ; timer flag
T2MS		EQU	0		; set for every 2ms
KYSCN_EN	EQU	1		; enable keyscan for every 20ms
BLK_TKLED	EQU	2		; set if blink talk led
BLK_MUTLED      EQU     2               ; set if blink low battery led
BLK_TKICN       EQU     3               ; set if blink "TALK" icon
TIMERFGH        EQU     41H
BCKLED_EN	EQU	0		; set if back LED is turned on
LPTMR_EN	EQU	1		; set if loop timer is enabled
;
;***********************
; FLAG declaration
;***********************
FLAG1           EQU     42H
F_CPUMP         EQU     0               ; PLL CHARGE PUMP FLAG, 1=800uA, 0=400uA
F_TXMUTE        EQU     1               ; PLL TX MUTE FLAG, 1=MUTE
F_RXMUTE        EQU     2               ; PLL RX MUTE FLAG, 1=MUTE
F_TXRF          EQU     3               ; PLL TX RF FLAG, 0=TX ON
FLAG1H          EQU     43H
F_RXRF          EQU     0               ; PLL RX RF FLAG, 0=RX ON
F_REFOSC        EQU     1               ; PLL REF. OSC. FLAG, 0=REF. ON
F_AF            EQU     2               ; PLL AUDIO FLAG, 0=AUDIO ON
F_BATT          EQU     3               ; PLL BATT DETECTOR FLAG, 1=BS
;
MUTSTA          EQU     44H
MUT_FLG		EQU	0
;
DTMFEND_TMR     EQU     45H             ; @100ms
;
TIME_FLAG       EQU     46H             ; time control flag
RINGBLK         EQU     1               ; set if ring on blink
TIMER2FG        EQU     2               ; set if timer1 is underflow
T20MS           EQU     3               ; 20ms timer flag
TIME_FLAGH      EQU     47H
T10MS           EQU     0               ; 10ms timer flag
KEY_WAKEUP      EQU     1               ; set if key press is detected
MEM1FG          EQU     2               ; ring on/off switch status
REDIAL          EQU     3               ; set if redial action is activated
;
COMBO_FG        EQU     48H             ; control flag
MUTE_REQ        EQU     0               ; set if combo muting is requested
MUTED           EQU     1               ; set if combo has been muted
SLEEP           EQU     2               ; set if sleep period
POWER_SAVE      EQU     3               ; set if starting power save cycle
COMBO_FGH       EQU     49H
BATTLOW         EQU     0               ; set if battery low
MUTED_TX        EQU     1               ; set if combo tx has been muted
EXTEND          EQU     2               ; set if extend rx power on time
RX_WAKEUP       EQU     3               ; set if rx power is wakeup
;
RXFG            EQU     4AH             ; rx status flag
RXD_STATE       EQU     0               ; store the rx data state
;FIRST_LOW      EQU     1               ; 1st low occured flag
SYNC            EQU     2               ; set if valid sync bit is detected
PREAMBLE        EQU     3               ; set if valid preamble is detected
RXFGH           EQU     4BH
DATA_RCVD       EQU     0               ; set if 16 bit ID + 8 bit data rcvd.
TALKOF_ACK      EQU     1               ; set if wait for talkoff ACK
;
TXFG            EQU     4CH             ; tx data flag
S_PREAMBLE      EQU     0               ; set if send preamble bits
TXEN            EQU     1               ; set if enable transmit data
RETRY           EQU     2               ; set if resend data is requested
TX_DISABLE      EQU     3               ; set if send cmd. is disabled
TXFGH           EQU     4DH
NO_TONE         EQU     0               ; set if no error tone after sending
S_DUMMY		EQU	1		; set if sending dummy stop bits
TX_CONT		EQU	2		; set if send code continously
TX_START        EQU     3               ; start sending tx data
;
MODEFG          EQU     4EH             ; operation mode flag
TALK_MODE       EQU     0               ; set if talk on mode (on line mode)
CHGCH_MODE      EQU     1               ; set if change channel mode
CHGSEC          EQU     2               ; set if change security code
F_TONESOFT      EQU     3               ; set - tone mode, clr. - pulse mode
MODEFGH         EQU     4FH
F_TONEMODE      EQU     0               ; B/U tone/pulse switch status
;MEM_PROG        EQU     1               ; set if memory key is 1st time pressed
;MEM_LOC         EQU     2               ; set if memory key is 2nd time pressed
MEM_DIAL        EQU     3               ; set if speed dial is activated
;
LINKFG          EQU     50H             ; link flag
LINKREQ         EQU     0               ; link up connect is requested
WAIT_CHSTS      EQU     1               ; wait for B/U channel status
WAIT_CHACK      EQU     2               ; wait for B/U channel acknowledge
CONNECT_REQ     EQU     3               ; set if connect request
LINKFGH         EQU     51H
STDBY_SCAN      EQU     0               ; set if scan channel in standby mode
;
CHK_FLAG        EQU     52H
KEY_VALID       EQU     0               ; valid keypress is found
BUZZER_ON       EQU     1               ; set if generate beep tone
KEY_HOLD        EQU     2               ; set if last key is still hold
RINGCOME        EQU     3               ; set if ring on command is rcvd
CHK_FLAGH       EQU     53H
PAGING          EQU     0               ; set if paging tone is generated
ONCRADLE        EQU     1               ; set if H/S is put on cradle
CRADLE_STS      EQU     2               ; cradle status
CH_KEY          EQU     3               ; set if channel key is pressed
;
;***********************
; RAM declaration
;***********************
;
CT_SEC          EQU     54H             ; call timer second counter
CT_MIN          EQU     56H             ; call timer minute counter
PULSE_CNT       EQU     58H             ; dial pulse number
TIMER1          EQU     5AH             ; 1ms timer register
RETRY_CNT       EQU     5CH             ; resend data counter
;
TX_TIMER2       EQU     5EH             ; retramsmit slot timer
SCAN_TBL        EQU     60H             ; channel scan result table
SCAN_CHBUF      EQU     62H             ; temp scan channel buffer
T20MS_BUF       EQU     64H             ; 20ms timer buffer
KEYBUF          EQU     66H             ; keycode buffer
TONE_CYCLE      EQU     68H             ; tone cycle buffer
TONE_TIME       EQU     6AH             ; tone time counter
TONE_PTR        EQU     6CH             ; tone pointer
;
DIAL_TIMER      EQU     6EH             ; delay timer ( @20ms )
PAGE_CNT        EQU     70H             ; page tone cycle count
PAGE_PTR        EQU     72H             ; page tone pulse pointer
PAGE_PULSE      EQU     74H             ; page tone pulse count
KEYCODE_BUF     EQU     76H             ; digit key value buffer
LED_CNT         EQU     78H             ; led blink count
DEBOUN_CNT      EQU     7AH             ; on/off cradle debounce counter
LOWBAT_LO       EQU     7CH             ; low battery low count
;
LOWBAT_HI       EQU     7EH             ; low battery high count
MUTE_CNT        EQU     80H             ; mute count
CONNECT_CH      EQU     82H             ; connect channel number buffer
SCAN_TIMER      EQU     84H             ; scan channel timer
SCAN_STS        EQU     86H             ; scan channel status table
SCAN_CNT        EQU     88H             ; scan RSSI channel count
PAGE_TIMER      EQU     89H             ; page timer
SECLOW_REG      EQU     8AH             ; security code low byte register
SECHIGH_REG     EQU     8CH             ; security code low byte register
;
;************************************
; Warm boot flag & ram declaration
;************************************
DIAL_FG         EQU     8EH             ; dial flag
DIAL_OVER       EQU     0               ; set if wdial_ptr override rdial_ptr
BUFFERFULL      EQU     1               ; set if dial buffer is full
DIALLING        EQU     2               ; set if dialling digit
FIRSTKEY        EQU     3               ; set if 1st digit key is pressed
DIAL_FGH        EQU     8FH
RING_LO         EQU     0               ; set if ringer off
RING_HI         EQU     1               ; set if ringer Hi
DOUT_MODE       EQU     2               ; set if dial out mode
ON_MAILBOX      EQU     3               ; set if message waiting activation
;
VOL_BUF         EQU     90H             ; volume level buffer
;
RDIAL_PTR       EQU     92H             ; read dial buffer pointer
WDIAL_PTR       EQU     94H             ; write dial buffer pointer
;
SECODEL         EQU     96H             ; secode code low byte buffer
SECODEH         EQU     98H             ; secode code high byte buffer
TXCODE_BUF      EQU     9AH             ; tx code buffer
CURCH           EQU     9CH             ; last channel buffer
;
MAGIC_CODE      EQU     9EH             ; warm start check code
;
;---------------------------
REDIAL_BUF      EQU     0A0H            ; 0A2H - 0C1H (32 nibble bytes)
;-----------------------------------------------------------------------
STACK_BUF       EQU     0C0H            ; 0D0H - 0FFH (32 bytes stack)
;
;***************************************************************************
;BANK1
;***************************************************************************
PROG_PTR	EQU    	00H		; memory program pointer
DEVICE_ADR      EQU     02H             ; AT24C16's high 3 bits address
EPWORD_ADR      EQU     04H             ; AT24C16's low byte address
EPDATA_BUF      EQU     06H             ; R/W EEPROM data buffer         
WRPAGE_CNT      EQU     06H             ; address offset for EEPROM Page Write mode
RWCID_LEN       EQU     08H             ; R/W EEPROM data byte counter
MSGLEN_CNT      EQU     08H             ; MDMF message length counter
TOTAL_LEN       EQU     0AH             ; CID data total message length count
VIEW_TIMER      EQU     0CH             ; view message timer
DISP_TIMER      EQU     0EH             ; display timer
;
VIEW_NUM        EQU     10H             ; view CID number
TEMP_BUF        EQU     12H             ; tempory parameter buffer
;
;***********************
; CID ram declaration
;***********************
;--------------------------------
; Handset decoding routine flag
;--------------------------------
PAR_FLAG1       EQU     14H             ; parameter type flag 1
DATE_TIME	EQU	0		; set if date/time has been decoded
CLID_NUM	EQU	1		; set if calling number
DDN_NUM		EQU	2		; set if DDN (Dialable Directory #)
NUM_ABS		EQU  	3		; set if number absence
;
ABS_FLAG        EQU     15H             ; absence reason flag
NAME_ABS_P	EQU	0		; set if name absence is "P"
NAME_ABS_O	EQU	1		; set if name absence is "O"
NUM_ABS_P	EQU	2		; set if number absence is "P"
NUM_ABS_O	EQU	3		; set if number absence is "O"
;
CIDDATA_FG      EQU     16H             ; CID data flag
DTMF_START      EQU     0               ; set if DTMF start code
SINGLE_M	EQU	0		; set if decoding SDMF
CID_ERROR       EQU     1               ; set if CID error
PAR_ERROR	EQU	2		; set if current parameter has error
MSG_WAIT	EQU	3		; set if message waiting on/off
;
MEM_FLAG        EQU     17H             ; indirect memory program / view flag
ENT_NUM		EQU	1		; set if entering number
ENT_LOC		EQU	2		; set if entering location
;
PROG_FLAG       EQU     18H             ; program operation
PROG_MODE       EQU     0               ; set if enter program mode
PROG_LAC        EQU     1               ; set if program local area code
SET_12HR        EQU     2               ; set if 12/24 hour format 
PROG_RNGER      EQU     3               ; set if program ringer
;
PROG_FLAGH      EQU     19H
SET_CLOCK       EQU     0               ; set if set real time
SET_KYTONE      EQU     1               ; set if program keytone on/off
PROG_LDC        EQU     2               ; set if program long distance code
SET_DATE        EQU     3               ; set if program date
;
VIEW_FLAG       EQU     1AH             ; viewing message flag
EEP_VIEW	EQU	0		; viewing CID or memo message
CID_VIEW        EQU     1               ; set if viewing CID record
REDIAL_VIEW     EQU     2               ; viewing dial out date & time message
END_OF_LIST     EQU     3               ; display end of list
;
VIEW_FLAGH      EQU     1BH
PAGE_2          EQU     0               ; set if viewing 2nd page
NEW_MSG         EQU     1               ; viewing a new call message
VIEWTMR_ON	EQU	2		; set if view timer is turned on
;LAC_RDY        EQU     3               ; set if CID match with local area code
PAGE_BRA        EQU     3               ; set if brazil format display
;
DISP_FLAG       EQU     1CH             ; display flag
NO_DATA         EQU     0               ; set if show no data
ERALL           EQU     1               ; set if erase all screen is shown
SWITCH_PAGE     EQU     2               ; set if it is time to switch 2nd page
DISP_CID_OVER   EQU     3               ; set if display CID message over.
;
DISP_FLAGH      EQU     1DH
UP_CALTMR	EQU	0		; set if enable call timer update
RST_CALTMR	EQU	1		; set if reset & display call timer after 10 sec.
OFF_TMRDSP	EQU	2		; set if on call timer display
ON_NUMDSP       EQU     3               ; set to display number from call timer
;
OPER_FG         EQU     1EH             ; operation flag
DIALBACK	EQU	0		; set if dial back function activated
DEL_MEM         EQU     1               ; set if delete single record
PREDIAL         EQU     2               ; set if predial mode
CID_TO_MEM      EQU     3               ; enable to store CID to indirect memory

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -