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.