雙機通信: ORG 0000H AJMP MAIN ORG 0023H AJMP INTRT
ORG 0030H MAIN:MOV TMOD,#20H ;設置定時器1的工作方式 MOV TH1,#0E6H ;設置波特率1200 MOV TL1,#0E6H SETB TR1 ;啟動定時器1 MOV SCON,#50H ;設置串口工作方式 CLR RI ;清除標志位 CLR TI ;清除標志位 SETB ES ;開串口中斷 SETB EA ;開總中斷 LOOP:JNB P3.2,S3OK ;檢測按鍵是否按下 JNB P3.3,S4OK AJMP LOOP S3OK:MOV A,#0FBH ;點亮LED4 MOV SBUF,A JNB TI,$ ;等待發(fā)送完 SJMP LOOP2 S4OK:MOV A,#0F7H ;點亮LED5 MOV SBUF,A JNB TI,$ ;等待發(fā)送完 LOOP2:ACALL DELAY AJMP LOOP
INTRT:PUSH ACC JNB TI,NEXT CLR TI AJMP OUT NEXT: CLR RI ;清標志 MOV A,SBUF ;讀取接收的數(shù)據(jù) MOV P1,A ;送P1口 OUT: POP ACC RETI
DELAY:MOV R3,#60 ; 延時0.6秒 D1: MOV R4,#20 D2: MOV R5,#248 DJNZ R5,$ DJNZ R4,D2 DJNZ R3,D1 RET
END
|