Du kannst keine neue Antwort schreiben
Seiten (24): « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 [23] 24 »

Autor Thema 
Andreas Jörg

Raketenbauer

Registriert seit: Sep 2005

Wohnort: Apfeltrach (Unterallgäu)

Verein: agm, T2

Beiträge: 186

Status: Offline

Beitrag 132655 [Alter Beitrag26. November 2007 um 15:54]

[Melden] Profil von Andreas Jörg anzeigen    Andreas Jörg eine private Nachricht schicken   Andreas Jörg besitzt keine Homepage    Mehr Beiträge von Andreas Jörg finden

Das Programm wurde mit Bascom verfasst, und sieht wie folgt aus:

$prog &H00 , &H00 , &H00 , &H00 ' generated. Take care that the chip supports all fuse bytes.'LED+LCD Test-Programm
'Blinkende LEDs und LCD schreibt "Hello World"


$regfile = "m16def.dat" 'Datei für ATM16
$crystal = 16000000 'Taktfrequenz
$baud = 19200 'Baudrate
$hwstack = 32 'Hardware Stack
$swstack = 10 'Software Stack
$framesize = 40 'Frame space


'$sim 'Simulation


Config Portb.4 = Output 'Pin PB3 auf Ausgang setzen = LED 1
Config Portb.3 = Output 'Pin PB3 auf Ausgang setzen = LED 2

Config Portc.2 = Output
Config Portc.3 = Output
Config Portc.4 = Output
Config Portc.5 = Output
Config Portc.6 = Output
Config Portc.7 = Output
Config Portd.7 = Output

Config Lcd = 16 * 2 ' auf dem Board ist ein Bauteil mit ner kleinen Schraube drann. Daran kann man die Kontrastspannung einstellen. Bischen dran rumdrehen irgendwann sieht man etwas ;-)

Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.2 , Rs = Portd.7 'LCD-Pins (Hardware angeschlossen an...)



Config Lcdmode = Port
Config Lcdbus = 4
Initlcd


Cls 'LCD löschen, sodass nichts mehr steht
Upperline 'obere Zeile des LCD ansprechen
Lcd "Hello"
Lowerline 'untere Zeile des LCD ansprechen
Lcd "World"

Do
Portb.4 = 1 'LED1 an
Wait 1
Portb.3 = 1 'LED2 an
Wait 1
Portb.4 = 0 'Beide aus
Portb.3 = 0
Wait 1
Loop

End

Ich kann mir aber fast nicht vorstellen, dass das Display im unangesteuerten Zustand alle Pixel auf schwarz setzt, weshalb ich ein Software Problem eigentlich fast ausschließe.

Es ist so wie es ist, denn wenn es nicht so wäre, könnten wir nicht Fragen, warum es so ist, wie es ist.
Andreas Jörg

Raketenbauer

Registriert seit: Sep 2005

Wohnort: Apfeltrach (Unterallgäu)

Verein: agm, T2

Beiträge: 186

Status: Offline

Beitrag 132656 [Alter Beitrag26. November 2007 um 17:01]

[Melden] Profil von Andreas Jörg anzeigen    Andreas Jörg eine private Nachricht schicken   Andreas Jörg besitzt keine Homepage    Mehr Beiträge von Andreas Jörg finden

Ich habe jetzt das Display ausgetauscht: gleicher Fehler. Egal ob mit oder ohne µC. Ich habe das Display auch an eine andere Schaltung angeschlossen, in der ich auch den µC herausgenommen habe, und der Fehler trat nicht auf. Ich habe auch alle Pins durchgemessen: Der Pin 1 ist auf 0V, Pin 2 auf 5V, Pin 3 auf 1V (Kontrastspannung funktioniert), Pin 4 und 5 auf 5V (muss Pin 5, also read/write auf high sein? in der anderen Schaltung war er auf low), Pin 8 bis 11 sind auf low, Pin 12 bis Pin 14 auf High, und die Versorgungsspannung der Beleuchtung scheint mit ca. 4 V auch zu passen.

Es ist so wie es ist, denn wenn es nicht so wäre, könnten wir nicht Fragen, warum es so ist, wie es ist.
Reinhard

Überflieger

Reinhard

Registriert seit: Sep 2003

Wohnort: Österreich

