-         

Ergebnis 1 bis 5 von 5

Thema: RN-Minicontrol mit Wintek 27 * 4 Display von Pollin

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    29.11.2006
    Beiträge
    27

    RN-Minicontrol mit Wintek 27 * 4 Display von Pollin

    Anzeige

    Hallo Leute, erst mal großes Lob an dieses Forum, klasse sache!

    Also hier mein Problem.

    Habe mir vor einiger Zeit ein RN-Minicontrol Board mit einem AT Mega 168 zugelegt und dazu noch das Adapterboard.

    Das Display von Wintek, das hier auch von einigen benutzt wird , das 27 * 4 Zeilige habe ich an die Adapterplatine angeschlossen und muss jetzt den Chip programmieren. Leider haben viele von euch oft den At-mega 8 und ich hab das gefühl da sind immer wieder Unterschiede...

    Ich programmiere in Bascom und bin da schon einigermaßen durchgestiegen. Ich habe Programmieren in der Schule gehabt, und kann c++ recht gut.

    SO nun mein Problem.
    Mit meinem Programm will das Display keinen mux von sich geben...nur wieso?

    Ich poste hier mal meinen Code:

    Code:
    'Die üblichen Definitionen bei Standardprogrammen auf Miniboard
    $regfile = "m168def.dat"
    $crystal = 16000000                                         'Quarzfrequenz
    $baud = 9600
    '$hwstack = 32
    '$framesize = 32
    '$swstack = 32
    
    'Erster Test des Displays Wintek 27 * 4 Displays von Pollin
    
    
    'Einbindung der LCD-Bibliothek für ein 2-Prozessor-Display
     $lib "lcd4e2.lbx"
    
    'Bascom kennt keine Display mit 27 * 4 Zeichen, daher 40 * 4 verwenden
     Config Lcd = 40 * 4
    
    'man achte auf die Ergänzung E2
     Config Lcdpin = Pin , Db4 = Portb.5 , Db5 = Portb.0 , Db6 = Portd.7 , Db7 = Portd.6 , E = Portb.3 , E2 = Portc.3 , Rs = Portc.2 ,       'Rw = Portd.3'
    
    ' Systemvariable der LCD-Bibliothek (wichtig, bloß nicht ändern)
     Dim ___lcde As Byte
    
    ' wählt den ersten Chip aus aus
     ___lcde = 0
    'die beiden oberen Zeilen initialisieren
     Initlcd
    'die beiden oberen Zeilen löschen
     Cls
    
    'auf Chip 2 schalten
     ___lcde = 1
    'die beiden unteren Zeilen initialisieren
     Initlcd
    'die beiden unteren Zeilen löschen
     Cls
    
       ___lcde = 0
    ' wählt die obere Zeile aus
       Upperline
    ' schreibt in die erste Zeile an Position 3
       Locate 1 , 3
    ' den Text in Anführungszeichen
       Lcd "Zeile 1 : Felix Koenig"
    ' wählt die zweite Zeile aus
       Lowerline
    ' schreibt in die zweite Zeile an Position 2
       Locate 2 , 2
    ' in diesem Fall den Inhalt der Variablem mit dem Namen Variable
       Lcd "Zeile 2 : Ist sehr froh :-)"
    ' unterdrückt den Cursor
       Cursor Off
    
    ' wählt die beiden unteren Zeilen aus
    
       ___lcde = 1
       Waitms 100
       Cls
       Thirdline
       Locate 1 , 1
       Lcd "Zeile 3"
       Fourthline
       Locate 2 , 1
       Lcd "Zeile 4"
       Cursor Off
    
    
    End                                                         'end program
    So, ich habe hier mal HW SW und FS erst mal weggelassen weil ich da noch nicht ganz dahinter gekommen bin.

    Ich hoffe ihr findet Fehler die ich hier reinproduziert hab und könnt mir weiterhelfen.

    so nun noch schnell die pinbelegung:

    DB7 (Port 0 an Adapterboard) ist PD6
    DB6 (Port 1 an ") ist PD7
    DB5 (Port 2 an ") ist PB0
    DB4 (Port 3 an ") ist PB5
    EN2 (Port 4 an ") ist PC3
    EN1 (Port 5 an ") ist PB3
    RW nicht genutzt, liegt an GND
    RS (Port 7 an ") ist PC2

    --> so die Belegung ist aus der schaltskizze des Rn-Minicontrol abgelesen, hoffe ich hab hier schon nix falsch gemacht.
    Das Adapterboard ist an der Steckbuchse Ctrl angeschlossen.

    So, ich muss mal weiter, wenn ihr noch angaben bracuht, sagt bescheid. Bin über jede Hilfe dankbar

    Viele Grüße
    Felix König (Stargate )

  2. #2
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    06.08.2005
    Ort
    Berlin
    Alter
    52
    Beiträge
    239
    Hallo Felix,

    ich binde meine 27x4 Pollindisplays ohne irgendeine zusätzliche Library ein. Funktioniert bisher ohne Probleme:

    Dim ___lcdno As Bit
    Config Lcdpin = Pin , E = Portc.3 , E2 = Portd.7 , Rs = Portc.2 , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4 , Db7 = Portd.5
    Config Lcd = 40 * 4

    usw.

    Gruß Dirk

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    29.11.2006
    Beiträge
    27
    JAAAAAAAAAAAAAAAAA *brüll* \/

    habe es geschafft, nach langem Probieren hab ich's geschafft das display anzusteuern! endlich! also doch noch ein erfolgreiches wochenende.

    wenn ich demnächst zeit habe werde ich für euch meinen code mal posten

    viele grüße und danke für die hilfe(war hilfreich )

    Felix
    =D>

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    29.11.2006
    Beiträge
    27
    So, hier wie versprochen meinen Code zum ansteuern des 27*4 Displays von Wintek (Pollin Artikel) mit einem RN-Minicontrol am Ctrl Port:


    Code:
    $regfile = "m168def.dat"
    $crystal = 16000000                                         'Quarzfrequenz
    $baud = 9600
    '$hwstack = 32
    '$framesize = 32
    '$swstack = 32
    
    'Die üblichen Definitionen bei Standardprogrammen auf Miniboard
    
    
    
    
    
    
    
     Config Lcd = 40 * 4                                        'Bascom kennt keine Display mit 27 * 4 Zeichen,
                                                                 'daher 40 * 4 verwenden
    
     Config Lcdpin = Pin , Db4 = Portb.5 , Db5 = Portb.0 , Db6 = Portd.7 , Db7 = Portd.6 , E = Portb.3 , E2 = Portc.3 , Rs = Portc.2 ,       'Rw = Portd.3
                                                                  'man achte auf die Ergänzung E2
    
     Dim ___lcdno As Byte                                       ' Systemvariable der LCD-Bibliothek
    
    
    
     ___lcdno = 0                                               ' wählt den ersten Chip aus
     Initlcd                                                    'die beiden oberen Zeilen initialisieren
     Cls                                                        'die beiden oberen Zeilen löschen
    
     ___lcdno = 1                                               'auf Chip 2 schalten
     Initlcd                                                    'die beiden unteren Zeilen initialisieren
     Cls                                                        'die beiden unteren Zeilen löschen
    
    
    
       ___lcdno = 0                                             ' wählt die obere Zeile aus
    
       Locate 1 , 1                                             ' schreibt in die erste Zeile an Position 1
       Lcd "Zeile 1 ";                                          ' den Text in Anführungszeichen
    
       Locate 2 , 1                                             ' schreibt in die zweite Zeile an Position 1
       Lcd "Zeile 2 "
    
       Cursor Off                                               ' unterdrückt den Cursor
    
    
    
       ___lcdno = 1                                             ' wählt die beiden unteren Zeilen aus
    
       Locate 1 , 1
       Lcd "Zeile 3 ";
    
       Locate 2 , 1
       Lcd "Zeile 4 "
    
       Cursor Off
    
    
    End                                                         'Programmende

    So viel Spaß damit und nochmal danke für eure Hilfe, auch mit vielen anderen Beiträgen.

    Gruß Felix

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    29.11.2006
    Beiträge
    27
    So also mein Projekt schreitet voran und ich habe noch so ein paar Grundlegende Fragen....

    z.B habe ich den code für das display mehr oder weniger ja aus vielen beispielen heraus übernommen, aber z.b. war ich eben etwas verdutzt, also ich nochmal auf die deklaration der Displayhälftenansteuerung, oder wie man das nennt, geschaut hab. Dim ? ___lcdno ? as byte .... wieso denn 3x _ ? muss das so sein oder ist das egal?

    ich bin nämlich grade dabei eine Dokumentation zu schreiben und da stocke ich manchmal an der erklärung von solchen kleinigkeiten

    gruß felix

Berechtigungen

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