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.