Hallo kann mir jemand mal einen Tip geben wie man eine Stopuhr programmieren könnte, mit einer Messung der 1/100 stel sekunden. ist vielleicht ein externer Takt noch etwas genauer. komme irgendwie mit den timern des Atmels nicht hin. Danke Pierre
Hallo, Bestücke den AVR extern mit einem Quarz von 4,096 Mhz! Ungefährer Programmablauf: Normale Initialisierung.... Prescaler auf 1024 setzen Timerregister auf 40 setzen Interrupts zulassen irqroutine auf tirq setzen Timerinterrupt zulassen Timer starten irqflag=0 //beliebiges Bit auf null setzen mainloop: ist irqflag =1 dann springe nach setdisplay tue andere Dinge... springe nach mainloop tirq: irqflag=1 timerregister wieder auf 40 setzen rücksprung aus irqroutine setdisplay: irqflag=0 das Display ansteuern...oder was auch immer rücksprung aus setdisplay --------------------- Das dürfte das simple normale Verfahren sein. Die Kombination aus dem Quarz und dem Timerwert ergibt einen Interrupt präzise alle 10ms mit 0,0% Fehler Gruss
Hi ich hab mal etwas probiert. zuerst will ich erstmal ne stoppuhr, ohne eine lcd anzeige. die zeit soll in 2 registern gespeichert werden. leider hab ich noch nicht den gewünschten erfolg gehabt. kann mal jemand mein code anschauen. die zeit, in hundertstel sekunden, soll in den registern r17 und r18 gespeichert werden. ich hab eine taktrate von 4 mhz gewählt. danke Pierre
Hi, Ich habe zwar nicht alles überdacht aber inc R17 setzt kein C-Flag, nur Z,N,V. Du kannst R18 also nur über BRVS hochzählen. start: ldi r16, -0x61 ; lade dz. 97 ist es nicht einfacher ldi R16,97 zu schreiben, mein ASM kann das. Gruß Uwe
hallo habe die application note von avr gelesen. jedoch komme ich immer noch nicht weiter. kann sich jemand noch mal die geänderte datei ansehen. es soll jede hunsertstel sekunde ein register inkrementieren. bei länger als 256 hundertstel sekunden. wird das nächste register genommen. wie könnte man die stopuhr noch anders bzw. genauer programmieren?? danke Pierre
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.