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

📄 ct0bu05.src

📁 用三星MCU实现的完整无绳电话程序,来自三星公司内部资料,供参考.
💻 SRC
📖 第 1 页 / 共 5 页
字号:
DTOUT           EQU     P4.3            ; 17 1=DTMF BURST, 0=NORMAL
;GLCTR           EQU     P5.0            ; 22 0=GROUP LISTEN ON, 1=OFF
DTMFSTD         EQU     P5.0            ; 22
TXPWR           EQU     P5.1            ; 23 1=TX PWR AMP. OFF, 0=TX PWR AMP. ON
LSEIZE          EQU     P5.2            ; 24
;SPKM            EQU     P5.3            ; 25 1=SPEAKER MUTE, 0=UNMUTE (BEEP TONE)
KEYIN           EQU     P6.0            ; 26
RNGSW           EQU     P6.1            ; 27 1=RINGER ON, 0=RINGER OFF
;LEDP2           EQU     P6.2            ; 28 1=IU-LED OFF, 0=IU-LED ON (OPEN) 1
LEDP1           EQU     P6.3            ; 29 1=CH-LED OFF, 0=CH-LED ON (CHARGE/IN-USE LED) 2
;DSPDATA         EQU     P7.2            ; 32 DATA FROM DTAM CONTROLLER
;INTCTR          EQU     P7.3            ; 33 1=INTERCOM ON, 0=INTERCOM OFF
DTMFQ0          EQU     P7.0            ; 30
DTMFQ1          EQU     P7.1            ; 31
DTMFQ2          EQU     P7.2            ; 32
DTMFQ3          EQU     P7.3            ; 33
PLLEN           EQU     P8.0            ; 18 COMBO CHIP ENABLE
PLLDATA         EQU     P8.1            ; 19 COMBO CHIP DATA
PLLCLK          EQU     P8.2            ; 20 COMBO CHIP CLOCK
EPCLK           EQU     P8.2            ; 20 EEPROM CLOCK
RSSIN           EQU     P8.3            ; 21 1=LOW FIELD, 0=STRONG FIELD
;DSPCLK          EQU     P9.0            ; 35 CLOCK FROM DTAM CONTROLLER
;TADANS          EQU     P9.1            ; 36 1=DTAM ANSWERING, 0=DTAM STANDBY
;HSRMT           EQU     P9.2            ; 37 0=HANDSET REMOTE, 1=NOT IN REMOTE
;VDD                                       5
;VSS                                       6
;XOUT                                      7
;XIN                                       8
;TEST                                      9
;RESET                                    12
;DTMF                                     34

