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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.