mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LCD Programm mit KS0066U Controller "Betaphase"


Autor: Karl B. (gustav)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
Progrogrämmchen for ATMega8515 und Anagvision AV1621.
Wer schaut mal drüber?
Danke schon mal im voraus.

Es grüßt
Gustav

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Du hast doch Symbole für PortB und PortD vereinbart:

.equ impuls = portd
;.equ impuls1 = portb  ;fuer RS und Enable Pinout PORTB

Wieso kommentierst Du fehlerträchtig an diversen Stellen so aus:

out  impuls,  temp  ;RS auf "low" Pinout PORTD
;out  impuls1, temp  ;RS auf "low" Pinout PORTB

statt das Ding immer impuls heißen zu lassen und an EINER Stelle

.equ impuls = portd
;.equ impuls = portb  ;fuer RS und Enable Pinout PORTB

nur die Portzuweiseung anzupassen?

Gruß aus Berlin
Michael

Autor: Karl B. (gustav)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat nen einfachen Grund,
weil ich das Ding im 4-Bit- Modus erst nicht ans Laufen brachte, habe 
ich das ganze Pinout nochmals auf der Platine auf den 8-Bit-Modus 
umgelötet.
Jetzt wollte ich nicht schon wieder löten.
Übrigens sollten die Don't care Eingänge mit Widerstand 1 kOhm gegen 
Masse geschaltet werden.
Die "falschen" Impulse stören tatsächlich nicht. Es läuft der 
Vierbit-Modus, auch wenn der Port überflüssigerweise bei den unteren 
4-Bits jetzt nicht mehr benutzt wird.

Also, wenn man möchte, kann man die ausgeremten Befehle reinsetzen, muß 
dann aber die anderen rausremen.
Deswegen die Deklarationen am Anfang impuls und impuls1.

Habe es tatsächlich mal gemacht, die REMs alle rausgenommen, also RS und 
Enable auf beide Ports "dupliziert" - völlig überflüssig- ok ich weiß, 
nur um zu testen, ob tatsächlich die unteren Vier Bits dadurch nicht als 
"Daten" interpretiert werden.
Es klappt. Also voll Vierbit-Modus.

Das war eben nur ein Test "wie gesagt- Betaphase"

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Du hast mich mißverstanden...
Um die Sachen von PortB auf PortD umzulegen, reicht EINE Änderung der 
Portzuweisung zum Symbol.

Deine Methode, an vielen Stellen unnötige Änderungen zu machen, macht 
Arbeit und provoziert Fehler, weil man schnell eine Zeile übersieht und 
ewig den Fehler sucht.

out  impuls,  temp  ;RS auf "low" Pinout PORTD
gibt den Inhalt von "temp" an "impuls" aus.

Ist .equ impuls = portd wird an PortD ausgegeben,
ist .equ impuls = portb wird an PortB ausgegeben.

Ist also genau eine Zeile zu ändern, um von PortD auf PortB zu wechseln.
Das ist ja gerade der Sinn von Symbolen. :)

Gruß aus Berlin
Michael

Autor: Karl B. (gustav)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, war nur für mein schwaches Gedächtnis gedacht.
Dann weiß ich hinterher besser, wo im Programm was eventuell noch 
geändert bzw. wieder umgeschrieben werden muß, daher auch total 
überflüssig zu erachtende Kommentare.
Ich gebe dann in Word Suchbegriff impuls1 ein und änder auf einen Schlag 
den Text. Mit ersetze Text durch "irgendwas"
Ist dann auch besser, wenn noch mehr in der Zeile steht dann als 
Kommentar.

Autor: Karl B. (gustav)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist immer ein Problem.
Das Programm soll ja schon mal testweise laufen, ohne, daß man vorher
irgendetwas editieren muß.
Ist eine Deklaration oder Ähnlichers erst noch reinzusetzen, läuft es ja
nicht von alleine, bevor man die Dinge auf die jeweiligen Bedingungen
angepaßt hat.
Das ist wohl auch der Kardinalfehler, wenn man Progs vom Netz runterlädt
und meint, es müßte alles sofort auf Anhieb klappen.
Die Portzuweisungen für high uund low nibble sind im STK500 Board bei
der 4-Bit-Modusdarstellung zum Beispiel genau umgedreht, wie im
AVR-Tutorial hier beschrieben.

Auch ein Lerneffekt.

Noch irgendwelche anderen Auffälligkeiten:
Ja, ja, zweimal den Entry Mode Set .
Sonst kommt es beim manuellen Reset nicht rein.
Da weiß ich auch nicht woran es liegt. Am Timing wohl nicht. SDie 
Zeitschleifenwerte sind ziemlich großzügig dimensioniert wohl wil ich 
meinen. Oder?

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.