|
两个单片机系统之间进行通讯,#1机发送数据;#2机接受数据,串行口工作方式设置为1(即一帧信息包括:1为起始位0,8位数据位和1位停止位1)。
如下的#2机的程序:完成如下功能---将#1机发送的16个无符号数据接受并存放到内部RAM以30h为首地址的连续的16个单元中,然后从大到小排序并显示出来。并且对接收到的字符信息采用累加和方式校验。
ORG 0000H ;The receive program of machine_2
SJMP MAIN
ORG 0023H
SJMP RECEIVER
ORG 0030H
MAIN: MOV SP,#70H
LCALL QL
LCALL DIS
MOV TMOD,#20H
MOV TL1,#0FDH
MOV TH1,#0FDH
MOV SCON,#50H
MOV PCON,#00H
SETB ES
SETB EA
SETB TR1
CALLED: CJNE A,#0AAH,CALLED
MOV A,#55H
MOV SBUF,A
SETB F0
JB F0,$
AGAIN: SETB REN
MOV R1,#30H
MOV R2,#10H
MOV R3,#00H
SETB F0
LOOOP: JB F0,$
SETB F0
MOV @R1,A
ADD A,R3
MOV R3,A
INC R1
DJNZ R2,LOOOP
JB F0,$
SETB F0
CJNE A,R3,ERROR ; EXPRESSION TYPE DOES NOT MATCH INSTRUCTION
CLR REN
MOV A,#00H
MOV SBUF,A
JB F0,$
LCALL DISPOSAL
LCALL ARRAY
XA: MOV R0,#40H
MOV R3,#20H
XA1: MOV A,@R0
MOV 6CH,6DH
MOV 6DH,6EH
MOV 6EH,6FH
MOV 6FH,A
LCALL DIS
LCALL YS
INC R0
DJNZ R3,XA1
SJMP $
RECEIVER: CLR F0
CLR RI
CLR TI
MOV A,SBUF
RETI
ERROR: CLR REN
MOV A,#0FFH
MOV SBUF,A
JB F0,$
LJMP AGAIN
QL: MOV R5,#04H
MOV R0,#6CH
SQ: MOV @R0,#00H ;SYNTAX ERROR
INC R0
DJNZ R5,SQ
MOV R0,#40H
RET
DIS: SETB P3.4
CLR P3.5
CLR P3.3
SETB P3.2
ORL 6EH,#0E0H
MOV P1,6FH
ANL 6FH,#0FH
NOP
SETB P1.4
ORL 6EH,#0D0H
MOV P1,6EH
ANL 6EH,#0FH
NOP
SETB P1.5
ORL 6DH,#0B0H
MOV P1,6DH
ANL 6DH,#0FH
NOP
SETB P1.6
ORL 6CH,#70H
MOV P1,6CH
ANL 6CH,#0FH
NOP
SETB P1.7
CLR P3.2
RET
DISPOSAL: MOV R3,#10H
MOV R0,#40H
MOV R1,#30H
LOP1: MOV A,@R1
MOV 7FH,A
ANL A,#0FH
MOV @R0,A
INC R0
MOV A,7FH
SWAP A
ANL A,#0FH
MOV @R0,A
INC R0
INC R1
DJNZ R3,LOP1
RET
ARRAY: MOV R0,#40H
MOV R1,#41H
LP: MOV A,@R0
CLR CY
SUBB A,@R1
MOV A,@R0
JNC LOOP
CLR CY
LJMP LOP
LOOP: XCH A,@R1
MOV @R0,A
LOP: INC R1
CJNE R1,#60H,LP
INC R0
MOV B,R0
INC B
MOV R1,B
CJNE R0,#5FH,LP
RET
YS: MOV R4,#14H
LL1: MOV TMOD,#01H
MOV TH0,#4CH
MOV TH0,#00H
SETB TR0
JNB TF0,$
CLR TF0
DJNZ R4,LL1
RET
END
我用keil集成开发环境uVision2进行编译(translate),报错为:
CJNE A,R3,ERROR ; EXPRESSION TYPE DOES NOT MATCH INSTRUCTION
而SQ: MOV @R0,#00H ;SYNTAX ERROR这条语句被识别为三个错误,都是SYNTAX ERROR
这是怎么回事,请高手指点?
附件是粘贴在word中的汇编语言程序
【文件名】:08316@52RD_RX-PROG-M2.rar
【格 式】:rar
【大 小】:5K
【简 介】:
【目 录】:
|
|