Hi,

ich bin Schüler und habe mir das I²C-BUS LC-DISPLAY C-CONTROL I bei Conrad bestellt (http://www.conrad.de/goto.php?artikel=198330) und versucht es mit meinem atmega32 und einem Quarz von 16MHz zum Laufen zu bringen. Scl(Portc.0) und Sda(Portc.1) sind genauso wie V+ und Gnd angeschlossen.

Zum Programmieren habe ich mir die Lcd_i2c.lib heruntergeladen (http://www.mcselec.com/index.php?opt...d=82&Itemid=57) und das beiligende Demoprogramm so umgeschrieben:


Code:
$regfile = "m32def.dat"
$crystal = 16000000

$lib "Lcd_i2c.lib"                                          'My I2C driver for the LCD

Config I2cdelay = 1

Const Pcf8574_lcd = &H40                                    'Defines the address of the I/O expander for LCD

Config Scl = Portc.0                                        'Configure I2C SCL
Config Sda = Portc.1                                        'Configure I2C SDA
Dim _lcd_e As Byte                                          'Needed to control 4 line LCD



'_lcd_e = 128 select E1, 64 select E2, 192 select both (for CLS or DefLCDChar etc.)
_lcd_e = 128                                                'Upper half of 4-line display is selected

'Here the LCD test program that is included in Bascom follows
'and at the end there is a demo of the keyboard scan routine

Dim A As Byte
Config Lcd = 16 * 2                                         'configure lcd screen
'other options are 16 * 4 and 20 * 4, 20 * 2 , 16 * 1a
'When you dont include this option 16 * 2 is assumed
'16 * 1a is intended for 16 character displays with split addresses over 2 lines

'$LCD = address will turn LCD into 8-bit databus mode
'       use this with uP with external RAM and/or ROM
'       because it aint need the port pins !
' Put your own strings here
Cls                                                         'clear the LCD display
Lcd "Hello world."                                          'display this at the top line
Wait 1
Lowerline                                                   'select the lower line
Wait 1
Lcd "Shift this."                                           'display this at the lower line
Wait 1
For A = 1 To 10
   Shiftlcd Right                                           'shift the text to the right
   Waitms 250                                               'wait a moment
Next

For A = 1 To 10
   Shiftlcd Left                                            'shift the text to the left
   Waitms 250                                               'wait a moment
Next


Locate 2 , 1                                                'set cursor position
Lcd "*"                                                     'display this
Wait 1                                                      'wait a moment

Shiftcursor Right                                           'shift the cursor
Lcd "@"                                                     'display this
Wait 1                                                      'wait a moment

Home Upper                                                  'select line 1 and return home
Lcd "Replaced."                                             'replace the text
Wait 1                                                      'wait a moment

Cursor Off Noblink                                          'hide cursor
Wait 1                                                      'wait a moment
Cursor On Blink                                             'show cursor
Wait 1                                                      'wait a moment
Display Off                                                 'turn display off
Wait 1                                                      'wait a moment
Display On                                                  'turn display on

End
Außer der Beleuchtung funktioniert nichts. Kein Cursur etc. ...

Auch mit einem an ein Display mit 16 * 2 angepassten Code, den ich aus dem Buch "Roboter selbst bauen" (http://books.google.de/books?id=tjUA...bauen#PPA59,M1) entnommen habe, tut sich nichts.

Vielleicht hatte jemand das selbe Problem und hat es gelöst ?
Ich würde mich über Lösungen, Raschläge oder Fragen über Unklarheiten freuen ...

Gruß,
Markus