Hi
Ich hänge gerade an einem Problem und komme absolut nicht weiter obwohl
eigentlich alles "richtig" ist.
Mit diesem Programm wird versucht eine Geschwindigkeit (in m/s) zu
berechnen und auf dem LCD Display auszugeben (µC 8252 (Atmel))
stattdessen gibt er immer nur 3 gleiche zahlenpaare aus.
....
.......
...........
;¸,o@´`'@o,¸¸,o@´`@o,¸¸,o@´`'@o,¸¸,o@´`'@o,¸¸,o@o,¸Initialisierung¸,o@´`
'@o,¸¸,o@´`@o,¸¸,o@´`'@o,¸¸,o@´`'@o,¸¸,o@o,¸
init: mov a,#0 ;Register A = 0
setb IT0 ;ext. Interrupt0 bei abfallender Flanke
setb EX0 ;ext. Interrupt0 freigeben
setb EA ;globale Interruptfreigabe
;¸,o@´`'@o,¸¸,o@´`@o,¸¸,o@´`'@o,¸¸,o@´`'@o,¸¸,o@o,¸Initialisierung ende
¸,o@´`'@o,¸¸,o@´`@o,¸¸,o@´`'@o,¸¸,o@´`'@o,¸¸,o@o,¸
chronen3:mov a,#00
lcall cursorpos
mov a,b
lcall dezaus
mov a,#40 ;Cursor auf die Postition
lcall cursorpos ;-Anfang zweiter Zeile- (Km/h Berechnung ab
jetzt)
mov a,b
lcall dezaus
ljmp chronen3
;¸,o@´`'@o,¸¸,o@´`@o,¸¸,o@´`'@o,¸¸,o@´`'@o,¸¸,o@o,¸Interrupt-Service-Rou
tine (MESSPROGRAMM-chrony) ¸,o@´`'@o,¸¸,o@´`@o,¸¸
startmess: mov a,#0 ;Register A = 0
startchron: inc a ;Register A inkrementieren 1Zyklus
((1/Takt) * 1000=T)
jb Taster2,endechron ;Wenn T2 auf high dann Messstop 2Zyklen
sjmp startchron ;Jump wenn T2 nicht high 2Zyklen
;Angenommen 5 Leds sind an nach dem stop d.h. 23
Zyklen sind vergangen (5x normaler durchlauf)(wenn T2 high 2zyklen)
;1 Zyklus entspricht 1µs bei 12MHz
endechron: mov b,#3 ;Reg B mit #3 (aufgrund der Zyklen)
MUL AB ;Multipliziere Reg A mit Reg B
mov b,a ;Inhalt von Reg A nach Reg B
mov a,#50000 ;Reg A mit #50000 (Abstand der Lichtschranken)
DIV AB ;Dividiere Reg A mit Reg B
mov b,#3 ;Inhalt von Reg A nach Reg B
MUL AB ;Multipliziere Reg A mit Reg B
mov b,a ;Inhalt von Reg A nach Reg B
reti ;Rückkehr aus dem Interrupt
;¸,o@´`'@o,¸¸,o@´`@o,¸¸,o@´`'@o,¸¸,o@´`'@o,¸¸,o@o,¸Interrupt-Service-Rou
tine (MESSPROGRAMM-chrony)-ENDE ¸,o@´`'@o,¸¸,o@´`@o,¸¸
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.