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

📄 2802d510.src

📁 用三星的MCU写的CID电话机源程序
💻 SRC
📖 第 1 页 / 共 5 页
字号:
;              CPSE   EA,WX
;              JP     AWARD3
;              JP     P_SPK                  ;SPK
AWARD3        LD     WX,#04H
              CPSE   EA,WX
              JP     AWARD4
              JP     P_CONF                 ;CONF
AWARD4        LD     WX,#05H
              CPSE   EA,WX
              JPS    AWARD5
              JP     P_MUTE                 ;MUTE
AWARD5        LD     WX,#06H
              CPSE   EA,WX
              JPS    AWARD7
              JP     P_HOLD                 ;HOLD
AWARD7        LD     WX,#08H
              CPSE   EA,WX
              JPS    AWARD8
              JP     P_STORE                ;STORE
AWARD8        LD     WX,#0AH
              CPSE   EA,WX
              JPS    AWARD9
              JP     P_VOL                  ;VOL
AWARD9        LD     WX,#39H
              CPSE   EA,WX
              JPS    AWARD10
              JP     P_UP                   ;UP
AWARD10       LD     WX,#3AH
              CPSE   EA,WX
              JPS    AWARD11
              JP     P_DOWN                 ;DOWN

AWARD11       LD     WX,#23H
              CPSE   EA,WX
              JPS    AWARD12
              call   auto_hfo
              btst   no_line_fg
              JP     P_M1 
              bitr   no_line_fg
              ret                           ;M1
AWARD12       LD     WX,#24H
              CPSE   EA,WX
              JPS    AWARD13
              call   auto_hfo
              btst   no_line_fg
              JP     P_M2                   ;M2
              bitr   no_line_fg
              ret               

AWARD13       LD     WX,#25H
              CPSE   EA,WX
              JPS    AWARD14
              call   auto_hfo
              btst   no_line_fg
              JP     P_M3                   ;M3
              bitr   no_line_fg
              ret               

AWARD14       LD     WX,#26H
              CPSE   EA,WX
              JPS    AWARD15
              call   auto_hfo 
              btst   no_line_fg
              JP     P_M4                   ;M4 
              bitr   no_line_fg
              ret               
AWARD15       LD     WX,#27H
              CPSE   EA,WX
              JPS    AWARD16
              call   auto_hfo 
              btst   no_line_fg
              JP     P_M5                   ;M5 
              bitr   no_line_fg
              ret               
AWARD16       LD     WX,#28H
              CPSE   EA,WX
              JPS    AWARD17
              call   auto_hfo 
              btst   no_line_fg
              JP     P_M6                   ;M6
              bitr   no_line_fg
              ret               
AWARD17       LD     WX,#29H
              CPSE   EA,WX
              JPS    AWARD18
              call   auto_hfo 
              btst   no_line_fg
              JP     P_M7                   ;M7 
              bitr   no_line_fg
              ret               
AWARD18       LD     WX,#2AH
              CPSE   EA,WX
              JPS    AWARD19
              call   auto_hfo 
              btst   no_line_fg
              JP     P_M8                   ;M8 
              bitr   no_line_fg
              ret               
AWARD19       LD     WX,#31H
              CPSE   EA,WX
              JPS    AWARD20
              call   auto_hfo 
              btst   no_line_fg
              JP     P_M9                   ;M9
              bitr   no_line_fg
              ret               
AWARD20       LD     WX,#32H
              CPSE   EA,WX
              JPS    AWARD21
              call   auto_hfo 
              btst   no_line_fg
              JP     P_M10                  ;M10        
              bitr   no_line_fg
              ret               
AWARD21       LD     WX,#33H
              CPSE   EA,WX
              JPS    AWARD22
              call   auto_hfo 
              btst   no_line_fg
              JP     P_M11                  ;M11      
              bitr   no_line_fg
              ret               
AWARD22       LD     WX,#34H
              CPSE   EA,WX
              JPS    AWARD23
              call   auto_hfo 
              btst   no_line_fg
              JP     P_M12                  ;M12       
              bitr   no_line_fg
              ret               

