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


Experiment: Frequenzmessgerät

Das im Folgenden aufgebaute Frequenzmessgerät erlaubt die Messung der Frequenz eines Rechtecksignals mit einer Auflösung von 2 Hz im Bereich von 0 bis 32 kHz. Die Abbildung zeigt den Aufbau. Es werden die Platinen uP1, SERPAR und 7SGDSP verwendet. Das Prinzip des Frequenzmessgeräts ist einfach: Es werden über den Kanal 0 des CTC alle Eingangsimpulse eine Sekunde lang gezählt und der Wert wird dann auf dem Display ausgegeben.

Experiment: Frequenzmessgerät

Das Steuerprogramm für das Frequenzmessgerät ist sehr einfach aufgebaut, da die eigentliche Messfunktion in der Interruptroutine der Zeitbasis ausgeführt wird. Das Programm braucht also nur mehr den Messwert am Display ausgeben, wenn sich dieser verändert hat. Nach der Initialisierung läuft das Programm in einer Endlosschleife, in der permanent das Display aktualisiert wird.

;===================================================
;------ Experiment: Frequenzzähler mit CTC 0 -------
;===================================================
;
            .GLOBAL FQCNT
FQCNT:      LD      A,C5H       ;Zähler initial.
            OUT     (CTC0),A
            LD      A,0
            OUT     (CTC0),A
            CALL    CLKGO       ;Zeitbasis starten
            LOAD    FQHB,0      ;Overflow rücksetzen
            LD      HL,0
            LD      (FREQ),HL
            INC     HL
            LD      (LASTFQ),HL ;Anzeige erzwingen
$1:         LD      DE,(FREQ)
            LD      HL,(LASTFQ)
            XOR     A
            SBC     HL,DE
            JR      Z,$1
            LD      (LASTFQ),DE ;Anzeige nur, wenn
            EX      DE,HL       ;  Wert geändert
            ADD     HL,HL       ;Jumper J3 auf Q0
            CALL    DSPHL
            LD      C,3
            CALL    SETDP
            JR      $1
;
            .DATA
LASTFQ:     DEFW    0           ;letzter Frequenzwert
            .CODE
Hinweis:

Zur korrekten Funktion des Programms ist es notwendig, dass Jumper J3 auf der Platine SERPAR den Zählereingang mit Q0 des Vorteilers verbindet.

 


Last Update: 2010-12-05