打印

关于51串口通讯问题

[复制链接]
1679|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
laoliang3064|  楼主 | 2009-11-12 13:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 laoliang3064 于 2009-11-13 17:17 编辑

我写的串口通信程序有问题,但是可以通信,上电后用串口调试软件发第一组数,没反应;发第二组数,返回的只有6位(我发的是7位);发第三组数就OK了,往后就没问题了,各位大侠看看。程序如下:


ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:;CLR P0.7;接收使能
MOV
SP,#60H;
设置堆栈

MOV
SCON,#50H ;
设置串口方式1

MOV
TMOD,#25H;T1
方式2定时,T0方式1计数

MOV
PCON,#80H;
波特率加倍

MOV
TH1,#0F4H;244-4800bit/S

MOV
R0,#20H;
数据存放起始地址

MOV
R1,#07H

SETB TR1;T1
SETB EA;
CPU中断

SETB ES;开串口中断
SETB PS;设置串口中断高优先级
CLR TR0;关计数器T0
CLR TI;初始化发送中断
CLR RI;
初始化接收中断

SETB P2.6
SETB P0.1

SETB P2.7

SETB P0.0

START:CLR P0.7
MOV
R0,#20H;
数据存放起始地址

MOV
R1,#07H

CLR 20H

CLR 21H

CLR 22H

CLR 23H

CLR 24H

CLR 25H

CLR 26H

CLR 27H

CLR 50H

CLR 51H

WAIT:SETB ES
JNB RI,WAIT;
等待接收数据

CLR RI

RECE:CLR
ES

MOV
A,SBUF;
接收数据

MOV @R0,A

INC R0

SETB ES;
开串口中断

DJNZ R1,WAIT

LJMP HAHA

HAHA:MOV R0,#20H
MOV R1,#07H

SETB P0.7

SEND:MOV
A,@R0;
发送数

MOV
SBUF,A

JNB
TI,$

CLR
TI

INC
R0

DJNZ R1,SEND

LJMP AAAA

P0.7接max485芯片使能端。以上仅为串口通信部分。

相关帖子

沙发
onebyte| | 2009-11-12 21:33 | 只看该作者
在你的发送后,应该把P0.7置回来。

“第二组数,返回的只有6位(我发的是7位)”这是什么意思,是6个数?

使用特权

评论回复
板凳
laoliang3064|  楼主 | 2009-11-13 08:12 | 只看该作者
我发送“00 00 00 00 00 00 00”,第一次没有数返回,第二次发送,返回的只有“00 00 00 00 00 00”

使用特权

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

本版积分规则

个人签名:不清楚方向的叛逆没意义也没力量。 360777249

23

主题

766

帖子

1

粉丝