单片机双机通信 15

接收方每次显示接受的数据之前都要显示一次74(本人完成的功能是发送和接收0-99BCD码发送)发送方显示无误请高人指点74的来历是干扰吗?用PROTUES仿真没问题程序如... 接收方每次显示接受的数据之前都要显示一次74(本人完成的功能是发送和接收0-99 BCD码发送)发送方显示无误 请高人指点74的来历 是干扰吗?用PROTUES仿真没问题 程序如下(外中断嵌套串口中断):
DATA1 EQU 70H
DATA2 EQU 77H
GREEN BIT P2.0
BLUE BIT P2.1

ORG 0000H
SJMP MAIN
ORG 0003H
LJMP TRANS
ORG 0013H
LJMP RECE
ORG 0023H
LJMP SPINT

ORG 0030H
MAIN:MOV P1, #30H;禁止数码管显示
CLR P3.6
CLR IT0 ;低电平有效
CLR IT1
SETB EA
SETB EX0 ;外中断允许
SETB EX1
MOV P2,#0FFH;禁止LED显示
CLR P3.6
SETB P3.7
SJMP $

TRANS: CLR EA
SETB P3.6 ;在发状态
MOV SCON,#0C0H;置串口方式3
MOV TMOD, #20H;T1方式2
MOV PCON, #00H
SETB PS
MOV TL1,#0FDH;定时常数 波特率9600
MOV TH1,#0FDH
SETB TR1
CLR TI
CLR ET1
SETB EA
SETB ES
MOV R7,#100

MOV DATA1,#00H
LOOP1: MOV A , DATA1
MOV SBUF,A;启动发送
WAIT1:JNB TI, WAIT1
CLR TI
MOV A , DATA1
ADD A ,#1
DA A
MOV DATA1, A

DJNZ R7,LOOP1;循环100次
CLR P3.6;关发状态
SETB GREEN;灭灯
MOV P1, #30H
RETI

RECE: CLR EA
MOV SCON,#0D0H;置串口方式3 允许接收
MOV TMOD, #20H;T0方式2
MOV PCON, #00H
SETB PS
MOV TL1,#0FDH;定时常数 波特率9600
MOV TH1,#0FDH
SETB TR1
CLR RI
CLR ET1
SETB EA
SETB ES
MOV R6,#100
LOOP2: MOV DATA2,SBUF
WAIT2: JNB RI,WAIT2
CLR RI

DJNZ R7,LOOP2 ;循环100次
SETB BLUE;灭灯
MOV P1, #30H
RETI

SPINT:JB TI,TRANSR
JB RI,RECER

TRANSR:CLR EA
CPL GREEN
MOV R6, #50H
DIS1: MOV A, DATA1
ANL A,#0FH
ADD A ,#11100000B
MOV P1,A
ACALL DELAY;延时1毫秒
MOV A, DATA1
SWAP A
ANL A, #0FH
ADD A, #11010000B
MOV P1,A
ACALL DELAY;延时1毫秒
DJNZ R6, DIS1;循环2OO次
SETB EA
RETI

RECER: CLR EA
CPL BLUE
MOV R6, #50H
DIS2: MOV A, DATA2
ANL A,#0FH
ADD A ,#11100000B
MOV P1,A
ACALL DELAY;延时1毫秒
MOV A, DATA2
SWAP A
ANL A, #0FH
ADD A, #11010000B
MOV P1,A
ACALL DELAY;延时1毫秒
DJNZ R6, DIS2;循环2OO次
SETB EA
RETI

DELAY:MOV R5,#98
D1:MOV R4,#5
NOP
NOP
DJNZ R4,$
DJNZ R5,D1
RET

END
展开
 我来答
百度网友cb0059e
2009-04-10 · TA获得超过1091个赞
知道小有建树答主
回答量:882
采纳率:50%
帮助的人:517万
展开全部
你在接收成功之后,先关闭显示,处理好显示数据之后,再开显示,也许可以解决。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式