mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Von 10Mhz nach 20Mhz umschreiben


Autor: Ingo (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
HAllo, ich habe ein rießen problem. Und zwar muß ich in zwei Wochen
mein Projekt über einen Frequenzähler abgeben und ich bekomme bis jetzt
nur eine LCD ausgabe. Kann mir bitte bitte jemand helfen das prog im
Anhang von 10Mhz auf 20Mhz umzuschreiben bekomme es nicht hin. Bitte
Leutz das is meine Prüfungszulassung. Also noch ma
das prog is für einen 10 Mhz takt geschrieben und ich brauche es für
einen 20 Mhz takt bitte hilfe!!!!
Im voraus vielen Dank den Helfenden!!!

Autor: jmoney (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sehe ich das richtig, dass bis jetzt deine einzige Änderung an diesem
Listing die Entfernung dieser Zeile ist?

sprut (zero) Bredendiek 11/2001

Wer fremden Code als seinen eigenen ausgeben kann, kann ihn meiner
Meinung nach zumindest selbst verstehen lernen, um seine Änderungen
dran zu machen.

Viel Spaß noch bei deiner Prüfung!

Autor: Ingo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das is doch das problem ich verstehe ihn doch nicht und ich hab ihn auch
nicht als meinen Ausgegeben ich verstehe es nur nicht. Und kenne niemand
der das kann also bitte bitte hilfe

Autor: peter dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Code sieht auch für nen Nicht-PICer gut kommentiert aus. Ich hätte
vielleicht den Assembler die Konstanten ausrechnen lassen, statt die
Bytes direkt reinzuhacken, aber die Formeln stehen ja als Kommentar
dabei. Vielleicht kann der PIC Assembler ja auch keine 32Bit-Werte.


Interessant, wie man ne 32Bit Subtraktion ohne Carry hinkriegt, ist
zwar mächtig viel Code, aber immerhin es geht.


Du bringst mich in Gewissenskonflikt, ich bin ja der Meinung, daß
Hilfen überhaupt nichts bringen, wenn man sie nicht versteht.

So als dirty hack würde ich vorschlagen, einfach noch 20 NOPs in die
Meßzeitschleife.


Peter

Autor: Ingo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Toll danke werde ich gleich versuchen. Ich versuche das ja zu verstehen,
aber das ist alles nicht so einfach!

Autor: Ingo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Irgendwie funzt was net wenn ich ein prog. drauf mache das eine nur eine
LCD ausgabe macht geht es doch wenn ich das im Anhang(oben) drauf mache
geht garnix ich nutze den PIC 16f628 und geschrieben wurde das prog von
Sprut auf 16f84 habe die warteschleife verlängert und die nop befehle in
die Meßzeitschleife eingebaut aber trozdem keine ausgabe auf dem lcd
wieso aber??????? Bitte Hilfe

Autor: Ingo (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
habe das prog geändert aber irgendwie mag es noch nicht laufen, bitte
springt über eueren schatten und helft mir bitte bitte ich schaffe das
alleine nicht. Das ist sehr wichtig das ist meine Prüfungszulassung
bitte helft mir

Autor: akw (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich frag mich immer wieder wie des sein kann das du keine Ahnung von
Assembler hast aber das deine Aufgabe ist?! Das ist doch net Sinn der
Sache oder? Ich schreib in der Schule ja auch keine Arbeit über Stoff
den wir noch net hatten...

Autor: Ingo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Toll das von euch keiner unten angefangen hat. Ich bin halt noch am
lernen und wenn das prog gehen würde könnte ich mir es daran klar
machen wie es geht aber an einem prog das nich läuft is das schlecht.

Autor: Stephan Henning (stephan-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
zeig doch mal was Du schon hast !!! Vielleicht hift Dir ja dann jemand.
Ist heir jedenfalls so üblich.

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klar haben wir alle unten angefangen. Aber nicht damit, den Code anderer
Leute als Prüfungszulassung zu verwenden, und ihn dann nicht mal zu
verstehen.
Ich gehe ja davon aus, dass die Aufgabe nicht erst seit gestern bzw.
heute morgen steht...

Autor: Ingo (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
So wenigstens einer hier ist sozial. So das ist das was ich habe ist
aber von sprut und muß das nur auf 20 Mhz umschreiben bitte helft mir
bitte bitte

Autor: Stephan Henning (stephan-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Ingo, ich meinte was DU schon hast, nicht was Sprut mal gemacht hat.
Ich denke Du bekommst schon eine Displayausgabe. Womit denn ??
Das hier ist immer noch der Code vom Sprut. Hier will man sehen was DU
bisher schon geschrieben hast für den Zähler. Und da ja schon Text
rauskommt mußt Du ja was eigenes haben.
Außerdem ist der Code vom Sprut für nen 16f84 und nicht wie Du möchtest
ein 16f628.
( Bin nicht sicher ob die kompatibel sind ( mache 8051). )

So dann
Nimm einen Timer, definiere eine Überlaufrate,starte Ihn, und zähle die
Impulse an einem Pin während der Zeit bis zum Überlauf. Das ist die
gesucht. Mußt nur noch umwandeln.

ODER

nimm einen Timer, definiere Überlaufrate, nimm Portpin mit Int. und
messe die PEriodendauer zwischen 2 H/L oder 2L/H Flanken. Dann 1/s und
fast fertig.

Den Anfang muß Du schon machen. Und 2 Wochen sind noch viel Zeit !!!

Autor: Ingo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok fange dann mal an und meld mih wenn ich nicht weiter komme!!! Danke

Autor: ka-long (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

Wenn Du das Programm nicht auf 20MHz umschreiben kannst, solltest Du
die Prüfung gar nicht erst versuchen.

Außerdem schreibt Dir hier hoffentlich keiner einen fertigen Code, das
wäre unzulässig. Außerdem nützt Dir das für die Prüfung nix.

Der Code ist gut dokumentiert und wenn Du Assembler einigermaßen
kannst, solltest Du die paar wenigen Stellen finden. Der Aufwand sollte
(schon gutmütig angesetzt) keine 2h dauern.

Ansonsten bau das Ding auf und takte es mit 20MHz und schau, wie sich
das Ding verhält:

a) Klappt die LCD Ausgabe noch ?
b) Zeigt die Ausgabe vielleicht die Häfte/Viertel oder das
Doppelte/Vierfache der völlig falsch/gar nicht an ?

Wenn a) nicht geht, dann mußt Du in der Routing des LCD das Timing
verlangsamen...

Je nachdem was mit b) ist ist es ja ganz einfach.....

Gruß ka-long

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
solchen leuten sollte man definitiv nicht helfen...

ich fass es nicht. mach deine arbeit selber !

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde erstmal mit der original Frequenz und mit dem original-PIC
probieren, obs überhaupt funktioniert und erst dann die Änderungen
vornehmen.

Die 20 NOPs meinte ich natürlich in der Zählschleife, die als genau 20
Zyklen lang angegeben ist.


Einen anderen PIC zu nehmen, kann sehr leicht in die Hose gehen, da
gibt es ne Menge Fallgruben (siehe Sprut Webseite).

Die PICs sind auf keinen Fall so kompatibel, wie z.B. die 8051-er, da
laufen oft sogar die gleichen Hex-Files auf nem anderen Derivat.
Die 8051 stammen von Intel (8086-CPU) und die haben quasi die
Kompatibilität erfunden.


Peter

Autor: Stephan Henning (stephan-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Peter,
habe ich das doch richtig gesehen. Die 20 NÖP´se waren da völlig falsch
platziert.....Bin auf arbeit nur rübergeflogen. Mitten im INIT.

Machst Du etwa auch PIC ??? Ekelhaft....
Ich werde damit nicht warm.

Ich habe da nen Beitrag mit LCD in ISR für 8051. Wäre an Deiner Meinung
sehr interessiert, bist ja richtig fit. Verdienst Du Deine Miete damit
??
Ich mache das nur aus Hobby so zum Spaß.

Also bis dann und Danke

Stephan

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter und PIC... zwei Welten treffen aufeinander... ;)

Vielleicht sollte Ingo, sofern er das vorhandene Programm überhaupt
(auf dem von Sprut vorgeschlagenen Controller) zum Laufen bekommt, sich
an die Aufgabe herantasten, indem er als erstes die LCD-Routine(n) auf
seinen Controller überträgt, und sich dann erst um die Frequenzzählung
kümmert.

Autor: Wegstabenverbuchsler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Rahul

> indem er als erstes die LCD-Routine(n) auf seinen Controller
überträgt

Der Ursprungsposter schrieb ja bereits
"und ich bekomme bis jetzt nur eine LCD ausgabe."

Also scheint das ja bereits zu funktionieren.


@Ingo
Was genau geht denn nun und was geht nicht?
Versuche, dich präzise auszudrücken. Damit schaffst DU DIR SELBST
eine Grundlage für die Fehlersuche bzw. für notwendige Unterstützung.

Alle die hier auf dem Board was schreiben machen das aus reinem
Vergnügen. Und je besser dei Frage, desto besser die Antwort.

Ein Ticket einzustellen der Form "Der Motor in meinem Auto klappert so
komisch, hat jemand eine Idee was es sein kann" wird nicht sehr
zielführend sein und nur Trolle aufwecken.

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich wette, er hat nichteinmal sich das Datenblatt angeschaut..
Ich kenne das damals aus meiner Ausbildung, als der Lehrer und versucht
hatte in 6 Monaten ASM beizubrinngen kahm auch nicht viel rueber..
Zu Hause mit ienem kleinem Atmel keine 2 Wochen bis zu den erstem
kleinem Programm..

Autor: peter dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Stephan

"Machst Du etwa auch PIC ??? Ekelhaft...."

Nein.

Das Beispiel ist aber gut kommentiert und strukturiert, so daß man auch
als nicht-PICer durchsieht.

Ich hab mich auf 8051 und AVR eingeschossen, damit kann man alles
machen. Der AVR hätte viel Potential, wenn er wenigstens auch
Interruptprioritäten hätte.


Mit dem ARM7TDMI bin ich nicht so richtig warmgeworden, der ist mir zu
undurchsichtig (spurious Interrupts) und zu umständlich.


Mit dem PIC habe ich kurz mal angefangen, als der SX18 (PIC12-Derivat
mit 50MIPS) rauskam, bin aber zu dem Schluß gekommen, daß ich damit
meine Aufgabe nicht lösen kann. Daß der Timer kein Interruptflag und
keinen eigenen Vektor hatte, war der Todesstoß. Interrupts, von denen
ich nicht weiß, wer sie ausgelöst hat, sind total nutzlos. Und daß ein
Call nur in gerade 256Wort-Pages geht, ist oberkrank.


Peter

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.