|
說明 : 單片機的 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 狀態(tài)寄存器 JNB ACC.2, LOOP1 CLR P0.4 MOV A, P0 ; 讀 8880 接收數(shù)據(jù)寄存器 ANL A, #0FH ; 屏蔽高四位 MOV @R0, A INC R0 INC R1 CJNE R1, #07H, LOOP1 : : ;**************** ;* 發(fā)碼程序 * ;**************** 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 ; 發(fā)送數(shù)據(jù) MOV A, #0FFH MOV P0, A SETB P0.7 SETB P0.4 CLR P0.5 SETB P0.6 LOOP3: MOV A, P0 ; 讀 8880 狀態(tài)寄存器 JNB ACC.1, LOOP3 INC R0 DJNZ R1, LOOP2 : : Note: 以上程序未經(jīng)調(diào)試 , 請注意 CS 狀態(tài) .MT8880 的資料請參閱 MT8880的收發(fā)程序(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 狀態(tài)寄存器 JNB ACC.2, LOOP1 CLR P0.4 MOV A, P0 ; 讀 8880 接收數(shù)據(jù)寄存器 ANL A, #0FH ; 屏蔽高四位 MOV @R0, A INC R0 INC R1 CJNE R1, #07H, LOOP1 : : ;**************** ;* 發(fā)碼程序 * ;**************** 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 ; 發(fā)送數(shù)據(jù) MOV A, #0FFH MOV P0, A SETB P0.7 SETB P0.4 CLR P0.5 SETB P0.6 LOOP3: MOV A, P0 ; 讀 8880 狀態(tài)寄存器 JNB ACC.1, LOOP3 INC R0 DJNZ R1, LOOP2 : : Note: 以上程序未經(jīng)調(diào)試 , 請注意 CS 狀態(tài) |