Press控制板之實作報告
中斷計時副程式 0.01秒
程式名稱 : timerint.zip (下載);

            CHIP    80152

PP0         EQU     080H
PP2         EQU     0A0H

DELTIM      EQU     30H
DELTIM_REG  EQU     31H

WATCHDOG    REG     PP2.7

STOPBIT     REG     20H.0       ;
RUNBIT      REG     20H.1

;============================================================================
        ORG     0H
        JMP     AGAIN
        ORG     0BH                 ;TIMER0 中斷向量
        JMP     TIMER0
;============================================================================
AGAIN:
        CPL     WATCHDOG
        MOV     P1,#11110000B
        MOV     P0,#11111111B
        MOV     TMOD,#00000001B
        MOV     TH0,#0ECH           ;TIMER0 = 65535 - 55535 = 10000 = 0.01 秒
        MOV     TL0,#077H           ;
        SETB    TR0
        MOV     IE,#10000010B       ;CPU中斷致能, TIMER0中斷致能
        CALL    DEL
;============================================================================
        MOV     P1,#11110000B
        CLR     STOPBIT
        CLR     RUNBIT

WORK:   
        .
        .   
        .
        .
        .   
        .
        .
;============================================================================
;0.1 秒計時,使用 R0 設定時間長短 ;當 STOPBIT = 1 時結束跳出 DEL_TEN: CPL WATCHDOG JNB STOPBIT,DEL_TEN0 DEL_TEN0: CJNE R0,#0,DEL_TEN2 RET DEL_TEN2: MOV A,#10 MOV DELTIM,A DEL_TEN4: CPL WATCHDOG JNB STOPBIT,DEL_TEN6 RET DEL_TEN6: MOV A,DELTIM CJNE A,#0,DEL_TEN4 DEC R0 JMP DEL_TEN0 ;============================================================================ ;0.01 秒計時,使用 Acc 設定時間長短 DELINT: MOV DELTIM,A DELINT1: CPL WATCHDOG MOV A,DELTIM CJNE A,#0,DELINT1 RET
;============================================================================ TIMER0: PUSH A PUSH PSW MOV TH0,#0ECH MOV TL0,#077H MOV A,DELTIM CJNE A,#0,TIMER0A JMP TIMER0B TIMER0A: DEC DELTIM TIMER0B: JNB RUNBIT,TIMER0C ;工作中緊急停止判斷 JB STOPBIT,TIMER0C JB STOP,TIMER0C SETB STOPBIT TIMER0C: POP PSW POP A RETI


<<商標聲明>>
本網站於瀏覽者顯示器所出現之商標,皆為所屬公司之註冊商標,絕無侵犯之意。
建議使用I.E 4.0以上版本瀏覽器解析度1024*768觀看