und wie soll ich die deiner meinung nach setzen?
ich hab schon rumprobiert und bin auf folgende config gekommen, die allerdings nicht funzt. liegt daran, dass ich keine ahnung hab, was ich da mache:
Bild hier
aber wenn die fusebits nicht gesetzt sind hilft der quarz nicht...
und wie soll ich die deiner meinung nach setzen?
ich hab schon rumprobiert und bin auf folgende config gekommen, die allerdings nicht funzt. liegt daran, dass ich keine ahnung hab, was ich da mache:
Bild hier
-> MEIN PROJEKTBLOG <-
das gib mal oben ein, vor allem anderem (nur noch die regfile und die quarzeinstellung davor)Code:Config Lcd = 20 * 4 Config Lcdpin = Pin , E = Portc.5 , Rs = Portc.4 , Db7 = Portc.3 , Db6 = Portc.2 , Db5 = Portc.1 , Db4 = Portc.0 Config Lcdbus = 4 Config Lcdmode = Port Cls
und bei den fusebits musste A987 auf 1111 setzen (müsste was von external stehen)
Martin
Linus Torvalds, Entwickler von LinuxIch will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
schau mal hier:
https://www.roboternetz.de/phpBB2/ze...trag.php?t=849
dort ist es ganz gut beschrieben. Und auch eine Grafik die deiner leider nicht entspricht ist dort angegeben
Gruß Stefan
Genau, wie x-ryder schon sagte. Definiere Softwareseitig.
Den Bus und Port aber in den Compilereinstellungen, Bascom scheint irgendwie Probleme damit zu haben. (Demo-Version?)
Hier der Code:
Code:$regfile = "m8def.dat" $crystal = 16000000 Config Lcd = 20 * 4 Config Lcdpin = Pin , E = Portc.5 , Rs = Portc.4 , Db7 = Portc.3 , Db6 = Portc.2 , Db5 = Portc.1 , Db4 = Portc.0 initlcd cursor off Cls do upperline lcd "Test" waitms 1000 cls loop
Achja, zu den Fusebits:
(Externer Quarzoszillator)
http://www.mikrocontroller.net/image...a8-nachher.png
MfG,
ShadowPhoenix
damit hat Bascom weder in der Demo- noch in der Vollversion irgendwelche Schwierigkeiten. In der aktuellen Version lassen sich sämtliche Einstellungen das LCD betreffend sowohl in den Optionen als auch im Programm selbst vornehmen, wobei die Compileranweisungen im Programm immer Vorrang haben.Zitat von ShadowPhoenix
Für Demoprogramme empfehle ich selbst, die Einstellungen im Programm vorzunehmen. Dann sieht man sie wenigstens.
Grüße
Henrik
hallo!
also meine rs232-kommunikation läuft nun recht gut. mein max232 war nicht mit masse verbunden . das lcd läuft allerdings immer noch nicht. ich habs an verschiedenen ports ausprobiert. aber es will einfach nicht. die kabel sind mehrmals von mehreren leuten gecheckt worden und korrekt verbunden. am kontrast liegts auch nicht. was kanns sonst noch sein? das display ist ok. hier die bascom-datei zum runterladen. ich weiss nicht weiter...
-> MEIN PROJEKTBLOG <-
Du hast in deinem Code zum downloaden schon wieder vergessen:
initlcd
cursor off
Cls
Hat bei mir geholfen...
MfG,
ShadowPhoenix
Oh Mann,
jeder Dritte der dumm fragt oder dumme Antworten gibt, wird erschossen. Zwei waren heute schon da .
Ne, im Ernst:
bei dem Code.....
hilft kein CLS oder LCDINIT.'Config Lcdpin = Pin , E = Portb.0 , Rs = Portb.5 , Db7 = Portb.4 , Db6 = Portb.3 , Db5 = Portb.2 , Db4 = Portb.1
Config Lcdbus = 4
Print "Config Lcdbus = 4 "
Wait 1
Config Lcdmode = Port
Print "Config Lcdmode = Port"
Wait 1
Cls
Print "cls"
Sofort ins Auge springt, daß dem LCD ein Portmodus aufgezwungen wird, obwohl es im Pinmodus betrieben wird. Bitte, bitte - das Kapitel LCD wird in der Hilfe bezogen auf Standardtext-Lcds so ausführlich und unmissverständlich behandelt, daß man da wirklich nur nachlesen muss und die Beispiele ausprobieren muss.
Fehler in der Verdrahtung sind auch dann nicht ausgeschlossen, wenn 100 "Leute" sich das angesehen haben.
Grüße
Henrik, der das nicht so grimmig meint, wie es klingt
Hallo,
ich fasse mal mein Erfahrungen zum Thema LCD und Bascom zusammen, egal bo diese hier schon angesprochen wurden.
1. Ist alles eingeschaltet
2. Hast du genug Strom (Wirklich 5V) Messen nicht raten.
3. Spass beiseite
4. Contrastspannung erst mal auf MASSE!
5a. FUESBITS kontrollieren (JTAG abschalten) oder besser wirklich nur Ports ohne zweitfunktion verwenden
5b. Konflikt mit anderer Portfunktion (Portd.0 und Portd.1 sind für RS232) oder TWI = I2C = I²C Port (nachschlagen wo SCL, SDA sind)
5c. ISP Programieradapter könnte auch quer schiessen (also abklemmen)
6. CONFIG LCDPIN richtig eingestellt (wirklich jede Leitung vom Kontakt des LCD zu AVR kontrollieren)
7 keine Unterbrechungen oder WaKo vorhanden?
8. Checken ob der AVR auch wirklich arbeitet (LED an einen Port und ein Blinksignal ausgeben)
9. INITLCD wird automatisch bei Reset ausgeführt und muss nicht explizit ausgeführt werden (aber macht auf keinen Fall was wenn er trozdem ausgeführt wird (mach ich immer)
10. CLS ist doch schön praktisch
11. Richtiges Datenblatt des LCD (ähnlich aussehenden LCD können dennoch unterschiedlich beschaltet sein) Typenbezeichnung genau beachten
12. Achte auf die Zählweise (ich hatte schon LCD'S welche erst vom 3. Pin aus mit 1 begannen, die beiden anderen waren fürs Backlight)
13. nicht konfus werden, alles schön schritt für schritt (auf Pappier abhaken) ruhig bleiben, dicht denken oder meinen sondern wissen (also messen=Wissen)
14. eines nach dem anderen
15. DAS LCD nicht im Compiler sondern im Quelltext (Compilerdirektiven) definieren (siehe CODE)
16 Hast Du 4 Datenleitungen oder 8 Datenleitungen angeschlossen (vier reichen den Rest offen lassen oder besser auf HI legen)Code:Config Lcd = 16 * 2 ' oder wie Dein LCD aufgebaut ist Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.3 , Rs = Portc.2 INITLCD CLS LOCATE 1,1 LCD "Hallo Welt" LOCATE 2,1 LCD "Da bin ich"
Das LCD wird nicht mit Print sondern mit LCD angesprochen
Print gibt auf RS232 aus (siehe Code)
Dann muss das Ding doch laufen (wenn es nicht kaputt ist)
Gruss
Darwin (meine Projekte sind auf meiner Pinnwand zu finden)
Lesezeichen