本帖最后由 q13003765457 于 2014-5-19 12:33 编辑
把下面程序中的“这里,红色的”一行改成 延时720微妙,程序就正常了,想不通啊,发送完毕后T1应该变高的啊,为什么不变高?大神看看
ORG 0000H
LJMP MAIN
MAIN: MOV SP, #70H
LCALL COMRE
mov 10h,#65 ;A
mov 11h,#84 ;T
mov 12h,#43 ;+
mov 13h,#80 ;P
mov 14h,#79 ;I
mov 15h,#73 ;O
mov 16h,#55 ;7
mov 17h,#13 ;回车
mov 18h,#10 ;换行
mov r0,#10h
LCALL yan
loop: mov a,@r0
mov sbuf,a
这里 jnb t1,$
clr t1
inc r0
cjne r0,#19h, loop
sjmp $
COMRE: MOV SCON, #50h; //串口工作在方式1.
MOV PCON, #00h; //SMOD=0
MOV TMOD, #20h; //定时器1当做波特率发生器.
MOV TH1, #0fdh; //初值, 9600 @ 11.0592MHz
MOV TL1, #0fdh;
SETB TR1
SETB REN
RET
yan: mov r7,#10
del1: mov r6,#120
del2: mov r5,#248
djnz r5, $
djnz r6, del2
djnz r7, del1
ret
end |