?? 雙機通訊實驗.txt
字號:
NAME T13J ;雙機通訊實驗
CSEG AT 0000H
LJMP START
CSEG AT 4100H
PORT EQU 0CFE8H
START: MOV DPTR,#PORT+1 ;8279命令字
MOV A,#0D1H ;清除
MOVX @DPTR,A
WAIT: MOVX A,@DPTR
JB ACC.7,WAIT ;等待清除完畢
MOV TMOD,#20H
MOV TH1,#0F2H ;初始化定時器
MOV TL1,#0F2H
SETB TR1
MOV SCON,#50H ;初始化串行口
MOV 87H,#80H
MOV 50H,#00H
MOV 51H,#00H
MOV 52H,#00H
MOV 53H,#00H
MOV 54H,#00H
MOV 55H,#00H
SJMP RXACK
DISP: MOV DPTR,#PORT+1
MOV A,#90H
MOVX @DPTR,A
MOV R6,#06H
MOV R1,#50H
MOV DPTR,#PORT
DL0: MOV A,@R1
MOVX @DPTR,A
INC R1
DJNZ R6,DL0
RET
RXACK: JBC RI,IF06H ;接收呼叫信號
SJMP RXACK
IF06H: MOV A,SBUF ;判斷呼叫是否有誤
CJNE A,#06H,TX15H
TX00H: MOV A,#00H
MOV SBUF,A
WAIT1: JBC TI,RXBYTES ;等待應答信號發送完
SJMP WAIT1
TX15H: MOV A,#0F0H ;向甲機報告接收的呼叫信號不正確
MOV SBUF,A
WAIT2: JBC TI,HAVE1
SJMP WAIT2
HAVE1: SJMP RXACK
RXBYTES:JBC RI,HAVE2
SJMP RXBYTES
HAVE2: MOV A,SBUF
MOV R7,A
MOV A,#0FH
MOV SBUF,A
WAIT3: JBC TI,LOOP1
SJMP WAIT3
LOOP1: MOV DPTR,#PORT+1
MOV A,#0A0H ;顯示消隱命令
MOVX @DPTR,A
MOV 50H,51H
MOV 51H,52H
MOV 52H,53H
MOV 53H,54H
MOV 54H,55H
MOV A,R7
MOV 55H,A
LCALL DISP
LJMP RXACK
END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -