我做了一个简单的由一个 单片机向另一个单片机传递数据,另外一个单片机驱动共阴极7段LED码的简单程序,但是不知道为什么总是运行不了。
求大神给解答一下,不胜感激。
我不明白的是方式 1用了定时计数器1,而且还用了串口中断,它就存在了两个中断源,这到底是怎么一回事啊。
发送机
ORG 0000H
AJMP MAIN
TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
MAIN :MOV R0,#10
MOV R1,#0
MOV TMOD,#20H
MOV TH1,#0E8H
MOV TL1,#0E8H
SETB TR1
MOV SCON,#50H
SETB EA
SETB ES
MOV DPTR,#TABLE
LOOP :MOV A,R1
MOVC A,@A+DPTR
MOV SBUF,A
JNB TI,$
INC R1
CLR TI
DJNZ R0,LOOP
END
接收机
ORG 0000H
AJMP MAIN
ORG 0023H
AJMP ZD
ZD :CLR RI
MOV A,SBUF
MOV @R0,A
INC R0
DEC R1
RETI
DELAY:MOV R7,#20
DEL1 :MOV R6,#200
DEL2 :MOV R5,#123
NOP
DJNZ R5,$
DJNZ R6,DEL2
DJNZ R7,DEL1
RET
MAIN :MOV R1,#10
MOV R0,#40H
MOV TMOD,#20H
MOV TH1,#0E8H
MOV TL1,#0E8H
SETB TR1
MOV SCON,#50H
SETB EA
SETB ES
CJNE R1,#0,$
MOV R1,#10
MOV R0,#40H
XH :MOVX A,@R0
MOV P0,A
ACALL DELAY
INC R0
DJNZ R1,XH
END
|