导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→MOV  SBUF,#22H后数据发不出去的问题[没有]

 *第29616篇: MOV SBUF,#22H后数据发不出去的问题

  
楼 主:没有 2005年2月17日10:43
 MOV  SBUF,#22H后数据发不出去的问题
串口数据发送不了,没有反映,MOV  SBUF,A后没有反映

;同时测量3块表,串口采集数据,串口采用方式三,使用定时器1,可是TXD发送数据,发送不了

,用示波器测量也没有信号,TI总是0。

         ORG   0000H
         JMP   MAIN

         ORG   0030H
MAIN:
         MOV    TMOD,#20H          ;T1工作在方式2
         MOV    TH1,#0F3H          ;BAUD=2400
         MOV    TL1,#0F3H
                       
         MOV    SCON,#0D8H         ;串口工作方式3,SM2=0,准许串口接受,TB8=1
         MOV    PCON,#80H          ;SMOD=1
         SETB   TR1                ;启动T1工作
         SETB   EA
         SETB   EX0
         SETB   EX1
         CLR    IT1
         CLR    IT0
        
         CLR    EX0
         CLR    EX1
         
         MOV    R3,#01H     ;第一块表,01为地址数据
         CALL   SAMP

         SETB   EX0
         SETB   EX1
         

SAMP:    CLR   TI
         MOV   A,R3
         MOV   SBUF,#01H
TITI:    JNB   TI,TITI      ;在这一句,就是不往下执行了,请高手给予指教,谢谢。
         CLR   TI

         CLR   TB8
         MOV   SBUF,#03H
         JNB   TI,$
         CLR   TI
         MOV   SBUF,#00H
         JNB   TI,$
         CLR   TI
         MOV   SBUF,#00H
         JNB   TI,$
         CLR   TI
         MOV   SBUF,#00H
         JNB   TI,$
         CLR   TI
         SETB  TB8
         MOV   SBUF,#01H
         JNB   TI,$
         CLR   TI

         END我只使用仿真器也不行,就是没有反应。

单纯使用仿真器、模拟仿真、硬件仿真这几种情况下都不行,都是到了那一句就不动了,显示数据没有发送完,而我用示波器测试,串口发送TXD没有脉冲。

没有办法,为了测试串口是否工作正常,单独置TXD高或者低,电压显示正常,采用下述中断方式,程序在WAIT的循环中出不来,一个数据也没有发送。          
          ORG  0000H
          JMP  START
          
          ORG  0023H
          JMP  TXSVE

          ORG  0100H
START:    MOV  TMOD,#20H      ;T1工作方式2
          MOV  TL1,#0F4H
          MOV  TH1,#0F4H
          MOV  PCON,#80H      ;SMOD=1
          SETB TR1            ;启动T1
          MOV  SCON,#40H      ;串口为方式1
          MOV  R0,#44H        ;发送的数据
          MOV  A,#02H         ;发送的长度
          MOV  R2,A
          MOV  SBUF,A
          SETB EA             ;开中断
WAIT:     SETB ES             ;开串口中断
          SJMP WAIT

          ORG  0650H          ;串口中断处理程序
TXSVE:    CLR  ES
          CLR  TI
          MOV  A,R0
          MOV  SBUF,A
          DJNZ R2,NEXT
          SJMP $
NEXT:     INC  R0
          RETI
          END


  
2楼:guest 2005年2月17日11:44
 用设置光标到后面指令处,用“执行到光标处
用设置光标到后面指令处,用“执行到光标处”操作即可
  
3楼:没有 2005年2月28日13:47
 我感觉您的意思是:
 仿真器就是这样,

我感觉您的意思是:
 仿真器就是这样,直接跳过去就行了。

不知我的理解对不对


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

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


[上一篇主题]:请教各位大虾有关RTL8019AS的问题,谢谢!

[下一篇主题]:请问在KEIL C 中如何设置可以使CODE MEMORY