延时50毫秒mov r6,#04h;拨打四位电话号码,予置初值。mov dptr,#7ff8h;地址指针指向r0mov a,#31h;r0按始发方式、fsk模式设置。 但禁止发送。movx @dptr,aloop:mov dptr,#7ffbh ;地址指针指向trmov a,#0fhadd a,r6;取出电话号码movc a,@a+pcmovx @dptr,a;设置trmov dptr,#7ff8h;地址指针指向r0mov a,#33h;允许发送movx @dptr,aacall dly3;延时250毫秒mov a,#31h;停止发送movx @dptr,aacall dly3;延时250毫秒djnz r6,loop;拨号未完,再拨出一个号码db 95h,96h,9ah,92h ;tr设置及电话号码dta:mov dptr,#7ffah;地址指针指向drmovx a,@dptr;监视drjnb acc.2,dta;检测应答音mov dptr,#7ff9h;地址指针指向r1mov a,#04hmovx @dptr,a;复位modemsetb p1.7;释放j1ret 在
我用的是153s,只有1k的otp-rom。应该不会有这样的问题吧。看程序 dly1 ==0x13 dly2 ==0x14 dly3 ==0x15 dly4 ==0x16 org 0ah;......................................... dalay: ;延时2ms*dly3=10ms mov a,@5 mov dly3,a mov a,@25 mov dly2,ain2: mov a,@133 mov dly1,a in1: djz dly1 jmp in1 djz dly2 jmp in2 djz dly3 jmp dalay djz dly4 jmp dalay ret eop 一点复位功能就出现上述提示。
程序来了dalay: ;延时2ms*dly3=10ms mov a,@5 mov dly3,a mov a,@25 mov dly2,ain2: mov a,@5 mov dly1,a in1: djz dly1 jmp in1 djz dly2 jmp in2 djz dly3 jmp dalay djz dly4 jmp dalay ret单布执行到djnz dly2,就跳到别的地方去了。本来in1减到0,就应该到djnz dly2, 可是它条到别的地方去了。