打印

请问单片机的串口接受程序是如何跑的?

[复制链接]
1860|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lijiawei|  楼主 | 2009-1-1 18:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
下面是一个单片机的串口接受程序,请问我一直给单片机上电但程序啥时候跑完?是跑一遍还是循环跑,我在主程序里调用接收程序,然后用串口调试助手发送一遍指令后,但好象程序就不再回到主程序里执行下面要调用的其他程序了,不明白是什么原因? 即不执行MOV P0,#0F0H这句了,不明白为什么?          
 ReciCardData    EQU        60H
          ORG    0000H
             JMP     START
                                        
START:    
         

               


    ;----------------------------
    ;command::AA FF 01 01 A1 F4
    ;----------------------------
     
        ;----------------------------
       
            
            LCALL   SoftUART_GetByte
         
          MOV P0,#0F0H       
       ; RET


             RET


  SoftUART_GetByte:
  MOV     SP,#60H         ; 设定堆栈区
          MOV     SCON,#01010000B ; 设定串列方式 MODE1,接收时 REN=1
        MOV     TMOD,#20H       ; 设定计时器1 为 模式2
               
          MOV     TH1,#0FDH        ; 设定波特率为 4800
          SETB    TR1             ; 计时器1 ,开始计时
    
 
      MOV     R0,# ReciCardData
     
      MOV     R7,#1

AGAIN1:
         
          JNB     RI,$            
          CLR     RI
               MOV   P0,A    
         MOV      A,SBUF  
       
      MOV     @R0,A       
      
     ; INC     R0
     ; DJNZ    R7,AGAIN1
      
       
          RET    
        
  END
  

相关帖子

沙发
耕在此行| | 2009-1-1 20:11 | 只看该作者

呵呵 楼主 加油哦

使用特权

评论回复
板凳
gx_huang| | 2009-1-3 15:20 | 只看该作者

是该加油了,连MCU基本工作原理都没有搞明白!

使用特权

评论回复
地板
sam413| | 2009-1-3 21:43 | 只看该作者

取决于你的程序逻辑结构啊

听说过顺序、循环、条件分支等等吗?
相帮忙,但觉得您还是再看看书吧。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

11

帖子

0

粉丝