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

📄 2802d510.src

📁 用三星的MCU写的CID电话机源程序
💻 SRC
📖 第 1 页 / 共 5 页
字号:
                  bits   inuse_1
                  jps    reture_0
on_hook_add3      bitr   rly2
                  bitr   inuse_2
                  bits   dp
                  bits   rly1
                  bits   inuse_1
                  jps    reture_0

GO_LINE1
                  call   p6_mode                 
                  bitr   rly2
                  bits   rly_2
                  call   time20
                  bitr   rly_2
                  bits   rly1              
                  BITS   DP
                  btsf   sel_line_fg
                  call   time300
                  call   time300
                  call   time20
                  call   time20
                  call   time20
                  bitr   sel_line_fg
                  CALL   STATE_SCAN
                  call   p6_mode
                  BTSF   INUSE1_FG
                  JPS    CONT_L1                 
                  BITR   RLY1
                  bits   rly_1
                  call   time20
                  bitr   rly_1
                  ;bits   rly2   
                  ;JPS    ON_LINE2
                  jps     reture_0

cont_l1a          call   p6_mode
                  bitr   rly2
                  bits   rly1
                  bits   dp
                  BITS   INUSE_1
                  call   ave_vol_sub
                  btsf   inuse2_fg
                  jps    reture_0                 
                  bits   rly_2
                  call   time20
                  bitr   rly_2                 
                  jps    reture_0

CONT_L1           call   p6_mode                  
                  bitr   rly2
                  bits   rly1
                  bits   dp
                  BITS   INUSE_1
                  jps    reture_0
                  
RETURE_0:
;                 btst   off_hook_fg           ;jul /2  qpj skip it


		;/// qpj debug add  jul/02 / 2002
		  btsf   p1.0
		  jps    L_onhook_status
		  ;// off hook
		  btst   HOLD2_FG
		  jps    L_onhook_status            ;L2 not hold exit
		  ;// line2 hold
		  btsf   HOLD1_FG
		  jps    L_onhook_status          ;L1 hold exit
                  bits   rly1
                  bits   dp
                  BITS   INUSE_1         ;on line1
                  bits   INUSE1_FG
                  bits   off_hook_fg
;		  jps    L_onhook_status
		  		  
L_onhook_status:
		;//// qpj debug add  jul/02 / 2002
                  nop                     ;bitr   irq0
                  EI
                  BITR   LINE1_BIT
                  LD     A,#0H
                  LD     KEY_COUNT,A
                  LD     A,#0001B
                  LD     IMOD2,A           ;KS4-KS7(P7) FALLING EDGE SELECT
                  LD     EA,#0FH
                  LD     PMG3,EA           ;P7 INPUT MODE /P6 0UTPUT MODE
                  LD     A,#0FH
                  LD     PUMOD2,A          ;ENABLE P7 P6 P8 P9 PULL-UP RESISTORS
                  LD     EA,#0F8H
                  LD     PUMOD1,EA         ;ENABLE P2 P3 P4 P5 PULL-UP RESISTORS
                                           ;DISABLE P1 PULL_UP RESISTOR 
                  LD     EA,#0FFH
                  LD     PMG1,EA           ;ENABLE P2,P3 TO OUTPUT MODE
                  LD     PMG2,EA           ;ENABLE P4,P5 TO OUTPUT MODE
                  LD     EA,#01111111B
                  LD     PMG4,EA           ;ENABLE P8,P9 TO OUTPUT MODE
                  LD     A,#0H
                  LD     P2,A              ;P2,P3, OUTPUT LOW LEAVE
                  LD     P3,A
                  LD     P8,A              ;P8 OUTUP LOW LEAVE
                  call   onhook_scan
                  POP    SB
                  POP    EA
                  POP    YZ
                  POP    WX
                  POP    HL
                  bitr   irq4
                  bits   ie4
                  IRET
reture_aa         
                  POP    SB
                  POP    EA
                  POP    YZ
                  POP    WX
                  POP    HL
                  bitr   irq4
                  bits   ie4
                  IRET
 
ON_LINE2          call   time300                               
                  CALL   STATE_SCAN
                  btsf   inuse2_fg
                  jps    cont_l2
                  call   time300
                  call   state_scan
                  BTSF   INUSE2_FG
                  JPS    CONT_L2
                  bitr   rly2
                  bitr   dp
                  jps    reture_0
cont_l2a          call   p6_mode
                  bitr   rly1
                  bits   rly2
                  bits   dp
                  BITS   INUSE_2
                  call   ave_vol_sub
                  btsf   inuse1_fg
                  jps    RETURE_0
                  bits   rly_1
                  call   time20
                  bitr   rly_1                 
                  jps    RETURE_0

CONT_L2           call   p6_mode 
                  bitr   rly1
                  bits   rly2
                  bits   dp
                  BITS   INUSE_2
                  JPS    RETURE_0
;-------------------------------------------------------------------------
OFF_HOOK:         BTSF   INUSE_1       ;   fuck !
                  JPS    AWARD_0
                  BTSF   INUSE_2        ;HOLD2_FG
                  JPS    AWARD_1
                  BTSF   HFO_FG
                  JPS    AWARD_2
AWARD_E           DI
                  BTST   P1.0
                  JPS    RETURE_0
                  bitr   rly2
                  BITR   INUSE_2
                  BITR   DP
                  JPS    RETURE_0
AWARD_1           DI
                  BTSF   P1.0
                  JPS    RETURE_0
                  
                  ;///               qpj add
                  btst   inuse_2
                  jps    L_fuck1     ;is not line2 use exit
                  btst   hfo         ;test is line2 in HFO ?
                  jps    L_fuck1     ;is not in line2 HFO exit
		   call		ave_vol_sub      ;;;;;
                  
                  bitr	 hfo
                  bitr	 hfo_fg

