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:
Außer der Beleuchtung funktioniert nichts. Kein Cursur etc. ...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
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







 
			
			 
					
					
					
						 Zitieren
Zitieren

Lesezeichen