Page 104 -
P. 104
DAT EQU 45H
ORG 00H
JMP
ORG START ;規避 00H 至 2FH 間之中斷向量執行位址
MOV
START: MOV 30H ;
ANL
MOV SP,#30H ;將堆疊指標重新指向
SETB
MOV TMOD,#00100001B ;設定 Timer0 為模式 1, Timer1 為模式 2
MOV
Loop: MOV PCON,#01111111B ;設定鮑率為 9600 bit/sec
Wait_R: JBC
JMP TH1,#FDH
Finish: CLR
MOV TR1 ;啟動 Timer1
MOV
MOV SCON,#01010000B ;串列埠模式 1 設定為接收
CALL
INC DAT,#0
MOV
CJNE SBUF,DAT ;DAT 載入 SBUF 開始傳送
MOV
JMP RI,Finish ;測試接收中斷旗號是否為 1
Wait_R ;否, 再回去測試
TI ;是, 清除傳送旗標準備下次傳送
A,SBUF ;由 SBUF 讀入接收資料
P1,A ;由 P1 輸出顯示
R5,#20
DELAY ;延遲 1 秒
DAT
A,#0AH
A,DAT,Loop
DAT,#0
Loop
DELAY: MOV TH0,#>(65536-50000)
MOV TL0,#<(65536-50000)
SETB TR0
TF0,Time_out
Wait: JBC Wait
JMP
R5,DELAY
Time_out: TR0
DJNZ
CLR
RET
END