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 

 Re: c-control 1 application board LCD ansteuern ohne Cplus Kategorie: Programmierung Basic (von MaPi - 5.05.2013 21:34)
 Als Antwort auf c-control 1 application board LCD ansteuern ohne Cplus von andi - 29.04.2013 20:47
MaPi nutzt:  CC1-Unit V1.1, CC1-M-Unit V1.1, CC1-Station V1.1, C-Control 2
Hallo Andi,
um es einfacher zu machen, schlage ich vor, dass Du für's erste ein CCBASIC-Programm von CONRAD nutzt, welches zum Application-Board der CControl1.1 geliefert wurde, um die Funktion auszuprobieren.
Da kannst Du sicher davon ausgehen, dass die Anschlüsse des Displays am Appl. Board mit der Belegung in der Software zusammenpassen. Bei dem u.g. Quellcode von Wiesolator muss das nicht unbedingt gegeben sein, da er nicht explizit dfür das Appl.board sein Programm aufgesetzt hat.

Also bitte nutzte erstmal folgendes Programm von Conrad, um die Funktion des Displays am Appl.board der CC1 zu testen. Einfach rauskopieren, mit CCBASIC übersetzen und auf die CC1 laden.



'********************************************************************
'
' C-Control/BASIC       LCD1.BAS
'
' Systemvoraussetzungen:
'
' - Application Board mit angeschlossenem Display
'
' Schwerpunkt:
'
' - Ausgeben von Text am Display
'
'********************************************************************


' *** Daten-Definition ***
define lcd_buf byte
define lcd_param byte

' *** Definition LCD-Ports ***
define lcd_port byteport[2]
define lcd_rs port[14]
define lcd_rw port[13]
define lcd_e port[15]

'*** ASCII-Codes ***
define A_ &H41
define B_ &H42
define C_ &H43
define D_ &H44
define E_ &H45
define F_ &H46
define G_ &H47
define H_ &H48
define I_ &H49
define J_ &H4A
define K_ &H4B
define L_ &H4C
define M_ &H4D
define N_ &H4E
define O_ &H4F
define P_ &H50
define Q_ &H51
define R_ &H52
define S_ &H53
define T_ &H54
define U_ &H55
define V_ &H56
define W_ &H57
define X_ &H58
define Y_ &H59
define Z_ &H5A

'*** Programmoperationen  ***

  gosub LCD_INIT
  pause 10

' Ausgabe von Application Board  am Display
  lcd_param = A_ : gosub LCD_WRITECHAR       ' APPLICATION
  lcd_param = P_ : gosub LCD_WRITECHAR
  lcd_param = P_ : gosub LCD_WRITECHAR
  lcd_param = L_ : gosub LCD_WRITECHAR
  lcd_param = I_ : gosub LCD_WRITECHAR
  lcd_param = C_ : gosub LCD_WRITECHAR
  lcd_param = A_ : gosub LCD_WRITECHAR
  lcd_param = T_ : gosub LCD_WRITECHAR
  lcd_param = I_ : gosub LCD_WRITECHAR
  lcd_param = O_ : gosub LCD_WRITECHAR
  lcd_param = N_ : gosub LCD_WRITECHAR

  lcd_param = 2 : gosub LCD_GOTOLINE        ' Wechsel in die zweite Zeile

  lcd_param = B_ : gosub LCD_WRITECHAR      ' BOARD
  lcd_param = O_ : gosub LCD_WRITECHAR
  lcd_param = A_ : gosub LCD_WRITECHAR
  lcd_param = R_ : gosub LCD_WRITECHAR
  lcd_param = D_ : gosub LCD_WRITECHAR

  end


'*** LCD_Interface ***
'( muss in jedes Programm mit LCD-Ausgabe eingefuegt werden)

#LCD_INIT

' alle ports 0
  lcd_port = OFF

' 8-Bit-Modus aktivieren
  lcd_param=&H38 : gosub LCD_WRITECMD

' mit 8-Bit-Command in 4-Bit-Modus umschalten
  lcd_port=&B00000010
  tog lcd_e
  tog lcd_e

' ab jetzt 4-Bit-Modus
  lcd_param = &H28 : gosub LCD_WRITECMD
  lcd_param = &H0C : gosub LCD_WRITECMD

' Display loeschen
#LCD_CLS
  lcd_param = &H02 : gosub LCD_WRITECMD
  lcd_param = &H01 : gosub LCD_WRITECMD
return

' Zeilenwechsel
#LCD_GOTOLINE
  if lcd_param = 1 then lcd_param = &H80
  if lcd_param = 2 then lcd_param = &HC0
  goto LCD_WRITECMD

' LCD-Kommando
#LCD_WRITECMD
  lcd_buf = OFF
  goto LCD_WRITE

' Zeichenausgabe
#LCD_WRITECHAR
  lcd_buf = &B00100000

' Kommando oder Zeichen an Display senden
#LCD_WRITE
  lcd_port = lcd_buf or (lcd_param shr 4) ' Hi-Nibble
  tog lcd_e
  tog lcd_e
  lcd_port = lcd_buf or (lcd_param and &H0F)  ' Lo-Nibble
  tog lcd_e
  tog lcd_e
return

Zum Verständnis des Protokolls der Ansteuerung des LCDs empfehle ich Dir das Datenblatt eines (beliebigen...) 2x16Zeichen LCD mit HD44780 kompatiblen Controller. Dieser Standard ermöglicht, mit ein und dem selben Programm die LCDs verschiedener Hersteller anzusprechen. Also kannst Du auch in einem entsprechenden Datenblatt die Info zum Standard nachlesen...

Sie mal, ob das Programm was ausgibt und melde Dich nochmal...

Grüsse, MaPi

 Antwort schreiben

Bisherige Antworten: