Hey allemaal,

Ik heb de volgende code voor de aansturing van dit LCD:


				CALL	lcd_initialize
				
				MOVLW	"H"
				CALL	lcd_write_char

	;*****LCD subroutines***

;*****Initialize****
lcd_initialize	MOVLW   28h					;40ms wachten
				CALL	delay
				
				BCF		lcd_rs
				BCF		lcd_e				
				
				MOVLW	20h					;Interface: 4 bits
				CALL	lcd_write
				MOVLW   5h					;5ms wachten
				CALL	delay
				
				MOVLW	28h					;Interface: 4 bits, 2/4 regels, 5x7 matrix
				CALL	lcd_write
				MOVLW   5h					;5ms wachten
				CALL	delay

				MOVLW	0Ch					;Display aan en cursor uit
				CALL	lcd_write

				MOVLW	6h					;Cursor automatisch
				CALL	lcd_write

				CALL	lcd_clear			;Scherm legen
				RETURN

;*****Write char****
lcd_write_char	BSF		lcd_rs
				CALL	lcd_write
				RETURN


;*****Write byte****
lcd_write		MOVWF	lcd_temp			;2e helft bewaren
				CALL	lcd_write_part		;wegschrijven
				SWAPF	lcd_temp,1			;2e helft terughalen	
				CALL	lcd_write_part		;wegschrijven
				RETURN


;*****Write part of byte****
lcd_write_part	ANDLW	0Fh
				ANDWF	PORTC,1
				MOVF	lcd_temp,0
				ANDLW	0F0h
				IORWF	PORTC,1

				BSF		lcd_e
				BCF		lcd_e

				MOVLW	1h
				CALL	delay
				RETURN

;*****Clear screen****
lcd_clear		BCF		lcd_rs
				MOVLW	1h
				CALL	lcd_write
				MOVLW	2h
				CALL	delay
				RETURN

Hierbij is een 18F452 gebruikt waarbij de van de LCD de 'e' op PORTD2 zit en de 'rs' op PORTD3. Verder zitten 'DB4'-'DB7' op PORTC4-PORTC7. De 'VDD' en de 'VSS' spreken voor zich. De 'V0' zit aan een portmeter die tussen de +5 en de GND staat en de 'R/W' staat aan de GND/
Maar als ik nu stroom op het geheel zet krijg ik eerst een witte regel, dan een lege, dan weer een witte en dan weer een lege!

Hoe kan dit?

Alvast bedankt,
Jasper

PS: Schema voor LCD naar 'Domotica' van Elektor