这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » MOV,SBUF 请教:MOV SBUF后没有反映的问题

共2条 1/1 1 跳转至

MOV,SBUF 请教:MOV SBUF后没有反映的问题

院士
2006-09-17 18:14:16     打赏
MOV,SBUF 请教:MOV SBUF后没有反映的问题



关键词: 请教     没有     反映     问题    

院士
2006-12-22 22:43:00     打赏
2楼
问 串口数据发送不了,没有反映,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

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

单纯使用仿真器、模拟仿真、硬件仿真这几种情况下都不行,都是到了那一句就不动了,显示数据没有发送完,而我用示波器测试,串口发送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条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]