Verein: TRA #10691, AGM

Beiträge: 1186

Status: Offline

Beitrag 132658 [Alter Beitrag26. November 2007 um 17:18]

[Melden] Profil von Reinhard anzeigen    Reinhard eine private Nachricht schicken   Besuche Reinhard's Homepage    Mehr Beiträge von Reinhard finden

Hi,

R/W muss low sein um Befehle an das LCD zu senden (high bedeutet lesen). Sieh mal in der BASCOM Dokumentation nach ob nicht auch so etwas wie "RW = Portc.3" in der Zeile "Config Lcdpin = Pin ..." dabeistehen muss (bei dir tut es das jedenfalls nicht). Wenn das nicht der Fall ist, unterstützt BASCOM das Auslesen der Daten aus dem Display nicht. Dann musst du manuell PC3 auf Low setzen und zwar bevor(!!!) du das LCD initialisierst. Vermutlich geschieht das bei "Initlcd", aber wenn du ganz sicher gehen willst würde ich es sogar vor die ganzen "Config..." Zeilen schreiben.

Gruß
Reinhard
Andreas Jörg

Raketenbauer

Registriert seit: Sep 2005

Wohnort: Apfeltrach (Unterallgäu)

Verein: agm, T2

Beiträge: 186

Status: Offline

Beitrag 132660 [Alter Beitrag26. November 2007 um 19:00]

[Melden] Profil von Andreas Jörg anzeigen    Andreas Jörg eine private Nachricht schicken   Andreas Jörg besitzt keine Homepage    Mehr Beiträge von Andreas Jörg finden

Ich habe den Befehl so eingegeben und Bascom hat ihn compiliert. Pin 5 ist high, wenn entweder das Display angschlossen, oder der µC in der Fassung ist, oder beides der Fall ist. Wenn nichts angeschlossen ist, ist er logischerweise potentialfrei. Mich wundert ein wenig, dass das Display den Pin auch auf high setzt, ich kenn mich damit aber nicht so sehr aus, hängt das mit den Pull-up zusammen? Und kann es wirklich am RW Pin liegen, dass die untere Zeile zu schwarz ist?

Es ist so wie es ist, denn wenn es nicht so wäre, könnten wir nicht Fragen, warum es so ist, wie es ist.
Reinhard

Überflieger

Reinhard

Registriert seit: Sep 2003

Wohnort: Österreich

Verein: TRA #10691, AGM

Beiträge: 1186

Status: Offline

Beitrag 132664 [Alter Beitrag26. November 2007 um 19:19]

[Melden] Profil von Reinhard anzeigen    Reinhard eine private Nachricht schicken   Besuche Reinhard's Homepage    Mehr Beiträge von Reinhard finden

Es ist schon ein Weilchen her, dass ich mich mit dem LCD gespielt habe, aber das Verhalten ist glaube ich in Ordnung. Was aber wichtig ist, so lange R/W High ist, kann es nicht funktionieren. In diesem Zustand nimmt das LCD keinerlei Befehle an. Wenn das Display selber den Pin auf High setzt, besitzt es offensichtlich einen internen Pull-Up, das ist aber kein Problem, man kann den Pin ja auf GND ziehen.

Ich habe jetzt nochmal selber nachgesehen, und BASCOM scheint sich, zumindest im 4bit Betrieb nicht um den R/W Pin zu scheren. Dann musst du das, wie oben erwähnt, selber erledigen.

Gruß
Reinhard
Andreas Jörg

Raketenbauer

Registriert seit: Sep 2005

Wohnort: Apfeltrach (Unterallgäu)

Verein: agm, T2

Beiträge: 186

Status: Offline

Beitrag 132671 [Alter Beitrag26. November 2007 um 19:51]

[Melden] Profil von Andreas Jörg anzeigen    Andreas Jörg eine private Nachricht schicken   Andreas Jörg besitzt keine Homepage    Mehr Beiträge von Andreas Jörg finden

Ich habe es eben versucht, hatte aber keinen Erfolg. Das Prgramm hat mir Scorpion zugesand, und hat bei ihm glaube ich funktioniert, der Fehler müsste also bei mir liegen.

Es ist so wie es ist, denn wenn es nicht so wäre, könnten wir nicht Fragen, warum es so ist, wie es ist.
Reinhard