;		  bits   INUSE2_FG
;		  bitr   inuse_1
;		  bitr   inuse1_fg
		  bitr    hold2_fg

		  bits    LINE2ADD
;		  bits    fuck_chen_gx
		  	
                  JPS    RETURE_0
                  
L_fuck1:
                  ;///               qpj add
        
        	 btsf   hold2_fg
        	 jps    reture_0                  ;qpj debug  add  jun/29
                  
                  bits   rly1              
                  BITS   DP
                  call   time300
                  call   time300
                  CALL   STATE_SCAN
                  call   p6_mode
                  BTSt   INUSE1_FG
                  jps    reture_0
                  bits   rly1
                  bits   dp
                  bits   inuse_1
                  call   ave_vol_sub
                  JPS    RETURE_0 
AWARD_2           DI
                  BTSF   P1.0
                  JPS    vol_change1124_00
                  call   ave_vol_sub
                  BITR   HFO
                  BITR   HFO_FG
                  JPS    RETURE_0
AWARD_0           BTSF   INUSE_2
                  JPS    AWARD_3
                  BTSF   HOLD1_FG
                  JPS    AWARD_4
                  BTSF   HFO_FG
                  JPS    AWARD_2
AWARD_G        
                  DI
                  BTST   P_buff
                  JPS    award_gadd
                  bitr   rly1
                  BITR   INUSE_1
                  BITR   DP

                  JPS    RETURE_0
award_gadd        bitr   rly1
                  bitr   inuse_1
                  bitr   dp
                 ; bits   rly2
                 ; bits   dp
                 ; bits   inuse_2
                  jps    reture_0
AWARD_4: ;         DI
;                  BTSF   P1.0
                  JPS    RETURE_0
                  
                  ;// qpj debug add jun/29
;                  ei
;                  iret
                  
                  call   ave_vol_sub
                  BITS   DP
                  BITS   RLY1
                  BITS   INUSE_1
                  BITR    RLY2
                  BITS   RLY_2
                  BITR   HOLD1_FG
                  CALL   TIME20
                  BITR   RLY_2
                  JPS    RETURE_0

AWARD_3:          BTST   HOLD1_FG
                  JPS    AWARD_5
                  BTST   HOLD2_FG
                  JPS    AWARD_6
;                  DI
;                  btsf    p1.0
                  JPS    RETURE_0
                  
		;//// qpj debug add jun/29
;		   ei 
;		   iret          ;qpj debug add jun/29

                  BITS   DP
                  BITS   RLY1
                  ;BITS   RLY2
                  ;bits   conf
                  call   time20
                  ;bitr   conf
                  BITS   INUSE_1
                  ;BITS   INUSE_2
                  bitr   hfo
                  bitr   hfo_fg
                  call   ave_vol_sub
                  JPS    RETURE_0

AWARD_6           BTST   HFO_FG
                  JPS    AWARD_0201a
                  DI
                  BTSF   P1.0
                  JPS    vol_change1124_00
                  JPS    AWARD_2
AWARD_0201a       DI
                  BTST   P1.0
                  JPS    award_0201b
                  bitr   rly2
                  BITR   INUSE_2
                  BITR   DP
                  JPS    RETURE_0
AWARD_0201b      
                  bits   rly1
                  bits   inuse_1
                  JPS    RETURE_0

AWARD_5           BTST   HFO_FG
                  JPS    AWARD_F
                  BTST   HOLD2_FG
                  JPS    AWARD_7
                  DI
                  BTSF   P1.0
                  JPS    vol_change1124_00
                  JPS    AWARD_2
vol_change1124_00 
                  call   max_vol_sub
                  jps    RETURE_0

AWARD_7           DI
                  BTSt   P1.0
                  ;JPS    RETURE_0
                  JPS    AWARD_2
                  jps    vol_change1124_00

AWARD_F           call   ave_vol_sub
                  BTSF   HOLD2_FG
                  JPS    AWARD_G
                  CALL   TIME300
                  DI
                  BTSF   P1.0
                  JPS    AWARD_H
                  JPS    RETURE_0
AWARD_H           BITR    RLY2
                  BITr   RLY1
                  BITR   INUSE_1
                  BITR   INUSE_2
                  BITR   DP
                  JPS    RETURE_0

;===================ONHOOK==STATE==SCAN==================================
ONHOOK_SCAN       
                  BTST   INUSE_1
                  JPS    TEST_C4
                  SCF
                  JPS    TEST_C7
TEST_C4           RCF
                  BTST   INUSE_2
                  JPS    TEST_C6
                  SCF                       ;C---0(CLEAR)
                  JPS    TEST_C7
TEST_C6           RCF
                                             ;HOLD1 OR INUSE1=INUSE_1
                                             ;HOLD2 OR INUSE2=INUSE_2
TEST_C7           BTST   C                   ;INUSE_1 OR INUSE_2=C
                  JPS    AWARDHOOK
                  BITS   ONHOOK_STATE
                  RET
AWARDHOOK         BITR   ONHOOK_STATE
                  RET
;====================DIALER===SUBROUTINE====================================
adjust_num        ;ld     ea,#5fh
                  ;ld     in_point,ea
                  call    store_tone
                  call    time300
                  call    store_tone
                  ret
DIALER:
                  BTST    DP
                  RET 
                  
                  call    p6_mode

                  BTSF    STORE_FG
                  RET
                  LD      EA,#01H
                  BTST    MEMORY_FG
                  LD      I_DIALCOUNT,EA
                  BITS    MEMORY_FG
                  LD      EA,I_DIALCOUN

⌨️ 快捷键说明

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