AWARD23       LD     WX,#35H
              CPSE   EA,WX
              JPS    AWARD24
              call   auto_hfo 
              btst   no_line_fg
              JP     P_M13                  ;M13           
              bitr   no_line_fg
              ret               
AWARD24       LD     WX,#36H
              CPSE   EA,WX
              JPS    AWARD25
              call   auto_hfo 
              btst   no_line_fg
              JP     P_M14                  ;M14        
              bitr   no_line_fg
              ret               
AWARD25       LD     WX,#37H
              CPSE   EA,WX
              JPS    AWARD26
              call   auto_hfo 
              btst   no_line_fg
              JP     P_M15                  ;M15         
              bitr   no_line_fg
              ret               
AWARD26       LD     WX,#38H
              CPSE   EA,WX
              RET
              call   auto_hfo 
              btst   no_line_fg
              JP     P_MSG                  ;MSG   
              bitr   no_line_fg
              ret

;================STATES==SCAN==SUBROUTINE======================================================
STATE_SCAN
                  DI

                  LD     EA,#08H
                  LD     PUMOD1,EA         ;SET P1 P2 P3 P4 P5 PULL-UP RESISTOR
                  LD     EA,#00000001B
                  LD     PMG1,EA           ;SET P2.0 TO OUTPUT MODE
                  LD     A,#0H
                  LD     P2,A
                  LD     P3,A  
                  LD     PUMOD2,A          ;RESET P9,P8,P7,P6 PULL_UP RESISTOR
                  ;LD     EA,#0FH
                  ;LD     PMG3,EA

                  BITS   P2.0
                  BITS   RING1_FG
                  call   time0
                                             
                  BTST   P1.1
                  BITR   RING1_FG          ;LINE1 RING1 DET
                  LD     EA,#00000010B
                  LD     PMG1,EA           ;SET P2.1 TO OUTPUT MODE
                  BITS   P2.1
                  BITS   HOLD1_FG
                  call   time0
                                          
                  BTST   P1.1
                  BITR   HOLD1_FG          ;LINE1 HOLD1 DET
                  LD     EA,#00000100B
                  LD     PMG1,EA          ;SET P2.2 TO OUTPUT MODE
                  BITS   P2.2
                  BITS   INUSE1_FG
                  CALL   TIME0
                  BTST   P1.1
                  BITR   INUSE1_FG         ;LINE1 INUSE1 DET
                  LD     EA,#00001000B
                  LD     PMG1,EA           ;SET P3.0 TO OUTPUT MODE
                  BITS   P2.3
                  BITS   RING2_FG
                  call   time0
                                            
                  BTST   P1.1
                  BITR   RING2_FG          ;LINE2 RING2 DET
                  LD     EA,#00100000B
                  LD     PMG1,EA           ;SET P3.1 TO OUTPUT MODE
                  BITS   P3.1
                  BITS   HOLD2_FG
                  call   time0
                                                  
                  BTST   P1.1
                  BITR   HOLD2_FG          ;LINE2 HOLD2 DET
                  LD     EA,#01000000B
                  LD     PMG1,EA           ;SET P3.2 TO OUTPUT MODE
                  BITS   P3.2
                  BITS   INUSE2_FG 
                  CALL   TIME0
                  BTST   P1.1
                  BITR   INUSE2_FG          ;LINE2 INUSE2 DET
                  LD     EA,#0FeH
                  LD     PMG1,EA
                  ld     ea,#0ffh
                  ld     pmg2,ea
                  ld     ea,#0feh
                  LD     PUMOD1,EA
                  ld     a,#0eh
                  LD     PUMOD2,A
                  BITR   IRQ2
                  EI
                  RET
;====================HANDSET==FUNICATION====================================================
INT0:              
                  PUSH   HL
                  PUSH   WX
                  PUSH   YZ
                  PUSH   EA
                  PUSH   SB

                  btst   p1.0               ;the next 5line is add by qpj
                  jps    l_fuck_cgx

		  btst    hfo               ;debug add  26/6 night
		  bitr    rly2
l_fuck_cgx:

                  btst   p1.0             ;test hook 
                  jps    another_cp       ;off hook status
                  btsf   last_p1
                  jps    reture_aa

