说明 : 单片机的 P0.0-P0.3 分别接入 8880 的 D0-D3; 单片机的 P0.4-P0.7 分别接 8880 的 RS0\CS\R/W\Ø2.( 其中 Ø2 是由时钟和 P0.7 共同控制的 )
 ORG 0000H
 AJMP MAIN
 :
 :
;********************
;* 8880 初始化 *
;********************
MAIN: MOV A, #90H
 MOV P0, A ; 写 8880CRA
 MOV P0, A ; 写 8880CRA
 MOV A, #98H
 MOV P0, A ; 写 8880CRA
 MOV A, #90H
 MOV P0, A ; 写 8880CRB
 MOV A, #94H
 MOV P0, A ; 写 8880CRA,8880 模式 1 为DTMF,IRQ
 :
 :
;****************
;* 接收程序 *
;****************
 MOV R1, #0
 MOV R0, #10H
LOOP1: MOV A, #0FFH
 MOV P0, A
 SETB P0.7
 SETB P0.4
 CLR P0.5
 SETB P0.6
 MOV A, P0 ; 读 8880 状态寄存器
 JNB ACC.2, LOOP1
 CLR P0.4
 MOV A, P0 ; 读 8880 接收数据寄存器
 ANL A, #0FH ; 屏蔽高四位
 MOV @R0, A
 INC R0
 INC R1
 CJNE R1, #07H, LOOP1
 :
 :
;****************
;* 发码程序 *
;****************
 MOV R0, #10H
 MOV R1, #7
 MOV A, #9DH ; 写 8880CRA
 MOV P0, A
 MOV A, #90H
 MOV P0, A ; 写 8880CRB,8880 模式 2 为 TONE,DTMF,IRQ,BURST
LOOP2: MOV A, @R0
 ORL A, #0F0H
 ANL A, #8FH
 MOV P0, A ; 发送数据
 MOV A, #0FFH
 MOV P0, A
 SETB P0.7
 SETB P0.4
 CLR P0.5
 SETB P0.6
LOOP3: MOV A, P0 ; 读 8880 状态寄存器
 JNB ACC.1, LOOP3
 INC R0
 DJNZ R1, LOOP2
 :
 :
Note: 以上程序未经调试 , 请注意CS状态 .MT8880 的资料请参阅DTMF信号发送/接收电路芯片(
MT8880的收发程序(8051系列)
说明 : 单片机的 P0.0-P0.3 分别接入 8880 的 D0-D3; 单片机的 P0.4-P0.7 分别接 8880 的 RS0\CS\R/W\Ø2.( 其中 Ø2 是由时钟和 P0.7 共同控制的 )
 ORG 0000H
 AJMP MAIN
 :
 :
;********************
;* 8880 初始化 *
;********************
MAIN: MOV A, #90H
 MOV P0, A ; 写 8880CRA
 MOV P0, A ; 写 8880CRA
 MOV A, #98H
 MOV P0, A ; 写 8880CRA
 MOV A, #90H
 MOV P0, A ; 写 8880CRB
 MOV A, #94H
 MOV P0, A ; 写 8880CRA,8880 模式 1 为DTMF,IRQ
 :
 :
;****************
;* 接收程序 *
;****************
 MOV R1, #0
 MOV R0, #10H
LOOP1: MOV A, #0FFH
 MOV P0, A
 SETB P0.7
 SETB P0.4
 CLR P0.5
 SETB P0.6
 MOV A, P0 ; 读 8880 状态寄存器
 JNB ACC.2, LOOP1
 CLR P0.4
 MOV A, P0 ; 读 8880 接收数据寄存器
 ANL A, #0FH ; 屏蔽高四位
 MOV @R0, A
 INC R0
 INC R1
 CJNE R1, #07H, LOOP1
 :
 :
;****************
;* 发码程序 *
;****************
 MOV R0, #10H
 MOV R1, #7
 MOV A, #9DH ; 写 8880CRA
 MOV P0, A
 MOV A, #90H
 MOV P0, A ; 写 8880CRB,8880 模式 2 为 TONE,DTMF,IRQ,BURST
LOOP2: MOV A, @R0
 ORL A, #0F0H
 ANL A, #8FH
 MOV P0, A ; 发送数据
 MOV A, #0FFH
 MOV P0, A
 SETB P0.7
 SETB P0.4
 CLR P0.5
 SETB P0.6
LOOP3: MOV A, P0 ; 读 8880 状态寄存器
 JNB ACC.1, LOOP3
 INC R0
 DJNZ R1, LOOP2
 :
 :