导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→发表看法:[yeying117]各位大虾麻烦帮我看看我的串口接收程序



No.98730
作者:yeying117
邮件:tangjyd28@163.com
ID:61521
登陆:1次
文章数:2篇
最后登陆IP:222.171.23.85
最后登陆:2006/10/19 15:38:57
注册:2006/10/19 10:35:06
财富:112
发帖时间:2006/10/19 10:47:30
发贴者IP:222.171.23.85
标题:yeying117:各位大虾麻烦帮我看看我的串口接收程序
摘要:No.98730各位大虾麻烦帮我看看我的串口接收程序 这是我的程控放大程序,硬件经过调试,没什么问题,但我用串口精灵给下位机发数据,就是接收不了。请各位大虾给我指出问题
我的程序
;----------I/O口定义----------------
PD0      BIT  P1.0
PD1      BIT  P1.1
PD2      BIT  P1.2
PD3      BIT  P1.3
WDI      BIT  P3.4
;----------缓存区定义----------------
SEND_INDEX EQU   20H  ; 执行发送命令标志 SEND_INDEX.0=0 有发送 SEND_INDEX.0=1无发送

CARD1      EQU   30H  ;卡1
CARD2      EQU   31H  ;卡2
CARD3      EQU   32H  ;卡3
CARD4      EQU   33H  ;卡4(自检)
MULCARD    EQU   31H  ;放大倍数
SERDATA1   EQU   32H  ;串口数据1(卡号)
SERDATA2   EQU   33H  ;串口数据2(放大倍数)
SUMDATA    EQU   34H  ;串口数据3(校验和)

;-----------------------------------------
          ORG   0000H
          LJMP  MAIN
          ORG   0023H

          LJMP  SERVE                       ;串口中断服务程序入口
          ORG   0050H
;------------------初始化-----------------------
MAIN:   LCALL DOG
        LCALL INITIAL
        LCALL INIOUT
 LOOP1:
         
        LCALL SELFCHELK
        JB SEND_INDEX.0,LOOP1
       
        LCALL DATA_SEND
        AJMP LOOP1


;------------------串口初始化-----------------------
INIOUT:
        LCALL DOG
       MOV SCON,#50H;设置成串口1方式
       MOV TMOD,#20H;波特率发生器T1工作在模式2上
       MOV PCON,#80H;波特率翻倍为2400x2=4800BPS
       MOV TH1,#0F3H;预置初值(按照波特率2400BPS预置初值)
       MOV TL1,#0F3H;预置初值(按照波特率2400BPS预置初值)
       SETB TR1;启动定时器T1
;以上完成通讯初始化设置

        RET
 ;------------------系统初始化---------------------
INITIAL: MOV DPH,#01H
        MOV DPL,#01H
        SETB PD0
        SETB PD1
        SETB PD2
        SETB PD3


        CLR   PD3
        MOV   A,#0FFH
        MOVX  @DPTR,A
        SETB  PD3
        CLR   PD2
        MOV   A,#0FFH
        MOVX  @DPTR,A
       SETB  PD2

        CLR   PD1
        MOV   A,#0FFH
        MOVX  @DPTR,A
        SETB  PD1
        CLR   PD0
        MOV   A,#0FFH
        MOVX  @DPTR,A
        SETB  PD0
        MOV SEND_INDEX,#01H
        RET


;------------------数据接收-----------------------
SERVE:   LCALL DOG

         
         PUSH  A
         PUSH  PSW
WAIT:     JBC   RI,RECET
         AJMP  WAIT                ;保护现场
RECET:   MOV   A,SBUF
         MOV   SERDATA1,A
WAIT0:   JBC   RI,RECET0
         AJMP  WAIT0
RECET0:
          MOV   A,SBUF
          MOV   SERDATA2,A
WAIT1:   JBC   RI,RECET1
         AJMP  WAIT1
RECET1:  MOV   A,SBUF
         MOV   SUMDATA,A
WAIT2:   JNB   RI,WAIT2
         CLR   RI
RETURN:  POP   PSW
         POP   A
         SETB  EA
 ......

>>返回讨论的主题



  发表回复
用户名   *您没有注册?
密码   *
验证码   * .
标题   *
心情
随便说说    我回答你    最新发现    得意的笑   
气死我了    真是没劲    坚决同意    表示反对   
大家过来    好奇怪哟    懒得理它    大家小心   
文件上传
内容


字体:      字体大小:    颜色:
粗体 斜体 下划线 居中 超级连接 Email连接 图片 Flash图片 Shockwave文件 realplay视频文件 Media Player视频文件 QuickTime视频文件 引用 飞行字 移动字 发光字 阴影字 查看更多的心情图标 背景音乐
点击加入表情
                         
选项
有回复时用短消息通知您?

   




老古网执行:31毫秒 最大:78531毫秒 查询6次