有人用过MT8880吗?
我正在做远程报警的东东,可是现在无法发出dtmf信号!我用p0口作4根控制线和4根数据线,只接了晶振和电源,其他和datasheet上的一样,单端输入,我只接电话机,但只能听见电源工作的噪音。请高手指点迷津!!软件程序如下:
cp bit p0.7
r_w bit p0.6
cs bit p0.5
rs bit p0.4
d3 bit p0.3
d2 bit p0.2
d1 bit p0.1
d0 bit p0.0
irq bit p2.1
red bit p1.0
red2 bit p1.1
zhaigua bit p2.0
sdat equ 08h
org 0000h
ajmp main
org 00300h
main: mov sp,#60h
clr red
clr zhaigua ;p1.0=0
mov r2,#20h
lcall delay
setb zhaigua
;start to write sra\srb
mov p0,#00011101b;cs=0;cp=0;r_w=0;rs0=1
acall cpw
mov p0,#00010000b;
acall cpw;tone dtmf irq burst
mov r0,#sdat
s: acall sent
jnb acc.1,s
mov r3,a
setb red ;p1.0=1,delay1s
mov r2,#30h
lcall delay
clr red ;p1.0=0
djnz r0,s
sjmp main
sent: mov a,r0
anl a,#0fh;cs=0,rs0=0,r_w=0,cp=0
mov p0,a
acall cpw
mov p0,#0ffh
mov a,#01011111b;r_w=1,cs=0,rs0=1,cp=0,
acall cpr;read sr
clr r_w
clr rs ;
ret
cpw: setb cp
nop
nop
nop
clr cp
nop
nop
ret
cpr: setb cp
nop
nop
nop
mov p0,a
mov a,p0;
anl a,#0fh
nop
nop
clr cp
ret
delay: push 02h
loop1: push 02h
loop2: push 02h
loop3: djnz r2,loop3
pop 02h
djnz r2,loop2
pop 02h
djnz r2,loop1
pop 02h
djnz r2,delay
ret
end
发表时间:2003年5月10日10:43:40