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