- fchao-Sinus-Wechselrichter AliExpress         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 13 von 13

Thema: LCD 4x20 KS0073 Hardwareproblem?

  1. #11
    Neuer Benutzer Öfters hier
    Registriert seit
    09.03.2008
    Beiträge
    16
    Anzeige

    Powerstation Test
    So, jetzt läuft alles. Vielen Dank Hubert.
    Die Daten kommen Hardwaremäßig alle richtig am LCD an. Habe alle Initialisierungsbefehle nachgemessen! Es passt.

    Bleibt nur noch das Problem bestehen, dass ich immer noch keinen blinkenden cursor nach der abgearbeiteten Initialisierung sehe

    Vll hilft hier nochmal mein Code weiter.. Ist ja wirklich nicht viel.
    Wär super wenn sich den wer anschaut

    Code:
    #include <avr/io.h>
    #include <util/delay.h>
    
    #define lcd_data  PORTC
    
    void lcd_enable(void) {
    	PORTD |= (1<<PD7); //bit setzen
        _delay_us(1); 
    	PORTD &= ~(1<<PD7); //bit löschen
    }
    
    
    void lcd_init(void) {
    	PORTD &= ~ (1<<PD5) | (1<<PD6) | (1<<PD7);//RS 0, RW 0, EN 0
    	
    	lcd_enable();
    	_delay_ms(4);
    	lcd_enable();
    	_delay_ms(1);
    	lcd_enable();
    	_delay_ms(1);
    	
    	//lt. datenblatt bsp.
    	lcd_data = 0x34;	//function set 8Bit, extension bit re = 1
    	lcd_enable();
    	_delay_us(39);
    	
    	lcd_data = 0x09;	//ext.0x09 function set 4zeilen modus
    	lcd_enable();
    	_delay_us(39);
    	
    	lcd_data = 0x0f;	//display on, cursor ein, cursor blinken
    	lcd_enable();
    	_delay_us(39);
    	
    	lcd_data = 0x01;	//clear display
    	lcd_enable();
    	_delay_us(1530);
    	
    	lcd_data = 0x06;	//entry mode set
    	lcd_enable();
    	_delay_us(39);
    }
    
    	
    int main (void) {
    	_delay_ms(20); //warten bis versorgungsspannung anliegt
    	
    	DDRC = 0xff; //LCD-data als Ausgang
    	DDRD = 0xff; //Port D als Ausgang für RS EN RW
    	
    	lcd_init();
    	lcd_init();
    	lcd_init();
    	while(1){}
    	
    }

  2. #12
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.220
    Im Datenblatt steht ein Initialisierungbeispiel für den 8bit Modus, nach dem fehlt dir eine Zeile.
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  3. #13
    Neuer Benutzer Öfters hier
    Registriert seit
    09.03.2008
    Beiträge
    16
    Und ich dachte immer das wär entweder oder, da die zeile zwischen den function sets etwas dicker war. Vll hilft da weniger denken oder doch etwas mehr

    Aber es geeeeht \/ \/
    Jetzt kann ich endlich schlafen gehen.

    many many thanks \/

Seite 2 von 2 ErsteErste 12

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests