Das eBook Angewandte Mikroelektronik wurde von Hans Lohninger zur Unterstützung verschiedener Lehrveranstaltungen geschrieben. Weitere Informationen finden sie hier.


Stoppuhr mit CTC 3

;===================================================
;------ Experiment: Stoppuhr mit CTC 3 -------------
;===================================================
;
            .GLOBAL STPCLK
STPCLK:     IN      A,(PIN)     ;Status der Tasten
            AND     03
            LD      B,A
            LD      HL,0A5A5H   ;erste Anzeige
            LD      (LASTCK),HL ;  erzwingen
$LOOP1:     LD      DE,(CLKCNT) ;Zeit anzeigen
            LD      HL,(LASTCK) ;  nur wenn Änderung
            XOR     A
            SBC     HL,DE
            JR      Z,$4
            EX      DE,HL       ;neuer Wert
            LD      (LASTCK),HL ;  = alter Wert
            CALL    DSPHL       ;Anzeige
            LD      C,2
            CALL    SETDP
$4:         IN      A,(PIN)     ;Tasten prüfen
            AND     03
            XOR     B           ;Veränderung ?
            JR      Z,$LOOP1
            BIT     1,A         ;Reset ?
            JR      Z,$1
            LD      HL,0        ;Uhr rücksetzen
            LD      (CLKCNT),HL
            IN      A,(PIN)
            AND     03
            LD      B,A         ;Tasten aktualisieren
            JR      $LOOP1
$1:         IN      A,(PIN)     ;Start/Stop ?
            AND     03
            LD      B,A         ;Tasten aktualisieren
            BIT     0,A
            CALL    NZ,CLKGO
            CALL    Z,CLKSTP
            JR      $LOOP1
;
            .DATA
LASTCK:     DEFW    0           ;letzter Zeitwert
            .CODE
;
;===================================================
;------ Start clock (CTC 3) ------------------------
;===================================================
;
CLKGO:      PUSH    AF          ;Interrupt erlauben
            LD      A,081H
            OUT     (CTC3),A
            POP     AF
            RET
;
;===================================================
;------ Stop clock (CTC 3) -------------------------
;===================================================
;
CLKSTP:     PUSH    AF          ;Interrupt abschalten
            LD      A,001H
            OUT     (CTC3),A
            POP     AF
            RET


Last Update: 2008-05-31