- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 10 von 16

Thema: LCD Display (KS0073) in 4 Bit-Modus initialisieren und ansteuern

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter-Spezialist Avatar von schorsch_76
    Registriert seit
    25.03.2012
    Ort
    Kurz vor Neuschwanstein
    Alter
    49
    Beiträge
    456
    Ich have vor zwei Wochen einen Ks0073 in Betrieb genommen... Über i2c. Ohne irgendwelche Libs. Ich kann dir in ein paar Stunden dann die Initialisierungsroutine , bzw. Die Sequenz zeigen.
    Gruß Georg

  2. #2
    Erfahrener Benutzer Roboter-Spezialist Avatar von schorsch_76
    Registriert seit
    25.03.2012
    Ort
    Kurz vor Neuschwanstein
    Alter
    49
    Beiträge
    456
    Code:
     // bis in the display state. see PCF8574 in schematic
    // 0: Power
    // 1: RS
    // 2: RW
    // 3: CS (enable)
    // 4: D4
    // 5: D5
    // 6: D6
    // 7: D7
    
           // function set 4 bit
            // this needs to be done without the add_command function
            g_buffer[0] = 0x21;
            g_buffer[1] = 0x21 | (1<<3);
            g_buffer[2] = 0x21;
            twi.write_to_slave(avr::display_address, g_buffer, 3);
            state++;
        case 7:
            return check_twi(state);
        case 8:
            curr_pos = 0;
            add_command(0,0,0x24); // function set line (enable ext. F);
            add_command(0,0,0x09); // set 4 line mode
            add_command(0,0,0x20); // disable extended function again
    
            twi.write_to_slave(avr::display_address, g_buffer, curr_pos);
            state++;
            return false;
        case 9:
            return check_twi(state);
        case 10:
            // init done
            curr_pos = 0;
            add_command(0,0,0x0F); // display on
            add_command(0,0,0x01); // clear display
            add_command(0,0,0x06); // entry mode set
            twi.write_to_slave(avr::display_address, g_buffer, curr_pos);
            state++;
            return false;
    So hab ich mein Display angeschlossen:
    https://www.roboternetz.de/community...l=1#post604859

    add_command macht:
    Code:
    void
    add_command(unsigned char rs, unsigned char rw, unsigned char value)
    {
        unsigned char out = 0x01; // always power
    
        // high nibble
        out |= (value & 0xF0);
    
        // rs and rw flags
        if (rs) out |= (1<<1);
        if (rw) out |= (1<<2);
    
        // toggle e
        out |= (1<<3);
        g_buffer[curr_pos++] = out;
    
        out &= ~(1<<3);
        g_buffer[curr_pos++] = out;
    
        // low nibble
        out &= 0x0F;
        out |= ((value & 0x0F) << 4);
    
        // toggle e
        out |= (1<<3);
        g_buffer[curr_pos++] = out;
    
        out &= ~(1<<3);
        g_buffer[curr_pos++] = out;
    }
    Das bedeutet für dich:
    RS = low / RW = low

    // function set
    - Display D5 hochnehmen
    - E high
    - E low

    // add_command(0,0,0x24) // function set line (enable ext. F);
    - out nibble=2
    - E high
    - E low
    - out nibble=4
    - E high
    - E low

    Du siehst also wie du das umsetzen kannst...

    Das hier ist der Kern meiner Displayroutine.

    Gruß
    Georg

Ähnliche Themen

  1. EADIP204 (KS0073) Display und ° (Grad) Zeichen
    Von cni im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 08.02.2009, 15:42
  2. LCD-Display; 4Bit-Modus immer möglich?
    Von brutzler im Forum AVR Hardwarethemen
    Antworten: 3
    Letzter Beitrag: 29.03.2008, 11:03
  3. Problem 4-zeiliges Display im 4-bit modus!! gelöst!!
    Von zumgwadrad im Forum C - Programmierung (GCC u.a.)
    Antworten: 1
    Letzter Beitrag: 22.11.2006, 16:24
  4. LCD im 8-Bit Modus ansteuern.
    Von michi73 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 18.11.2005, 19:22
  5. LCD - initialisieren im 4-Bit Modus
    Von henne im Forum AVR Hardwarethemen
    Antworten: 2
    Letzter Beitrag: 12.03.2005, 00:26

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress