mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Problem mit Bascom und HD4478


Autor: Aleksej Kiselev (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen! Ich hab hier ein Problem mit der Steuerung von einer
LCD-Anzeige mit dem HD44780A00. Die Anzeige hat nicht 14-pin-connector,
sondern nur 10 pins. Irgendwo hab ich gesehen, dass da alles im Prinzip
ähnlich ist und fehlen nur DB0-DB3, also die Anzeige kann man nur im
4-bit-Modus betreiben. Ich vermute, dass die Pinbelegung von dem
Connector so aussieht: GND-VCC-Kontrast-RS-R/W-E-DB4-DB5-DB6-DB7, aber
100%-sicher bin ich auch nicht. Ich hab den ganzen Tag lang damit
gespielt und festgestellt, dass die Anzeige initialisiert wird, einige
Befehle werden auch ausgeführt, aber ich bin nicht in der Lage was
vernünftiges auszugeben.  So wie es zur Zeit aussieht, kommen da nur
die Zeichen mit dem XXXX1111-Kode (ich hab es mit der Hilfe von der
Charset-Tabelle festgestellt). Und nach dem Start kriege ich statt
"Hello" nur ein Zeichen mit dem 10111111-Kode. Wenn ich versuche was
zu schiften, dann klappt es, aber nur bis 8 Position der Anzeige (die
ist eigentlich 16*1 gross), dann verschwindet das Zeichen. Mit dem
Bascom-Simulator wird ja alles richtig dargestellt, da hab ich keine
Probleme. Was könnte ich falsch machen? Stimmt irgendwas mit der
Pinbelegung nicht oder funktioniert ja diese Anzeige irgendwie anders?
Oder klappt es wegen dem Bascom nicht? Hier ist das Programm:

Config LCDMODE = PORT
Config Lcdbus = 4
Config Portb = Output
Config Portd = Output
Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 ,
Db7 = Portb.3 , E = Portd.1 , Rs = Portd.0
Dim A As Byte
Config Lcd = 16 * 1
Cls
Lcd "Hello"
Wait 1
Cursor Off
Cls
Lcd "Shift"
Wait 1
For A = 1 To 5
   Shiftlcd Right
   Wait 1
Next
Cls
Home
End

Für jede Art der Hilfe würde ich sehr dankbar sein! :)

Autor: Elch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie brennst du denn deinen MCU?

Autor: Werder (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klingt ja ziemlich interessant. Und was genau wird im Bascom-Simulator
angezeigt?

Autor: Kalle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Aleksej Kiselev

der Hinweis "...schiften, dann klappt es, aber nur bis 8 Position der
Anzeige ..." läßt auf ein LCD 16x1a vermuten. Ein solches Problem
hatte ich auch schon mal mit einme älteren 16x1 aus einem Scanner.

Habe dann mit
'Config Lcd = 16 * 1a'
gearbeitet und hat funktioniert. Nur bei shift oder Locate musst du
etwas spielen, da dann dass Display wie 8x2 angestuert wird. S. auch
hierzu die Hilfe zu CONFIG LCD
" LCDtype  The type of LCD display used. This can be :
40 * 4,16 * 1, 16 * 2, 16 * 4, 16 *  4, 20  2 or 20  4 or 16 * 1a
Default 16 * 2 is assumed.
When you have a 16 * 2 display, you don't have to use this statement.
The 16 * 1a is special. It is used for 2 * 8 displays that have the
address of line 2, starting at location &H8."

mfg Kalle

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.