Überflieger

Reinhard

Registriert seit: Sep 2003

Wohnort: Österreich

Verein: TRA #10691, AGM

Beiträge: 1186

Status: Offline

Beitrag 132677 [Alter Beitrag26. November 2007 um 21:03]

[Melden] Profil von Reinhard anzeigen    Reinhard eine private Nachricht schicken   Besuche Reinhard's Homepage    Mehr Beiträge von Reinhard finden

Hast du das Programm auch als hex File. Wenn ja, probiere das mal aus. Auf die Art kannst Probleme mit deiner BASCOM Konfiguration ausschließen.
Außerdem ist es wichtig dass du die gleichen Fusebits (Taktfrequenz, Bootloader etc.) wie Scorpion_XIII gesetzt hast. So sollte sich mal ein Software- bzw. Konfigurationsproblem ausschließen lassen.
Wenn das nicht funktioniert liegt es vermutlich an der Hardware. Dazu kannst du mal per SW alle Pins High schalten und das nachmessen (am Besten in Verbindung mit einem PullDown-Widerstand von ein paar 100Ohm). Danach kommt das gleiche Experiment mit invertiertem Pegel.

Gruß
Reinhard
CharlyMai

Foren-Prediger


Administrator

CharlyMai

Registriert seit: Mär 2005

Wohnort: Fuhrberg

Verein: SOLARIS-RMB e.V. (P2;T2) / AGM / TRA#21598

Beiträge: 1976

Status: Offline

Beitrag 132681 [Alter Beitrag26. November 2007 um 21:55]

[Melden] Profil von CharlyMai anzeigen    CharlyMai eine private Nachricht schicken   Besuche CharlyMai's Homepage    Mehr Beiträge von CharlyMai finden

hat das Display vielleicht einen 2ten Enable Eingang ??..

Bei Displays mit 4*40 Zeichen oder bei mehr als 2*27 Zeichen wird definitiv ein zweiter Enable da sein, welchen man anschließen und auch in Bascom konfigurieren kann ...

Siehe hierzu den LCD Teil vom Bascom Kurs ...

Die Hilfe von Bascom mit "Config LCD" sollte weiterhelfen ...


viele Grüße
Pierre

PS: es ist normal, das ein nicht initialisierter Controller schwarze Kästchen macht (E2 = 2ter Controller)


•"Der Glaube an eine bestimmte Idee gibt dem Forscher den Rückhalt für seine Arbeit.
Ohne diesen Glauben wäre er verloren in einem Meer von Zweifeln und halbgültigen Beweisen." Konrad Zuse

•Konstruiere ein System, das selbst ein Irrer anwenden kann, und so wird es auch nur ein Irrer anwenden wollen.

SOLARIS-RMB e.V. AGM
Reinhard

Überflieger

Reinhard

Registriert seit: Sep 2003

Wohnort: Österreich

Verein: TRA #10691, AGM

Beiträge: 1186

Status: Offline

Beitrag 132686 [Alter Beitrag26. November 2007 um 22:12]

[Melden] Profil von Reinhard anzeigen    Reinhard eine private Nachricht schicken   Besuche Reinhard's Homepage    Mehr Beiträge von Reinhard finden

Das LCD in der Liste ist ein 2*16er. Das ist es hoffentlich nicht.

Gruß
Reinhard
Stefan Wimmer

Grand Master of Rocketry


Moderator

Stefan Wimmer

Registriert seit: Aug 2000

Wohnort: Berlin

Verein: Deutsche Experimental Raketen Arbeitsgruppe (DERA)

Beiträge: 2398

Status: Offline

Beitrag 133202 [Alter Beitrag02. Dezember 2007 um 17:45]

[Melden] Profil von Stefan Wimmer anzeigen    Stefan Wimmer eine private Nachricht schicken   Besuche Stefan Wimmer's Homepage    Mehr Beiträge von Stefan Wimmer finden

Hallo Andreas,

wenn Du nicht weiterkommst, kannst Du mir gerne mal Display (und Messkiste) zum Durchmessen vorbeischicken...

Stefan

It's the Government - it doesn't have to make sense! (B. Kaplow in r.m.r)
Seiten (24): « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 [23] 24 »
[Zurück zum Anfang]
Du kannst keine neue Antwort schreiben