这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » ㄐ偶际?MT8880CE [求助]MT8880CE接收问题?

共2条 1/1 1 跳转至

ㄐ偶际?MT8880CE [求助]MT8880CE接收问题?

院士
2006-09-17 18:14:16     打赏
ㄐ偶际?MT8880CE [求助]MT8880CE接收问题?



关键词: ㄐ偶     MT8880CE     求助     接收     问题    

院士
2006-12-22 22:43:00     打赏
2楼
问 我是新手,大家帮我看看.使用AT89C51 24M晶振
MTport equ p1 ;p10~P17/RW,RS,@2,CS,D0~D3 ;MT8880CE
CS bit p1.3
a2 bit p1.2
org 0000h
ajmp main
org 0040h
main: mov sp,#58h
lcall delay1    ;100mS
lcall delay1
lcall delay1
lcall INI_MT8880CE

mov 10H,#6
mov 11H,#10
mov 12H,#5
lcall send_MT        ;发送OK了,可以打公司的分机
here: ;lcall rece_MT     ;收不到DTMF
ajmp here

INI_MT8880CE:
mov a,#07H   ;0111
mov MTport,a  ;读 XXXX
clr a2
mov a,#06H   ;0110
mov MTport,a  ;写CRA
clr a2
mov MTport,a
clr a2
mov a,#86H   ;1000 0110
mov MTport,a  ;使能CRB
clr a2
mov a,#06H   ;0000 0110
mov MTport,a  ;写CRB 0000
clr a2
mov a,#07H
mov MTport,a  ;读状态标志,清除标志位
clr a2
ret

send_MT:
MOV     R0,#10H   ;发送数据缓冲首地址
MOV     R1,#3
MOV     A,#96H             ; 写 8880CRA,使能B,DTMF
MOV     MTport,A
clr a2
MOV     A,#06H   ;BURST模式,允许双音频
MOV     MTport,A                ; 写 8880CRB,8880 模式 2 为 TONE,DTMF,BURST
clr a2
LOOP2: MOV     A,@R0
SWAP a   ;数据换到高位
ORL     A,#0FH   ;XXXX 1111 屏低4位,有1出1
ANL     A,#0F4H   ;XXXX 0100 有0出0  写发送寄存器
MOV     MTport,A                ; 发送数据
clr a2
; MOV     A,#0FFH
; MOV     MTport,A  ;输出1111 1111准备读状态字
LOOP3: mov MTport,#0F7H
clr a2
MOV     A,MTport                ; 读 8880 状态寄存器3
JNB     ACC.5,LOOP3
INC     R0
DJNZ    R1,LOOP2
ret
;=================================
;接收子程式
;dtmf模式,接收信号,不允许发送
;=================================
rece_MT:
mov r1,#0
MOV     R0,#10H   ;接收到数据缓冲首地址
mov MTport,#0c6H  ;out,DTMF,使能CRB
clr a2
mov MTport,#06H  ; BURST    普通双音频
clr a2
LOOP1: MOV     A,#0FFH
MOV     MTport,A  ;输出1111 1111,准备读取数据
mov MTport,#07H  ;准备读状态
clr a2
MOV     A,MTport             ; 读 8880 状态寄存器
JNB     ACC.6,LOOP1  ;判收满位,是否为1
mov     MTport,#0F5H  ;读收到的数据
clr a2
MOV     A,MTport             ; 读 8880 接收数据寄存器
ANL     A,#0F0H             ; 屏蔽低四位,非MT收到的数据
SWAP a   ;高位数据移到低位
MOV     @R0,A   ;收到后输出LCM显示
cpl p3.7


INC     R0
INC     R1
CJNE    R1,#07H,LOOP1  
ret
;****************************************
;DELAY子程式,使用到R6,R7,24M一机器周期0.5us,DJNZ 2周期
;延时时间约为R6*R7*2*0.5us=0.005秒
;****************************************
DELAY1:   ;24M时0.05秒
MOV R6,#200
DELAY2: MOV R7,#255
DJNZ R7,$
DJNZ R6,DELAY2
DELAY:   ;24M时0.005秒
MOV R6,#20
DELAY3: MOV R7,#248
DJNZ R7,$
DJNZ R6,DELAY3
RET
;=====================================
;0.2S
;
;=====================================
DELAY0:
lcall DELAY1
lcall DELAY1
lcall DELAY1
lcall DELAY1
ret
end

帮我看下接收时那里出错了,如有中文资料发一份中文的资料给我吖,我的EMAIL:lets3@163.com
1: [求助]MT8880初始化时序问题AVR控制谢谢!能否资料共享一下?qq286202869

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]