Forum: Mikrocontroller und Digitale Elektronik einsteiger auf verzweifelter fehlersuche :(


von kroes (Gast)


Lesenswert?

hallole, find einfach den fehler net :(
- in abhängigkeit der potistellung soll sich die frequenz des
hochzählens an p4 ändern...
- das ganze lädt auf einem 80c535
- die einsprungadressen am anfang entsprechen meinem hd-aufbau

------------------------

                ORG  802BH    ;hd-einsprungadresse
    LJMP  int

    ORG  8043H    ;hd-einsprungadresse
    LJMP  timer

    ORG  8100H

;Timer + AD initialisieren
    SETB  ET2    ;enable t2 interupt
    SETB  EAL    ;enable all interrupts
    CLR  T2R0    ;disabable autoreload
    CLR  EADC    ;enable AD interrupt
    SETB  T2PS    ;frequenz halbieren

    SETB  MX0    ;channel 7
    SETB  MX1    ;channel 7
    SETB  MX2    ;channel 7
    SETB  ADM    ;kontinuierliches wandeln

    MOV  DAPR, #0  ;messbereichswahl
    JB  BSY, $    ;polling

    SETB  T2I0    ;startet timer
    CLR  T2I1    ;startet timer
    MOV  TL2, ADDAT  ;startregister L setzen
    MOV  TH2, ADDAT  ;startregister H setzen

    MOV  R0, #0    ;zählregister null setzen
    SJMP  $    ;polling

;Timer
timer:    CLR  IADC    ;rücksetzen flag IADC
    MOV  TL2, ADDAT  ;startregister L setzen
    MOV  TH2, ADDAT  ;startregister H setzen
    RETI      ;verlassen des unterprogrammes

;Interruptprogramm
int:    CLR  TF2    ;rücksetzen flag TF2
    INC  R0    ;zählregister incrementieren
    MOV  P4, R0    ;ausgeben des zählwertes
    RETI      ;verlassen des unterprogrammes

------------------------

thx for help

von Pfi (Gast)


Lesenswert?

Hallo!

Bin mir zwar nicht sicher, aber du müsstest doch am Schluss des
Programmes in eine Endlosschleife, wo nur noch auf die Interrupts
gewartet wird (vielleicht zusätzlich noch ausgabe der Messwerte). Diese
kann ich aber nirgends finden. Was passiert bei SJMP $    ; polling ??

Gruss

von Jens123 (Gast)


Lesenswert?

wuerde ich auch vermuten

main:
      //Nix tun
jmp main;

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.