Liste der Anhänge anzeigen (Anzahl: 1)
GLCD-KS0180B Controller
Tach Leuts!
Ich hab mir vor längerer Zeit einen GLCD bei Ebay gekauft, und wollt ihn jetzt zum laufen bringen, jedoch ergaben sich ein paar Probleme:
Ich hab immoment nur einen Attiny2313 hier, und wollts dann halt mit dem ausprobieren... jetzt hab ich den GLCD wie folgt angeschlossen:
DB0 - DB7 an PortB
CS1 an PortD.0
CS2 an " .1
R/W an " .2
R/S an " .3
reset an " .5
Enable an " .4
So, ich benutze folgenden Code in Bascom:
Code:
$regfile = "attiny2313.dat"
$crystal = 8000000
$lib "glcdKS108.lbx"
Config Graphlcd = 128 * 64sed , Dataport = Portb , Controlport = Portd , Ce = 0 , Ce2 = 1 , Cd = 2 , Rd = 3 , Reset = 5 , Enable = 4
Portb = &B11111111
Cls
Circle(30 , 30) , 10 , 1
Do
Loop
Wenn ich jetzt den MC einschalte und das GLCD mit Strom versorge kommt nur etwas Pixelmüll raus(Angehängte Datei)
man kann ja rechts leicht einen Kreis erkennen, ich denke dass das aber nur Zufall ist...
Fehlt bei der Beschaltung noch irgendwas? Hab ich was vertauscht? vielleicht irgendwelche PullUp's?
Vielen Dank schonmal,
Tom
Liste der Anhänge anzeigen (Anzahl: 1)
Hast du zufällig AVR-Studio oder ne andere Umgebung für C-Programme? Für ein KS0108 hätt ich in C nen funktionierenden Code. Da könnte man dann mal testen, ob an der Hardware was nicht stimmt oder ob Bascom da was verbockt.
(Alternativ versuch ich mal, ob ich den Code in ne .hex für den Tiny umbiegen kann; mit Bascom sollte die .hex ja hochladbar sein)
Nachtrag 1: Das mit dem zu grossen Programm war Käse. Habs in Bascom versucht, es müsste in den ATTiny passen. (Das Programm hatte in C bei mir 400% Flash belegt...)
Nachtrag 2: Hab in Bascom mal mein KS0108 angesteuert (mit nem ATMega128); der Code von dir wurde 1:1 übernommen (mit Ausnahme der Pinbezeichnungen), und bei mir klappt er; es wird also ein Kreis gezeichnet. D.h. wird vermutlich irgendwo an der Hardware liegen. Reihenfolge von D0...D7 vertauscht?
Und Nachtrag 3: Kaum schmeisst man die mathematischen Funktionen für doubles raus, schon passt die Grösse.
Im Anhang ist mal die erzeugte .hex; die Pinbezeichnungen hab ich von dir übernommen; theoretisch müsste es funktionieren und das Display abwechselnd im Sekundentakt die folgenden Dinge anzeigen:
1: leeres Display
2: alle ungeraden Zeilen
3: alle geraden Zeilen
4: vollständig gefüllt