串口十个个数据只能显示一个?
串口十个个数据只能显示一个?我编了如下的串口程序,通讯正常,我的想法是把下列汇编程序加载在8051后,
51通过串口依次把10,9,8,。。。。1十个数传到上位机,用LV显示,可当我
加载之后,LV只显示了一个10,我的上位机程序在附件中,请各位看看!帮忙指
导一下:
ORG 0000H
MOV SCON,#50H ;设置成串口1方式
MOV PCON,#80H
MOV TMOD,#20H ;波特率发生器T1工作在模式2上
MOV TH1,#0FFH
MOV TL1,#0FFH
SETB TR1 ;启动定时器T1
;以上完成通讯初始化设置
MOV R3,10
WRIT:
CLR P1.0 ;标志灯灭
MOV A,R3 ;将16进制的字符64发送到串口
MOV SBUF,A ;将AF通过串口发送出去
L1:JNB TI,L1
CLR TI
DJNZ R3,WRIT;R3若减一不为零,回到WRIT
SETB P1.0;标志灯亮
AJMP $
END 波特率设置有点问题~如果晶振按照11.0592M算,初始值应该为0FDH
回复 #2 飞雨天 的帖子
对不起!我刚才敲错了,我在通讯时,设定的就是0FD,可是,我在汇编里面是依次发送10,9 ,8 ....1.为什么接到了第一次发的10后,就再也接不到了?请前辈指教!回复 #3 haobo324 的帖子
你的vi怎么没有循环?刚才没注意到~~~还是说你把读取那里设置为10了?回复 #4 飞雨天 的帖子
我的原意是用开关决定上位机的状态,当它处于读的状态时,他应该是我送几个数据到缓冲区,他就显示几个,我哪个程序的运行结果是,我那个上位机运行结果是每次加载程序后,他都只显示我送的第一个数据10,可能是故障就出在前辈指出的地方-------没有设置循环,我今天在到实验室调试以下,晚上我来告诉结果!谢谢了!
页:
[1]