c51 mcu2mcu serial.asm

来自「used to communicate between 2 C51 by ser」· 汇编 代码 · 共 55 行

ASM
55
字号
;this is to show serial communication between 2 C51 chips. refer to the schematic "C51 MCU2MCU serial.dsn"
;function refer to the interpretion in schematic: to switch flow direction of LED 
;flow direction is defined as 0:up2down , 1:down2up @ACC.0
;
ORG 0000H
LJMP START
ORG 30H
START:SETB EA
CLR ET1
SETB ES
SETB TR1
MOV SP,#5FH
MOV TMOD,#00100000B
MOV TH1,#0FDH
MOV TL1,#0FDH
ORL PCON,#10000000B
MOV SCON,#01000000B
SETB REN
CLR TI
CLR RI
CLR ACC.0     ;NEED TO USE ACC.0 WHEN ACCESS BIT OF A
LOOP:PUSH ACC
SETB C  
JNB ACC.0,FLOW1 
FLOW2:MOV A,#0FEH
LOOP2:MOV P1,A
LCALL DELAY
RLC A
JNC SEND
LJMP LOOP2
FLOW1:MOV A,#7FH
LOOP1:MOV P1,A
LCALL DELAY
RRC A
JNC SEND
LJMP LOOP1
SEND:SETB TR1
MOV SCON,#01000000B
POP ACC
MOV SBUF,A
SENDLOOP:JBC TI,GETNEXT
LJMP SENDLOOP
GETNEXT:MOV SCON,#01010000B        ;GET SERIAL SIGNAL FROM OTHER MCU
SETB REN
RECLOOP:JBC RI,REC
JMP RECLOOP
REC:MOV A,SBUF
LCALL DELAY
LJMP LOOP
DELAY:MOV R7,#250
D1:MOV R6,#250
D2:DJNZ R6,D2
DJNZ R7,D1
RET
END

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?