; RAM BANK 0 ALLOCATION =======================================================
EA0             EQU     00H             ; REGISTER BANK 0 EA
HL0             EQU     02H             ; REGISTER BANK 0 HL
WX0             EQU     04H             ; REGISTER BANK 0 WX
YZ0             EQU     06H             ; REGISTER BANK 0 YZ
EA1             EQU     08H             ; REGISTER BANK 1 EA
HL1             EQU     0AH             ; REGISTER BANK 1 HL
WX1             EQU     0CH             ; REGISTER BANK 1 WX
YZ1             EQU     0EH             ; REGISTER BANK 1 YZ
FLAG1           EQU     10H
F_RXDATA        EQU     FLAG1.0
F_RXLEVEL       EQU     FLAG1.1
F_RXSYNC        EQU     FLAG1.2
F_DATARX        EQU     FLAG1.3         ; 1=IDs MATCHED DATA PACKET RECEIVED
FLAG2           EQU     11H
F_TXMODE        EQU     FLAG2.0         ; 1=TRANSMITTING DATA PACKET
F_START1        EQU     FLAG2.1
F_TXSTART       EQU     FLAG2.2
F_TXSYNC        EQU     FLAG2.3
FLAG3           EQU     12H
F_TX1END        EQU     FLAG3.0
F_TX2END        EQU     FLAG3.1
F_TXIDNOW       EQU     FLAG3.2
F_TXREP         EQU     FLAG3.3         ; 1=TRANSMIT DATA PACKET REPEATEDLY
FLAG4           EQU     13H
F_ENDTX         EQU     FLAG4.0         ; 1=DATA PACKET TRANSMISSION FINISHED
F_STIME         EQU     FLAG4.1         ; 1=2ms INTERVAL
F_TKMODE        EQU     FLAG4.2         ; 1=NOW IN TALK MODE
F_BKMUTE        EQU     FLAG4.3         ; 1=MUTE COMPANDER AS SOON AS POSSIBLE
FLAG5           EQU     14H
F_RXRF          EQU     FLAG5.0
F_RINGOLD       EQU     FLAG5.1
F_LBCHK         EQU     FLAG5.2         ; 1=CHECK BATTERY STATUS
F_CDCHK         EQU     FLAG5.3         ; 1=CHECK CARRIER STATUS
FLAG6           EQU     15H
F_TXRF          EQU     FLAG6.0
F_RXMUTE        EQU     FLAG6.1         ; 1=RX MUTE
F_TXMUTE        EQU     FLAG6.2         ; 1=TX MUTE
F_AF            EQU     FLAG6.3
FLAG15          EQU     16H
F_DIALYET       EQU     FLAG15.0
F_SEQNO         EQU     FLAG15.1
F_GETDTMF       EQU     FLAG15.2        ; 1=READY TO GET DTMF, 0=WAIT OVER FOR CURRENT DTMF
F_CARRIER       EQU     FLAG15.3
FLAG7           EQU     17H
F_RELMUTE       EQU     FLAG7.0         ; 1=DO MUTE RELEASE WHEN TIMER VANISHED
F_KYSN          EQU     FLAG7.1         ; 1=ENTER CHECK KEY ROUTINE
F_RINGON        EQU     FLAG7.2         ; 1=GENERATING RING OUTPUT
F_TONEON        EQU     FLAG7.3         ; 1=GENERATING TONE OUTPUT
FLAG8           EQU     18H
F_TONEHZ        EQU     FLAG8.0
F_EEPSTS        EQU     FLAG8.1         ; EEPROM STATUS FLAG 1=SUCCESS, 0=FAILURE
F_PULSEXC       EQU     FLAG8.2         ; 1=DOING PULSE DIALLING
F_TONEEXC       EQU     FLAG8.3         ; 1=DOING DTMF DIALLING
STMR            EQU     19H
RXDBUF          EQU     1AH             ; RECEIVE PACKET BUFFER
T_MUTE          EQU     20H             ; MUTE RELEASE TIMER
TX_PTR          EQU     22H             ; TRANSMIT PACKET BIT POINTER
TX_CNT          EQU     23H             ; NO. OF PACKET TO BE TRANSMITTED
RX_PTR          EQU     24H
TX_CMD          EQU     26H             ; COMMAND TO BE TRANSMITTED
RX_LATCH        EQU     28H             ; COMMAND RECEIVED
T_LOFIELD       EQU     2AH             ; LOW FIELD TIMER
CID_L           EQU     2CH             ; COMMON I.D. LOW
CID_H           EQU     2EH             ; COMMON I.D. HIGH
UID1_L          EQU     30H             ; UNIQUE I.D. LOW
UID1_H          EQU     32H             ; UNIQUE I.D. HIGH
UID2_L          EQU     34H             ; HANDSET 2 UNIQUE I.D.
UID2_H          EQU     36H
UID3_L          EQU     38H             ; HANDSET 3 UNIQUE I.D.
UID3_H          EQU     3AH
TID_L           EQU     3CH             ; CURRENT TRANSMIT DATA I.D.
TID_H           EQU     3EH
; =============
TBUF_L          EQU     40H                   ; TX DATA BUFFER USED IN TX ISR ROUTINE
TBUF_L1         EQU     41H                   ;
TBUF_H          EQU     42H                   ; TX DATA BUFFER USED IN TX ISR ROUTINE
TBUF_H1         EQU     43H                   ;
; =============
T1S             EQU     44H
FLAG9           EQU     45H
F_TONMODE       EQU     FLAG9.0         ; 1=DTMF SIGNALLING, 0=PULSE SIGNALLING
F_FLASHING      EQU     FLAG9.1         ; 1=DOING TIME-LINE-BREAK
F_TX1PKT        EQU     FLAG9.2         ; USED IN TEST MODE ONLY !
F_NOTXSYNC      EQU     FLAG9.3         ; 1=DISABLE SYNC BIT WHEN TRANSMITTING DATA
;######
;DTAM_BUFFER     EQU     46H             ; DTAM SERIAL DATA TEMP BUFFER (4 NIBBLES), SHARED
;######
EEP_BUFFER      EQU     46H             ; EEPROM BUFFER (ASSUME: BANK 0), SHARED
T_PAUDIG        EQU     4AH             ; PAUSE DIGIT TIMER
T_CIDDTMF       EQU     4AH             ; MUX WITH T_PAUDIG TIMER, DTMF CID TIMEOUT <<< MARCO 001019 >>>
T_LINE          EQU     4CH             ; SHARED WITH TEST MODE
T_TX1PKT        EQU     4CH             ; USED IN TEST MODE ONLY ! (SAME AS T_LINE)
;######
;BIT_COUNT       EQU     4EH             ; USED IN DTAM SERIAL DATA POLLING, SHARED
;BYTE_COUNT      EQU     4FH             ; USED IN DTAM SERIAL DATA POLLING, SHARED
;######
;CDTHRES         EQU     4EH             ; USED IN TEST MODE ONLY ! SHARED
;######
;T_POLLDTAM      EQU     50H             ; USED IN DTAM SERIAL DATA POLLING, SHARED
;######
T_WAITING       EQU     50H             ; USED IN TEST MODE ONLY ! SHARED
TESTMDNO        EQU     52H             ; USED IN TEST MODE ONLY ! SHARED VARIABLE
END_DPTR        EQU     52H             ; END DIAL POINTER
NUMPULSE        EQU     54H             ; NUMBER OF PULSE TO BE DIAL
DIGIT2DIAL      EQU     55H             ; USED IN TEST MODE ONLY !
T_EPTO          EQU     56H             ; USED IN EEPROM WRITE ROUTINE ONLY
FLAG10          EQU     57H
F_PFLASH        EQU     FLAG10.0
F_CH_S_DIS      EQU     FLAG10.1
F_CHANHOLD      EQU     FLAG10.2
F_RGDET         EQU     FLAG10.3
FHINDEX         EQU     58H
FH_CNT          EQU     5AH
T_CHSCAN        EQU     5CH
T_CHANHOLD      EQU     5EH
RG_PAUTM        EQU     60H
FLAG11          EQU     62H
;F_KEYEN         EQU     FLAG11.0
F_PGLATCH       EQU     FLAG11.0
F_PAGINGB       EQU     FLAG11.1
F_SNSTAGE       EQU     FLAG11.2
F_HOLDNOW       EQU     FLAG11.3
LASTVCH         EQU     63H
T_MAKCNT        EQU     64H             ; MAKE/BREAK TIMER
KSEQ            EQU     66H             ; 0=READY FOR NEXT KEY SCAN
CURR_DTMF       EQU     67H             ; CURRENT DIALLING DTMF CODE
;CHGCNT          EQU     67H
CHAN_NUM        EQU     68H             ; CHANNEL NO. (0 ~ 9) MARCO 001124
TNFREQ          EQU     69H             ; RING FREQUENCY NO.
T_TNPERIOD      EQU     6AH             ; TONE PERIOD TIMER
TN_PTR          EQU     6CH             ; TONE POINTER
T_IDMUTE        EQU     6EH             ; I.D. MUTE RELEASE TIMER
RTIMER          EQU     70H
T_FINDCH        EQU     72H
T_HOLDTMR       EQU     74H
T_TRANSRING     EQU     76H
PERCNT          EQU     78H
FLAG12          EQU     79H
F_TRANSFER      EQU     FLAG12.0
F_COMMUHS1      EQU     FLAG12.1
F_COMMUHS2      EQU     FLAG12.2        ; SHARED!
F_COMMUHS3      EQU     FLAG12.3        ; SHARED!
F_KEYWAIT       EQU     FLAG12.2        ; SHARED!
F_HOLDDOWN      EQU     FLAG12.3        ; SHARED!
T_FREEL         EQU     7AH
T_FREEH         EQU     7CH
T_IDIGPAU       EQU     7EH             ; INTERDIGIT PAUSE TIMER
;T_GTTMR         EQU     80H
;T_GTHANG        EQU     82H
;GTPERIOD        EQU     84H
FLAG13          EQU     85H

