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


Funktionsgenerator/Sinusgenerator

;===================================================
;--- non maskable interrupt - Funktionsgenerator ---
;===================================================
;
            ORG     0066H
;
            .GLOBAL NMI
NMI:        PUSH    DE          ;Register sichern
            PUSH    HL
            PUSH    AF
            LD      HL,(FBFPOI) ;Zeiger auf Funktions-
            LD      A,(HL)      ;  tabelle
            INC     HL          ;Daten lesen
            LD      H,(HL)
            LD      L,A
            CALL    ODAC1       ;Wert ausgeben
            LD      HL,(FBFPOI) ;Zeiger erhöhen
            INC     HL
            INC     HL
            LD      DE,FBFEND   ;überprüfen, ob Ende
            PUSH    HL          ;  der Tabelle
            XOR     A
            SBC     HL,DE
            POP     HL
            JR      C,$1        ;nein
            LD      HL,FNCBUF   ;ja, Zeiger rücksetzen
$1:         LD      (FBFPOI),HL
            POP     AF
            POP     HL
            POP     DE
            RETN                ;Ende NMI-Service
;
            .DATA
FNCBUF:     DEFS    512         ;Funktionspuffer
FBFPOI:     DEFW    0           ;Zeiger auf Tabelle
            .CODE
;
FBFEND      EQU     FNCBUF+512
;
;===================================================
;---- Experiment: Sinusgenerator, Version B --------
;===================================================
;
            .GLOBAL SINUSB
SINUSB:     LD      HL,SINTAB   ;Sinustabelle laden
            LD      DE,FNCBUF
            LD      BC,512
            LDIR
            LD      HL,FNCBUF   ;Zeiger initialisieren
            LD      (FBFPOI),HL
SINGEN:     JR      SINGEN      ;warten auf NMI
;


Last Update: 2008-05-31