发表于:2005-05-06 09:49:00
楼主
我在单片机上和手机模块进行通信,不知道怎么搞的一直连不上,例如:我用单片机拨号13113266839,使用指令ATD13113266839;回车,这些在计算机的超级终端上没有什么问题,但是用51发ASICC吗,却没有反应,请高手指点。
如下程序:ORG 0050H
MAIN:MOV 98H,#50H;设置成串口1方式
MOV 89H,#20H;波特率发生器T1工作在模式2上
MOV 8DH,#0FDH;预置初值(按照波特率9600BPS预置初值)
MOV 8BH,#0FDH;预置初值(按照波特率9600BPS预置初值)
SETB 8EH;启动定时器T1
;以上完成通讯初始化设置
MOV 80H,#12H
CLR 97H
SETB 90H
WRIT:JB 90H,$;判断K1是否按下,如果没有按下就等待
ACALL DELAY10;延时10毫秒消触点抖动
JB 90H,WRIT;去除干扰信号
JNB 90H,$;等待按键松开
CLR 99H ;指令ATD
MOV A,#41H
MOV 99H,A
JNB 99H,$;如果TI为0说明发送没有完成,程序等待
CLR 99H
MOV A,#54H
MOV 99H,A
JNB 99H,$;如果TI为0说明发送没有完成,程序等待
CLR 99H
MOV A,#44H
MOV 99H,A
JNB 99H,$
CLR 99H
MOV A,#31H;手机号13113266839
MOV 99H,A
JNB 99H,$
CLR 99H
MOV A,#33H
MOV 99H,A
JNB 99H,$
CLR 99H
MOV A,#31H
MOV 99H,A
JNB 99H,$
CLR 99H
MOV A,#31H
MOV 99H,A
JNB 99H,$
CLR 99H
MOV A,#33H
MOV 99H,A
JNB 99H,$
CLR 99H
MOV A,#32H
MOV 99H,A
JNB 99H,$
CLR 99H
MOV A,#36H
MOV 99H,A
JNB 99H,$
CLR 99H
MOV A,#36H
MOV 99H,A
JNB 99H,$
CLR 99H
MOV A,#38H
MOV 99H,A
JNB 99H,$
CLR 99H
MOV A,#33H
MOV 99H,A
JNB 99H,$
CLR 99H
MOV A,#39H
MOV 99H,A
JNB 99H,$
CLR 99H
MOV A,#3BH
MOV 99H,A
JNB 99H,$
CLR 99H
MOV A,#0DH
MOV 99H,A
JNB 99H,$
MOV 80H,#35H;指示灯
SJMP $
;10毫秒延时子程序
DELAY10:MOV R4,#20
D2:MOV R5,#248
DJNZ R5,$
DJNZ R4,D2
RET
END