run_continue      bitr   p_buff
                  bitr   last_p1
                  di
                  btsf   p1.0
                  bits   p_buff
                  ei
                  btsf   p_buff
                  bits   last_p1

                  LD     EA,#0FFH
                  LD     PMG2,EA
                  BITS   RMUTE
                  
;                  BITR   LINE2ADD
;                  BTSF   HOLD2_FG          ;fuck chen guo xian add !
;                  BITS   LINE2ADD

                  
                  ;BTST   LINE1_BIT
                  CALL   STATE_SCAN
                  BTST   INUSE_1            ;
                  JPS    EIN_AWARD2         ;
                  BITR   INUSE_1            ;
                  BTST   HOLD1_FG           ;
                  JPS    EIN_AWARD1         ;
                  BITS   INUSE_1            ;
EIN_AWARD1        BTST   INUSE1_FG          ;
                  JPS    EIN_AWARD2         ;
                  BITS   INUSE_1            ;
EIN_AWARD2        BTST   INUSE_2            ;
                  JPS    EIN_AWARD4         ;
                  BITR   INUSE_2            ;
                  BTST   HOLD2_FG           ;
                  JPS    EIN_AWARD33
                  ;JPS    EIN_AWARD4         ;
                  BITS   INUSE_2            ;
                  JPS    EIN_AWARD3         ;
EIN_AWARD33       BTST   LINE2ADD
                  JPS    EIN_AWARD3
                  BITR   LINE2ADD
                  JPS    EIN_AWARD4
EIN_AWARD3        BTST   INUSE2_FG          ;
                  JPS    EIN_AWARD4         ; 
                  BITS   INUSE_2            ;
EIN_AWARD4        BTST   INUSE_1
                  JPS    TEST_C1
                  SCF
                  JPS    TEST_C
TEST_C1           RCF
                  BTST   INUSE_2
                  JPS    TEST_C3
                  SCF                       ;C---0(CLEAR)
                  JPS    TEST_C
TEST_C3           RCF
                                             ;HOLD1 OR INUSE1=INUSE_1
                                             ;HOLD2 OR INUSE2=INUSE_2
TEST_C            bitr   off_hook_fg
                  BTST   C                   ;INUSE_1 OR INUSE_2=C
                  JPS    ON_HOOK             ; ON_HOOK STATE
                  bits   off_hook_fg
                  JPS    OFF_HOOK            ; OFF_HOOK STATE
another_cp:
;                 btst    fuck_chen_gx           ;7/5 add qpj
;                 jps     fuck_chen_guoxian
;		 bitr    fuck_chen_gx
;		 jps     run_continue
;fuck_chen_guoxian:
                  btst   last_p1
                  jps    reture_aa
                  bitr   last_p1
                  jps    run_continue
;-------------------------------------------------------------------------
ON_HOOK           
                  bitr   irq0                 
                  btsf    p_buff               ;BTSF   P1.0
                  jps     reture_0             ;JPS    RETURE_0a
int_debun         call   state_scan
                  BTSF   RING1_FG
                  JPS    cont_l1a  
                  ;BTSF   RING2_FG
                  ;JPS    cont_l2a
                  call   p9_mode              
                  ld     a,#8h
                  ld     pumod2,a
                  call   ave_vol_sub

                  btsf   inuse2_fg
                  jps    on_hook_add1
                  btsf   inuse1_fg
                  jps    on_hook_add1
                  jps    go_line1
                  
on_hook_add1      ;call   p6_mode
                  btst   inuse1_fg
                  jps    go_line1
                  bits   dp
                  bits   rly1
                  bits   inuse_1
                  jps    reture_0
on_hook_add2      btsf   sel_line_fg
                  jps    on_hook_add5
                  call   p6_mode
                  bitr   rly1
                  bits   rly2
                  bits   dp
                  call   time300
                  call   time300
                  call   state_scan
                  btst   inuse2_fg
                  jps    on_hook_add4
                  bits   inuse_2
                  jps    reture_0
on_hook_add5      bitr   sel_line_fg
                  jps    go_line1

on_hook_add4      bitr   rly2
                  bits   rly1

⌨️ 快捷键说明

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