导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→求教 两个单片机串口通讯程序的错误

* 96489: 求教 两个单片机串口通讯程序的错误

   riva 
riva发表的帖子 

 求教 两个单片机串口通讯程序的错误
小弟是个菜鸟,写了一个单片机串口通讯程序,硬件连接很简单,两片AT89C2051串口互相连接,发送数据的单片机P1.2口接一个LED,发送数据时点亮。以下是小弟的程序,有详细的注释,请大家看看有没有问题。

这是发送程序:
FSBZ BIT 00H   ;设定发送标志位
LED BIT 92H    ;设定p1.2口的标志位
ORG 000H
AJMP START
ORG 003H
RETI
ORG 00BH
RETI
ORG 013H
RETI
ORG 01BH
RETI
ORG 023H
RETI

START: ACALL INIT        ;程序初始化
LOOP: ACALL SYTX        ;测试连通程序
 ACALL FSCX        ;发送数据程序
 AJMP LOOP         ;跳转循环


INIT: MOV SCON,#40H     ;串行方式1
 MOV TMOD,#20H     ;定时器T1方式2
 MOV IE,#00H       ;不开中断,采用查询模式
 MOV PCON,#00H     ;SMOD为0
 MOV R0,#40H       ;在40-4F字节中放入要发送的数据53H
 MOV R2,#10H
AKM: MOV @R0,#53H
 INC R0
 DJNZ R2,AKM
 MOV TL1,#0E8H     ;定时器T1赋初值,波特率为1200
 MOV TH1,#0E8H
 SETB TR1          ;开启T1
 RET

SYTX: ACALL DELAY       ;延时
 MOV A,#66H        ;发送测试连接字节
 MOV SBUF,A
WAIT: JNB TI,WAIT
 CLR TI
 SETB REN          ;接收回传的字节
WAITA: JNB RI,WAITA
 CLR RI
 MOV A,SBUF
 CLR REN
 CJNE A,#66H,SSN   ;比较与所发的字节是否一致
 SETB FSBZ
 CLR LED            ;若一致,发送标志位置1,P1.2口置0
 AJMP OUTT0
SSN: SETB LED          ;不一致,P1.2口置1
OUTT0: RET


FSCX: JNB FSBZ,OUT      ;发送标志位为0,退出
 CLR FSBZ
 MOV R0,#40H       ;为1,开始发送数据
 MOV R2,#10H
TSTART: MOV A,@R0
 MOV SBUF,A
WAIT2: JBC TI,CONT
 SJMP WAIT2
CONT: INC R0
 DJNZ R2,TSTART
OUT: RET


DELAY: MOV R7,#03FH;延时
 MOV R6,#0FFH
DL1: DJNZ R6,DL1
DL2: DJNZ R7,DL2
RET

END

以下是接收程序:
ORG 000H
AJMP START
ORG 003H
RETI
ORG 00BH
RETI
ORG 013H
RETI
ORG 01BH
RETI
ORG 023H
RETI


START: ACALL INIT    ;程序初始化
LOOP: ACALL SYJS    ;接收测试联通程序
 ACALL JSCX    ;接收程序
 AJMP LOOP


INIT: MOV SCON,#50H  ;串口方式1,允许接收
 MOV TMOD,#20H  ;T1工作在方式2
  MOV IE,#00H    ;不许中断,用查询方式
 MOV PCON,#00H  ;SMOD=0
 MOV TL1,#0E8H  ;T1为1200波特率
 MOV TH1,#0E8H
 SETB TR1       ;开启T1
 RET

SYjs: JB RI,STD      ;接收测试子节
 SJMP SYJS
STD: CLR RI
 MOV A,SBUF     ;接到后马上回传
 CLR REN
 MOV SBUF,A
WAITA: JNB TI,WAITA
 CLR TI
 SETB REN
 RET

JSCX: MOV R0,#40H     ;接收发来的数据
 MOV R2,#10H
SIN: CLR RI
WAIT2: JNB RI,WAIT2
 MOV A,SBUF
 MOV @R0,A
 INC R0
 DJNZ R2,SIN
 RET

END

发表时间:2006年8月8日16:27:47

  
回复该帖

本主题共有 1 帖,分页:>>>>>该主题的所有内容[1]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

[上一篇帖子]:要推广应用,要出好书利尔达策划的新版"MSP430系列16位超低功耗单片机原理与应用&qu
[下一篇帖子]:430连接硬件为什么进不了定时器中断呢?运行430里面的例程,可以在SIMULATOR下进入中断,连