找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2376|回复: 2
收起左侧

求诸位单片机大神指导

[复制链接]
ID:63725 发表于 2014-7-11 12:59 | 显示全部楼层 |阅读模式
求大神指导     我是单片机新手。有问题需要诸位解决:单片机向pc发送数据,接收数据最前面两位是错的  如果最前面两位为全1,接收的数据就对的     我的程序就是下面的
        ORG    0000H
        SJMP   START
        ORG    0030H
   
START:   MOV    TMOD,#20H
     MOV    TH1,#0FDH
     MOV    TL1,#0FDH
     SETB   TR1
     MOV    SCON,#50H
     MOV    PCON,#00H
     MOV    DPTR,#TAB
     MOV    R0,#0
     SETB   TI

MAIN:      JBC    TI,SEND
           SJMP   MAIN
SEND:      MOV    A,R0
     MOVC   A,@A+DPTR
     MOV    SBUF,A
     MOV    P0,A
     CALL   DELAY
     INC    R0
     CJNE   R0,#8,MAIN
     MOV    R0,#0
     SJMP   MAIN
DELAY:     MOV    R1,#50
D3:        MOV    R2,#100
D2:     MOV   R3,#100
D1:     DJNZ   R3,D1
           DJNZ   R2,D2
     DJNZ   R1,D3
     RET
TAB:       DB     11000000b,11011111b,11010011b,11111111b,11010000b,11110000b,11101010b,11001111b
     END

回复

使用道具 举报

ID:7485 发表于 2014-7-11 15:00 | 显示全部楼层

       ORG    0000H
        SJMP   START
        ORG    0030H
   
START:   MOV    TMOD,#20H
     MOV    TH1,#0FDH
     MOV    TL1,#0FDH
     SETB   TR1
     MOV    SCON,#50H
     MOV    PCON,#00H
     MOV    DPTR,#TAB
     MOV    R0,#0
     ;SETB   TI            //这一句不能要

MAIN:      JBC    TI,SEND
           SJMP   MAIN
SEND:      MOV    A,R0
     MOVC   A,@A+DPTR
     MOV    SBUF,A
     MOV    P0,A
        JNB        TI,$                ;等待发送完成
    ; CALL   DELAY       //也可以不要,不影响发送。
     INC    R0
     CJNE   R0,#8,MAIN
     MOV    R0,#0
     SJMP   MAIN
回复

使用道具 举报

ID:63725 发表于 2014-7-11 15:18 | 显示全部楼层
ahshmj 发表于 2014-7-11 15:00
ORG    0000H
        SJMP   START
        ORG    0030H

我试了下还是不行。     我觉得  SETB  TI   还是得要。这样是为了启动串口开始发送下一个真正要发送的数据,这个数据就是数据表的第一个数。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表