F_HTONEON       EQU     FLAG13.1
F_HTNSTAGE      EQU     FLAG13.2
F_WAITFLAG      EQU     FLAG13.3
T_LKCNT         EQU     86H
T_REGIST        EQU     88H
OLDHS_NO        EQU     8AH             ; MSB=TRANSFER TARGET, LSB=TRANSFER SOURCE
CHAN0           EQU     8BH
CHAN1           EQU     8CH
CHAN2           EQU     8DH
CHAN3           EQU     8EH
CHAN4           EQU     8FH
T_KEYWAIT       EQU     90H             ; USED IN TEST MODE ONLY! SHARED
T_PAGECNT       EQU     90H             ; USED IN STANDBY MODE ONLY! SHARED
T_CHAGCH	EQU	90H
FLAG14          EQU     92H
F_ICMMODE       EQU     FLAG14.0
;F_DTAMODE       EQU     FLAG14.1
F_LOADMSG       EQU     FLAG14.2
F_TXMSG         EQU     FLAG14.3
T8MS            EQU     93H
; =========
T6MS            EQU     94H
T32MS           EQU     95H
T100MS          EQU     96H
; =========
CID_PTR         EQU     98H                   ; CID DATA POINTER FOR TX DATA TO HANDSET
CID_PTR1        EQU     99H                   ;
T_CIDTMR        EQU     9AH             ; 2 NIBBLE, 8ms TIMER
T_CID1STRG      EQU     9CH             ; 2 NIBBLE, TIMER FOR PRELIMINARY RING
FLAG16          EQU     9EH
F_RINGING       EQU     FLAG16.0
F_PRERING       EQU     FLAG16.1        ; FLAG FOR PRELIMINARY RING
F_CIDOK         EQU     FLAG16.2        ; CID RECEIVED AND READY FOR TRANSMIT
F_CIDCAP        EQU     FLAG16.3        ; CID CAPTURE DONE
FLAG17          EQU     9FH
F_TXIDNOW_OLD   EQU     FLAG17.0
F_CASRECV       EQU     FLAG17.1        ; 1=CAS TONE RECEIVED
;F_GRPLON        EQU     FLAG17.2        ; BACKUP OF GROUP LISTENING STATUS, 1=GROUP LISTENING ON

