在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!) 创芯人才网--重磅上线啦!
查看: 3287|回复: 5

查错(写的一个pc与mcu的通信小程序)

[复制链接]
发表于 2004-6-5 11:31:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
在用comport debuger调试时,执行到RE_SUB中的JNB  RI,$就下不去了,不知道是程序错了,还是板坏了,先把程序拿上来给大家看看,帮帮看,有什么地方错的
程序如下:
                           ORG    0000H
                           LJMP   MAIN
                           ORG    0100H
                MAIN:      MOV    TMOD,  #20H               ;定时器初始化
                           MOV    TH1,   #0FDH
      MOV    TL1,   #0FDH
      MOV    SCON,  #0D0H              ;串口初始化
                           MOV    SP,    #60H
      CLR    EA                        ;清中断
      CLR    ES
      CLR    ET1
      SETB   TR1
                           MOV    R1,   #30H;存数据首地址
                MOV    R0,   #40H     ;发送数据首地址
                MOV    20H,    #00H               ;设定异或初值
                MOV    R4,     #03H;设定判断次数
       LOOP1:   LJMP   RE_SUB                    ;调接收子程序
     MOV    A,      R2
     CLR    C
     SUBB   A,      #0F1H             ;是否为测试码0F1H
     JNZ    LOOP1                      ;否,重新接收测试码
     MOV    R7,     #0F1H              ;是,回送测试码
     LJMP  TR_SUB                     ;调发送子程序
                           NOP
     CLR    SM2
                CLR    TB8
        LOOP2:  ACALL  RE_SUB
                           MOV    A,     R2                ;接收数据长度
                MOV    R3,     A                 ;存数据长度
     ACALL  RE_SUB      ;接读OR写命令
                          NOP
               MOV   A,      R2      ;判断是接收命令?
    CLR   C
               SUBB  A,     #0F3H
    JZ    LOOP3      ;是,开始接收数据
                          NOP
    MOV   A,     R2      ;判断是发送命令?
               CLR   C
    SUBB  A,    #0F2H
    JZ   LOOP6      ;是,开始发送数据
                          NOP
    ACALL  LOOP5    ;都不是,发送错误命令
     LOOP6:  MOV   A,   @R0    ;开始发送数据
  MOV  R7,   A
  ACALL  TR_SUB
  INC  R0
  DJNZ  R3,  LOOP6  ;判断发送结束否?
  ACALL  RE_SUB;发送结束,接收结束命令
  MOV   A,   R2
  CLR   C
  SUBB   A,  #01H;判断是否为结束命令?
  JNZ   LOOP5;否,发送错误命令
  ACALL  LOOP7;是,通信结束
    LOOP3:   ACALL  RE_SUB          ;开始接数据
  MOV    A,      R2
  MOV   @R1,  A                  ;存内存
             XRL    A,      20H                ;值异或
             MOV    20H,    A
  INC    R1
  DJNZ   R3,     LOOP3              ;判断接收完否?
  MOV    R7,     #0F4H              ;发送数据接收完毕通知
  ACALL  TR_SUB
  CLR    SM2
  CLR    TB8
  ACALL  RE_SUB              ;接收校验异或值
                        NOP
              MOV    A,      R2
              CLR    C
   SUBB   A,      20H                ;比较校验值
   JNZ    LOOP4
                         NOP
   MOV    R7,     #00H               ;发结束信号
   ACALL  TR_SUB
                          NOP
   AJMP   LOOP7
                          NOP
      LOOP5:  MOV    R7,     #0F5H    ;发错误命令
   ACALL  TR_SUB
                         NOP
   AJMP   LOOP7
                         NOP
      LOOP4:  DEC    R4
   MOV    A,      R4
   JZ     LOOP5
                          NOP
   MOV    R7,     #0F6H              ;发重发命令
   ACALL  TR_SUB
                          NOP
   ACALL  LOOP3
                          NOP
     LOOP7:  AJMP    $;通信结束
    RE_SUB:
                         SETB   REN                               ;接收子程序
                         SETB   P3.0
                         JNB     RI,     $
                         NOP
                         CLR    RI
    MOV    A,      SBUF
               MOV    R2,     A
    RET
                         NOP
    TR_SUB:   SETB  REN;发送子程序
                         SETB  P3.1
   JNB    TI,     $
                         NOP
    CLR    TI
                         MOV    A,      R7
    MOV    SBUF,   A
    RET
                          NOP

  另附流程图
希望大家看看,给点意见。:)
      
   

10_285.doc

112.5 KB, 下载次数: 0 , 下载积分: 资产 -2 信元, 下载支出 2 信元

 楼主| 发表于 2004-6-5 11:33:59 | 显示全部楼层

查错(写的一个pc与mcu的通信小程序)

对不起啊,不知道怎么放进去的时候,格式变成那样了。大家就将就点看了。谢谢。
发表于 2004-8-17 14:14:47 | 显示全部楼层

查错(写的一个pc与mcu的通信小程序)

看的眼花,应该先学学格式话编程的方法
发表于 2004-8-26 10:54:18 | 显示全部楼层

查错(写的一个pc与mcu的通信小程序)

波特率设对了吗?
发表于 2004-9-13 11:55:51 | 显示全部楼层

查错(写的一个pc与mcu的通信小程序)

就是排版太乱了,根本没法看
发表于 2004-10-22 22:06:45 | 显示全部楼层

查错(写的一个pc与mcu的通信小程序)

为什么不用外部中断呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-16 21:03 , Processed in 0.019747 second(s), 10 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表