
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
Hallo, nachdem ich mit dem I2C-Bus an Pin 9 + 10, Port C noch nicht weiterbin, habe ich mal, um die Funktionfähigkeit meines LCD zu prüfen, die Routinen von: http://www.the-starbearer.de/Roboterelektronik/LCDDisplays/LCDanI2C.htm am interen I2C-Anschluss probiert. Läuft auch, ... nur das LCD stellt den Text "blinkend" dar!!! Wieso das, gibt es bei der initialisierung der LC Display's eine Möglichkeit dieses auszuschalten??? Das Display hat einen KS0066 drauf. Dieser soll zum Standard kompatibel sein. Conrad Best.-Nr. 183512 ... achso, noch eine Frage: wie bekommt man eine einmal geladene s19-datei wieder aus der c-control heraus ? Können s19- und obj-dateien gleichzeitig im Speicher abgelegt werden ?? Ich hänge mal den Basic-Code vom Testprogramm an. Evtl. kann jemand eine Idee hierzu. ------------------- '######################################################################## '#LCDanI²C_C-Control.bas '# '#Demonstriert die Verwendung eines LCD-Moduls für den I²C-Bus mit PCF8474 '#an der C-Control. Programm gibt Textmeldung "OK" auf dem Display aus. '#Verwendet Assemblerroutinen I2C_M.OBJ '######################################################################## Define PCFAdresse Byte[1] 'Adressbyte für I²C-us- Routinen Define Daten Byte[2] 'Datenbyte für I²C-Bus- Routinen Define Lcd_Param byte[3] 'Datenbyte für LCD-Routinen Define lcd_buffer byte[4] 'zweites Byte für LCD- Routinen #Initialisierung 'PCFAdresse = 112 'Adresse für PCF8574A mit A0,A1,A2 auf Masse PCFAdresse = 64 'Adresse für PCF8574 mit A0,A1,A2 auf Masse gosub lcd_initialisieren 'LCD initialisieren auf 4bit- Betrieb gosub LCD_Clear 'Display löschen LCD_param = 1 'Parameter = 1 für nächsten Unterprogrammaufruf Zeilenwechsel Gosub LCD_GotoLine Gosub lcd_ausgabe_ok LCD_param = 2 'Parameter = 2 für nächsten Unterprogrammaufruf Zeilenwechsel Gosub LCD_GotoLine 'zeile 2 Gosub lcd_ausgabe_ok 'LCD "OK" ausgeben Goto ende #LCD_ausgabe_ok 'Unterprogramm: LCD-Ausgabetext: "OK" LCD_param = 79: gosub lcd_writecharacter LCD_param = 75: gosub lcd_writecharacter return '***LCD_Interface #LCD_Initialisieren 'alle Ports 0 Daten = 0: sys &h0101 '8-Bit-Modus aktivieren lcd_Param=&h38: gosub LCD_WRITECOMMAND 'mit 8-Bit-Modus in 4-Bit-Modus wechseln daten = &b00000010: sys &h0101 daten = daten+64: sys &h0101 daten = daten-64: sys &h0101 'ab jetzt 4-Bit-Modus Lcd_Param = &H28: Gosub LCD_Writecommand Lcd_Param = &H0c: Gosub LCD_WriteCommand 'display löschen #LCD_Clear Lcd_Param = &H02:Gosub LCD_WriteCommand Lcd_Param = &H01:Gosub LCD_WriteCommand return ' Zeilenwechsel #LCD_GotoLine if Lcd_Param = 1 then Lcd_Param = &H80 if Lcd_Param = 2 then Lcd_Param = &HC0 goto LCD_WriteCommand ' LCD Kommando #LCD_WriteCommand lcd_buffer = 0 goto lcd_write ' Zeichenausgabe #LCD_WriteCharacter lcd_buffer = &B00100000 ' Kommando oder Zeichen An LCD senden #LCD_Write 'Hi-Nibble daten = lcd_buffer or (Lcd_Param shr 4): sys &h0101 daten = daten + 64: sys &h0101 'pulse lcd enable daten = daten - 64: sys &h0101 'Low-Nibble daten = lcd_buffer or (Lcd_Param and &h0f):sys &h0101 daten = daten + 64: sys &h0101 'pulse lcd enable daten = daten - 64: sys &h0101 return '***I²C_Interface ' syscode "I2C_M.obj" 'sys &h0101(W) & &h0126(R) #ende end ------------------------------------------------------------ Danke schon mal Gruss, Gerhard |
| Antwort schreiben |