DIY Arduino – Display programmieren in Bascom

von Holger Fritzsch
Nachdem man den DIY-Einfachprogrammer, hoffentlich mit Erfolg nachgebaut hat, möchte man vielleicht auch die Daten einmal visuell darstellen. Es ist Ziel dieses Beitrags die Anschaltung des LCD der Fa. Pollin unter der Bascom- IDE darzustellen. Es handelt sich um ein 8*2 LCD der Fa. Hitachi, das dem Industriestandard nach mit einem HD4470/KS077 Prozessor bestückt ist. Es beinhaltet den ASCI- Zeichensatz. Wir wollen, wie oben erwähnt, es im 4- Bit- Mode ansteuern und unter Bascom nutzen.
HD47780 kompatibeles Display am DIY Arduino
Zusätzliche Hardware
Das LCD hat einen Flex- Kabelanschluß und einen zugehörigen Connector. Um es mit dem Steckboard zu kontaktieren bieten sich einzelnen Litzen eines IDE-HDD-Kabels an.
Zusätzlich verwendete Hardware
• LCD-Modul C0802-04 Bestellnr.120 622 (0,95€)
• Steckboard SYB 46 Bestellnr. 510 369 (1,95€)
Beschaltung und Verdrahtung
Das LCD hat einen Flex- Kabelanschluß und einen zugehörigen Connector. Um es mit dem Steckboard zu kontaktieren bieten sich einzelnen Litzen eines IDE-HDD-Kabels an.
Rückseite des LCD
Beschaltung
Der Kontrastpoti liegt zwischen Plus und Minus, der Schleifer wird an Pin 3 (LCD) angeschlossen. Der Werte für den Poti kann 1 bis 10kOhm betragen. Ist der Wert zu hoch ist die Kontrasteinstellung "auf den Punkt" kritischer.
Steckboard mit gesetzten Brücken, LM78L05, Pullup-Widerstand 10kOhm
Testprogramm in BASCOM
'******************************************************************************************************************'
'* Demo- File Pollin- LCD am ATMega328p mit Arduino- Bootloader                                                   *'
'******************************************************************************************************************'
' µP- Definitionen
  $regfile = "m328pdef.dat"
  $crystal = 16000000
  $hwstack = 40
  $swstack = 16
  $framesize = 32
' LCD- Definitionen

  Config Lcd = 16 * 2 , Chipset = Ks077                     'LCD definieren
  Config Lcdbus = 4                                         'LCD wird im 4-Bit-Modus betrieben
  Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.0 , Db7 = Portb.1 , E = Portb.3 , Rs = Portb.2
  Cursor Off                                                'Cursor aus


  Cls                                                       'Anzeige löschen


 ' Simple Test- Programm
  Do
    Locate 1 , 1                                            'schreibe in 1. Zeile 1. Spalte von links
    Lcd "LCD mit"
    Locate 2 , 1                                            'schreibe in 2. Zeile 1. Spalte von links
    Lcd "Bascom"


    Loop                                                    'Schleife
  End                                                       'Ende
Optionen in Bascom
Für die fehlerfreie Kompilierung müssen folgende Optionen unter Bascom gesetzt sein.
Einstellungen in der BASCOM IDE
Abschließende Erläuterungen
Das LCD hat, je nach Stellung des Kontrastreglers, einen Stromverbrauch von:
• pin3 an +UB 5V → 317µA
• pin3 an Masse → 820µA, dann hat man „Klötzchen“ auf dem Display
Das LCD eignet sich also für „Low Power“- Anwendungen. Im Zusammenwirken mit dem „Arduino- IC- AT328p“ stellt es die Ideallösung in puncto Stromverbrauch dar. Es ist nutzbar mit der Bascom- IDE, die schnelle Lösungen bei geringer Einarbeitung verspricht. Leider hat die DEMO- Version eine Programmgrenze von 4kB. Mehr geht nur mit der Kaufversion (ca. 75- €). Da ist die Arduino- IDE mit bis ca. 30kB (2KB nutzt der Bootloader) in dieser Hinsicht komfortabler. Hier ist der Einarbeitungsaufwand höher. Allerdings hat Arduino im Grafikbereich, wie im kürzlich im Franzis Verlag erschienenen, „Maker Kit – Grafikdisplay programmiern“ von T. Baum, durch einige Programmbibliotheken enorm an Attraktivität gewonnen. So daß es mit der Einarbeitung gut voran geht. Auf jeden Fall haben beide IDE 's ihre Berechtigung. Es ist also abhängig vom persönlichen Geschmack. Die Hardware für den schnellen Wechsel zwischen den Welten liegt vor.
Download und Links: