http://nopaste.info/35ecd989d8.html Moin Volk! :) Endlich hab ich mal gelegenheit hier bei euch ins Forum zu schreiben! hihi Also bin ITA-Schüler 13.Klasse und im Blockprojekt. Wir haben uns als Aufgabe genommen mit unserem Mikrocontroller einen Frequenzmesser zu basteln. Dabei war das klare Projektziel folgendermaßen definiert: Timer0 = als Timer benutzen Timer1 = als Counter benutzen Unser Timer läuft 50ms und das 20 mal, um eine Sekunde zu kriegen. Wir sollten der Einfachheit halber aber nur einen Frequenzbereich bis 255Hz abdecken, also nur die TL1 zum Anzeigen auf einem Display benutzen. Soweit sind wir auch bis heute gekommen. Unseren ASM-Code habe ich angehangen. Jetzt würde ich gerne Ansätze wissen, wie ich TH1 mit einbeziehe und somit einen Frequenzbereich von 65535 Hz abdecke. Ich dachte schon daran, dass ich größere oder kleinere Frequenzbereiche messen kann, in dem ich meine Timer Sekunde vergrößer oder verkürze. Dann müsste ich halt nur im nachhinein wieder mit dem Divisor oder Multiplikant zurück dividieren bzw. multiplizieren. Dann hätte ich aber immer noch das Problem, dass ich bei größeren Frequenzen eine 16Bit Variable definieren müsste, um die Ausgabe zu realisieren. Und laut unserem Code können wir nicht auf die Akkumulatoren A oder B zugreifen, weil sie benutzt werden... MfG Rahman
Abdullah Rahman wrote:
> http://nopaste.info/35ecd989d8.html
Sowas macht man nicht.
Sorce als HTML, DOC, PDF, BMP usw. ist ein ganz böses Foul.
Eine ASM-Source heißt entweder *.asm oder *.a51 und dann als
Dateianhang.
Bzw. wenn es mehrere Files sind, als *.zip.
Peter
Ich hatte erst versucht die Datei anzuhängen, das klappte irgendwie nish...:( Unsere Datei hat die Endung *.s51 weil wir die Wickenhausener-Tools benuten. Hier die Datei noch einmal zum runnaladen... http://uploaded.to/?id=v5ys9o
na dann mach ich das mal,..
kann mir denn wenigstens jmd sagen, wie ich eine 16bit variable definieren kann? bzw. einen wert speichern kann der bis 65535 geht...büdde :(
Da es in ASM ist, sollte Var16 db 2 funktionieren. "db" bedeutet "define byte space" und reserviert dir in dem Fall 2 Byte Speicher. So macht es zumindest der Assembler, den wir in der Ausbildung benutzt haben, ich denke aber, der WH machts nicht groß anders. Andersrum gesehen sagt dir das Handbuch zum WH bestimmt, wie's geht... Das Überlauf-Handling musst du aber selbst implementieren, in C machts der Compiler. Ralf
nimm einfach 2 Speicherzellen und betrachte sie als Variable. zB. WH und WL
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.