T_HSATTN        EQU     0A0H            ; 2 NIBBLE, TIMER FOR TX HS_ATTN CMD
;LAST_CHAN       EQU     0A2H            ; 1 NIBBLE, STORE LAST CHANNEL NUMBER
SAVEDIG		EQU	0A2H		; 1 NIBBLE

; RAM BANK 1 ALLOCATION =======================================================
DIAL_BUF                EQU     00      ; DIAL BUFFER
I2C_BUFFER              EQU     20H     ; 6 NIBBLE
TMPCIDBYTECNT           EQU     27H     ; <<< MARCO TESTING 001111 >>>
; CID TX BUFFER STORAGE #######################################################
CID_PHONE_IN    EQU     28H             ; CID phone info area (20 digits + 14H)

CID_HOUR        EQU     3CH             ; CID time info area
CID_MONTH       EQU     3DH
CID_DATE        EQU     3EH
CID_MSB         EQU     3FH
CID_MINUTE      EQU     40H
CID_STATUS      EQU     41H
;##############################################################################
CID_CHKSUM      EQU     42H
CID_CHKSUM1     EQU     43H
;##############################################################################
CID_NAME_IN     EQU     44H             ; CID name info area (16 characters, + 20H)
;
CID_NAME_LAST   EQU     63H
;END OF CID STORAGE ###########################################################

CID_MSB_HOURB                   EQU     CID_MSB.3
CID_MSB_DATEB                   EQU     CID_MSB.0

CID_SUCCESS                     EQU     CID_STATUS.0
CID_NUMBER_RCV                  EQU     CID_STATUS.1
CID_NOTIFY                      EQU     CID_STATUS.2
CID_ACT_DEACT                   EQU     CID_STATUS.3

;------------------------------------------------------------------------------
; <<< MARCO 001022 redefine location >>>
CID_RCVREG      EQU     70H             ;5EH+2 ; CID receive register
CID_RCVREG1     EQU     71H             ;5FH+2

CID_DATE_R      EQU     CID_RCVREG.0
CID_NUM_R       EQU     CID_RCVREG.1
CID_NAME_R      EQU     CID_RCVREG.2    ; <<< enable by MARCO 001022 >>>
CID_CAUSE_R     EQU     CID_RCVREG.3
CID_NOTIFY_R    EQU     CID_RCVREG1.0
CID_INCON       EQU     CID_RCVREG1.1
CID_PRIVATE     EQU     CID_RCVREG1.2
;               EQU     CID_RCVREG1.3

;;============================================================================
CUR_CID_STATE           EQU     0B0H    ; CID receive state
CID_RCV_STATE           EQU     0B2H    ; CID FSK data reception state
SMMR_COUNT              EQU     0B6H    ; CID SMMR COUNT
CID_CHECKSUM            EQU     0B8H    ; CID Checksum
;CID_STATUS              EQU     0BAH    ;
CID_ERRLIST             EQU     0BCH
CID_TOTALEN             EQU     0BEH
CID_STATUS_FLAG         EQU     0C0H    ; CID status
CID_STATUS_FLAG1        EQU     0C1H    ;
CID_FSKDATA             EQU     0C8H    ; temp for FSK received data
CID_PARAMTYPE           EQU     0CAH    ; parameter type
CID_PARAMLENGTH         EQU     0CCH    ; parameter length
CID_INFO_PTR            EQU     0CEH    ; CID date buffer ptr
CID_MONTH_AREA          EQU     0D0H    ; CID month area
CID_MONTH_AREA_H        EQU     0D1H    ;
CID_DATE_AREA           EQU     0D2H    ; CID date area
CID_DATE_AREA_H         EQU     0D3H    ;
CID_HOUR_AREA           EQU     0D4H    ; CID hour area
CID_HOUR_AREA_H         EQU     0D5H    ;
CID_MINUTE_AREA         EQU     0D6H    ; CID minute area

⌨️ 快捷键说明

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