|
这是接收的程序段,出现的问题是还没等接收数据呢,就已经进入到了发送数据程序段,不停的发送数据
定时是准确的,定时间隔为1ms.
请高手帮我分析一下. 我都看了两天了还没想通.十分感谢!!!!!!!!!!!!!!!!!!!!!!!!
START: MOV R1,#0D0H;本机地址存储单元
MOV @R1,#01H
MAIN1:
MOV T2CON,#34H ;初始化
MOV RCAP2L,#0CCH
MOV RCAP2H,#0FFH
MOV TL2,#0CCH
MOV TH2,#0FFH
MOV PCON,#80H
MOV SCON,#50H
MOV TMOD,#01H
MOV IP,#10H
MOV TH0,#0FAH
MOV TL0,#0CAH
MOV SP,#60H
SETB 42H;接收完成标志
SETB 43H;发送完成标志位
SETB EA
SETB ES
SETB ET0
CLR P3.6
SETB TR2
MOV R0,#0F1H ;接收数据初始化0F1为接收开始单元
MOV R3,#01H
MOV R4,#0FFH;CRC初始化
MOV R5,#0FFH
MOV 30H,#00H ;定时器0计数单元
SETB TR0
MAIN: SETB P3.7 ;准备接收 P3.7控制发光二级管亮灭
LCALL DELAY
CLR P3.7
LCALL DELAY
JB 42H,MAIN
;接收完成后准备发送数据程序
SERVER: PUSH A
JB RI,RX
JB TI,TTX
LJMP RETURN
TTX: LJMP TX
RX: CLR RI
RXX: MOV A,SBUF
MOV @R0,A
MOV R1,#0F0H ;计数单元
MOV A,R3
MOV @R1,A
INC R3
INC R0
MOV 30H,#00H
MOV TH0,#0FAH
MOV TL0,#0CAH
POP A
RETI
TT0: CLR TR0
INC 30H
MOV A,30H
CJNE A,#04H,TT01
TT01: JC TT02
MOV 30H,#00H
CLR 42H
TT02: MOV TH0,#36H
MOV TL0,#7FH
TT03: SETB TR0
RETI
END
|
|