Ist das dein vollständiges Programm?
Wenn ja, dann fehlt da auf jeden Fall noch eine Do-Loop-Schleife.
So dem Problem mit den Balken:
Füge mal nach dem
noch ein initLCD ein. Dann kann schon mal helfen.Code:Config Lcd = 16 * 1a Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portc.5 , Rs = Portc.4 Config Lcdbus = 4
Des Weiteren; verwendest du wirklich einen 1MHz Quarz? Ist diese Einstellung falsch, kann es auch zu Fhelern kommen.
Mehr fällt mir gerade nicht ein.
Trotzdem will ich noch etwas allgemeines los werden: Es macht Sinn, dem Programm auch oprisch eine Struktur zu verpassen. Dann ist es deutlich leichter zu lesen.
Ein Vorschlag von mir (samt oben genannten Verbesserungsvorschlägen, Kommentierungen wird Bascom dir automatisch nach rechts rücken):
Viele Grüße,Code:$regfile = "m8def.dat" $crystal = 1000000 '1MHz Quarz Config Lcd = 16 * 1a Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portc.5 , Rs = Portc.4 Config Lcdbus = 4 InitLCD Config Pinb.1 = Input 'Pinb.1= Automatikschalter Portb.1 = 1 'Pull-Up an Config Pinb.2 = Input 'Pinb.3= handbetriebsschalter Portb.2 = 1 'Pull-Up an Config Pinb.3 = Input 'Pinb.2= testschalter Portb.3 = 1 'Pull-Up an Config Pinb.4 = Input 'Pinb.4= Anschalter ( Immer auf 0 ) Portb.4 = 1 'Pull-Up an '---Start_Main-Program--- Do If Pinb.4 = 0 Then Cls Locate 1 , 1 Lcd "Power on" End If If Pinb.4 = Pinb.2 Then Cls Locate 1 , 1 Lcd "Test" End If If Pinb.4 = Pinb.3 Then Cls Locate 1 , 1 Lcd "Handbetrieb" End If If Pinb.4 = Pinb.1 Then Cls Locate 1 , 1 Lcd "Automatik" End if Loop '---End_Main-Program--- End
jon







Zitieren

Lesezeichen