Stargate
10.12.2006, 15:51
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:
'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 :-) )
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:
'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 :-) )