Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 c-control 1 application board LCD ansteuern ohne Cplus Kategorie: Programmierung Basic (von andi - 29.04.2013 20:47)
andi nutzt:  CC1-Unit V1.1
Hallo,

Ich gehe gerade meine ersten Schritte im Programmieren und bin schon langsam verzweifelt..
Und zwar versuche ich das Display vom application board der C control 1 anzusteuern. Wenn ich es in Cplus "anschließe", funktioniert es einwandfrei, aber ohne cplus ansteuern geht nicht.
Da ich alleine noch nicht weit komme, habe mir also erstmal ein Tutorial rausgesucht..

Nach diesem hier gehe ich vor:
http://www.wiesolator.de/index.php?area=C-Control&topic=LC-Display

Mit ein wenig Kopiererei und meinen Ports, sieht es dann so aus:

  Define D4   Port[12]  'D4
  Define D5   Port[13]  'D5
  Define D6   Port[14]  'D6
  Define D7   Port[15]  'D7
  Define EN   Port[18]  'Enable
  Define RS   Port[17]  'Register Shift
  Define RW   Port[16]  'Read/Write
  Define Wert Byte[1]   'speichert Zahl für den Buchstaben oder Befehl

gosub LCD_INIT

#LCD_Init
  Wert = 51           'LCD initialisieren
  GoSub LCD_Comand
  pause 40
  Wert = 2            '4-Bit Modus einstellen
  GoSub LCD_Comand
  pause 40
  Wert = 40
  GoSub LCD_Comand
  pause 40
  Wert = 12           'Display OFF
  GoSub LCD_Comand
  pause 40
  Wert = 1            'Display clear
  GoSub LCD_Comand
  pause 40
  Wert = 6            'Entry-Mode
  GoSub LCD_Comand
Return

#LCD_Write
  RS = 1          'LCD für Datenempfang bereit (Zeichen Ausgabe)
  GoTo LCD_in

#LCD_Comand
  RS = 0          'LCD für Befehle bereit (Initialisierungsmode)
  GoTo LCD_in

#LCD_in
  'senden der ersten 4 Bits an das LCD und die ersten 4 Bits lesen
  D7 = Wert And 128
  D6 = Wert And 64
  D5 = Wert And 32
  D4 = Wert And 16
  Pulse EN
  'senden der zweiten 4 Bits an das LCD und die zweiten 4 Bits lesen
  D7 = Wert And 8
  D6 = Wert And 4
  D5 = Wert And 2
  D4 = Wert And 1
  Pulse EN
Return

#LCD_cls
  Wert = 1          'Display-Inhalt löschen
  GoSub LCD_Comand
Return

  GoSub LCD_Init      'Display nach Programmstart initialisieren
  Wert = 65           'Ein A ausgeben
  GoSub LCD_Write
  Wert = 66           'Ein B ausgeben
  pause 200
  GoSub LCD_Write
  Wert = 67           'Ein C ausgeben
  GoSub LCD_Write
  Pause 500           '10 Sekunden Pause
  GoSub LCD_cls       'Display-Anzeige 'ABC' wieder löschen



pause 60



Auf dem Display tut sich so aber leider garnichts.. bitte nicht gleich zur sau machen wenn das alles komplett falsch ist^^ leider finde ich kein Datenblatt vom application board lc display.
Kann es sein das "nur" die werte zum initialisieren falsch sind?

Was ich auch nicht verstehe ist folgender Baustein:

#LCD_in
  'senden der ersten 4 Bits an das LCD und die ersten 4 Bits lesen
  D7 = Wert And 128
  D6 = Wert And 64
  D5 = Wert And 32
  D4 = Wert And 16
  Pulse EN
  'senden der zweiten 4 Bits an das LCD und die zweiten 4 Bits lesen
  D7 = Wert And 8
  D6 = Wert And 4
  D5 = Wert And 2
  D4 = Wert And 1

Wieso wird der Wert "and x" genommen? was bringt es denn wenn ich zb als Wert 11 habe und dann 128 addiert werden?
falls ich noch komplett aufm schlauch stehe, wäre ich sehr dankbar für links, die sich vorallem mit der c control 1 beschäftigen..

danke schonmal im vorraus!
Gruß andi

 Antwort schreiben

Bisherige Antworten:

Re: c-control 1 application board LCD ansteuern ohne Cplus (von MaPi - 5.05.2013 21:34)