;中斷方式
ORG 00H;
AJMP START;
ORG 000BH; 定時器0的中斷向量地址
AJMP TIME0;跳轉到真正的定時器程序處
ORG 30H;
START:
MOV P1,#0FFH; 關所有燈
MOV TMOD,#00000001B;定時器/計數器0工作于方式1
MOV TH0,#15H;(65536)
MOV TL0,#0A0H;即數5536
SETB EA;開總中斷允許
SETB ET0;開定時/計數器0允許
SETB TR0;定時/計數器0開始運行
LOOP:
JBC TF0,TIME0;如果TF0等于1,則清零并轉TIME0處執行
AJMP LOOP;真正工作時,這里可寫任意程序
TIME0: ;定時器0的中斷處理程序
PUSH ACC;
PUSH PSW;將PSW和ACC推入堆棧保護
CPL P1.0;取反后,輸出到P1.0
MOV TH0,#15H;
MOV TL0,#0A0H;重置定時常數
POP PSW;
POP ACC;
RETI ;
END;
|