导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→初学者:请问老古[wqj]

 *第1507篇: 初学者:请问老古

  
楼 主:wqj 2001年12月13日22:15
 初学者:请问老古
我用89C2051收SSCOM传的数据,每次一个字节,基本上每十次总有一两次收不到,不知毛病
出在哪里。接收部分程序如下:有看门狗,
                   MOV   TMOD,#20H ;设置定时器1为模式2作波特率发生
器                  
                   MOV   TL1,#0f4H ;设波特率为2400                  
                   MOV   TH1,#0f4H
                   SETB  TR1       ;定时器1接通工作
                   MOV   SCON,#50H ;设置串行口为模式1
                   JB    P3.4,LOOP ;P3.4为1则跳转至LOOP                 
                   MOV   A,#11h
SPOUT:             MOV   SBUF,A 
                   JNB   TI,$      ;等待数据发送完成                   
                   CLR   TI
LOOP:              jnb   RI,$      ;等待数据接收完成(RI为零则转移)
                   clr   ri
                   MOV   A,SBUF    ;串行数据缓冲器内容送累加器    
。。。               
  
2楼:老古 2001年12月13日22:21
 jnb ri,$ jnb ti,$的等待时间加起来超过一字节的传输时间。
  
3楼:wqj 2001年12月13日22:27
 请问老古如何解决
  
4楼:老古 2001年12月14日14:19
 改:
:             MOV   SBUF,A 
                   JNB   TI,$      ;等待数据发送完成                   
                   CLR   TI
=》》》
JNB TI,$
CLR TI
mov sbuf ,a

在最开头加:setb ti


>>>>>>对该主题发表你的看法

本主题贴数4,分页: [第1页]


[上一篇主题]:硬件:请教老古:

[下一篇主题]:AVR单片机:向大虾请教,怎样从FLASH中读数据