mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Display initalisiert nur.


Autor: Olliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

Ich hab heute ein Display von Pollin bekommen. (TC1602E)

Dann hab ich das ganze ans Pollin EvolutionsBoard 2.0 mit einem Atmega 
16 drauf angeschlossen. Kabelbelegung stimmt definitiv hab ich nun schon 
wtliche male überprüft.

Wenn der µc angeschaltet wird initalisiert sich das Display und das 
wars. Ich habe folgenden code verwendet:

$regfile = "m16def.dat"
$crystal = 16000000

Ddra = &B11111111
Porta = &B00000000

Config Lcdpin = Pin , Db4 = Porta.0 , Db5 = Porta.1 , Db6 = Porta.2 , 
Db7 = Porta.3 , Rs = Porta.4 , E = Porta.5
Config Lcd = 16 * 2
Config Lcdbus = 4

Initlcd
Cls
Cursor Off
Locate 1 , 1
Lcd "Hello World"

Do
 nop
Loop

End

Kann mir jemand sagen wo das Problem liegt ? Andere Programmiersprachen 
als Bascom behersche ich monetan leider nicht. Wenn mir aber jemand bei 
C helfen könnte falls das die Einzigste Lösung sein sollte, währe ich 
sehr dankbar.

mfg Olliver

Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast Du den Pin AVCC an +Ub liegen? Der Port A wird über AVCC mit "Saft"
versorgt.

MfG Paul

Autor: Olliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Deine Frage bezog sich auf den µc oder das Display ?

Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auf den MC. Das Display hat sicher keinen AVCC-Anschluss. ;-)

MfG Paul

Autor: Olliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist das Datenblatt von dem Board auf dem der µC sitzt:

http://www.pollin.de/shop/downloads/D810046B.PDF

Autor: Spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Woher weisst du eigentlich, daß das Display initialisiert wird.

MfG Spess

Autor: Olliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn ich das Display an die Versorgungsspannung anschließe, erscheinen 
auf der 1. display zeile schwarze Vierecke. Wenn ich nun den µc 
anschalte verschwinden diese.

Autor: Olliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi kann mir mal pls jemand Hilfe zum Takt vom mega16 geben ?

Wenn ich kein externes quartz angeschlossen habe, auf was kann ich ihn 
dann takten ? Un wenn ich das externe verwende welche fuse bits müssen 
dann bei pony prog gesetzt werden ?

Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Von "Natur aus" ist der interne Oszillator eingestellt und der taktet 
mit 1MHz (sagt das Datenblatt). Ebenda steht ab Seite 23, wie man die 
Fuses für den Takt setzen muß, wenn man "draußen dran" einen Quarz hat.

MfG Paul

Autor: Olliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So hab die ganze Verkabelubng nochmal neu gemacht und alles auf PortB 
gelegt.

Wieder der Selbe Effekt. Dann hab ich nochmal mit einer Led die 
einzelnen Pins am Display abgetastet beim einschalten.

An den Pins DB4 - 7 flackert die Led 2 mal schnel hintereinander auf und 
bleibt dann an.

Autor: Stefan Schütte (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,

=>Olliver

Prüfe erst einmal, ob das JTag-Interface aktiviert ist. Wenn ja, dann
deaktiviere es.
Viel Erfolg
Stefan

Autor: Olliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich die fuses vom µc bisher noch nicht geändert.

Wenn mir jemand helfen könnte diese richtig zu konfigurieren währe ich 
euch super dankbar.

Nicht das ihr denkt ich hätte nicht ins Datenblatt vom µc geschaut ;)

Nur durch die über 300 Seiten bin ich dann doch nicht wirkluch 
durchgestiegen.

Autor: Stefan Schütte (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

das ist Dein Problem: "Du hast nichts geändert"!!!
Die JTAGEN-Sicherung (Fuse) ist im Auslieferungszustand gesetzt!
Siehe Handbuch Seite 260.
Viel Erfolg
Stefan

Autor: Uwe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!
Das klingt so als wäre RS nicht angeschlossen,fehlerhaft oder wird nicht 
zugeschaltet.

Viel Erfolg, Uwe

Autor: Anonymous (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Try the code below. See the attached picture
for the contrast adjustment potentiometer.

The LCD is connected to the PortA of the ATmega16.
The code was tested with real hardware. (STK500 + ATmega16 + 2*16 LCD)
$regfile = "m16def.dat"
$crystal = 16000000

$hwstack = 32
$swstack = 16
$framesize = 40

' LCD Pins:      AVR Pins
' ================================
' DB7      :     PORTA.7
' DB6      :     PORTA.6
' DB5      :     PORTA.5
' DB4      :     PORTA.4
' E        :     PORTA.3
' RS       :     PORTA.2
'
' Connect the R/W LCD pin permanently to GND with a wire.

Config Lcdpin = Pin,Db4=PortA.4,Db5=PortA.5,Db6=PortA.6,Db7=PortA.7,E=PortA.3,Rs=PortA.2
Config Lcd = 16 * 2

Dim OneByte As Byte

Cursor Off Noblink
Cls
Waitms 100

Locate 1 , 1
Lcd "Hello World!"

Locate 2 , 1
Lcd "Counter: "

Do
   Locate 2 , 9
   Lcd OneByte ; "  "
   Waitms 500
   Incr OneByte
Loop

End

Autor: Olliver (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
So leuts jetzt fängt es an lustig zu werden.

Hab ja um zu sehen ob was gesendet wird eine LED von - µC Board zu auf 
den jeweiligen Pin gehalten. Dann bin ich auf die Idee gekommen mal die 
Reset Taste zu drücken, während ich das Kabel noch am Pin hatte.

Folgendes ist passiert:

Siehe Bild ;)

Was kann ich nun daraus schließen ?

Autor: Anonymous (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
The controller chip on LCD module must be compatible
with the Hitachi HD44780 controller chip.

"INITLCD" is not necessary because Bascom AVR will call it
automatically at start up if LCD commands are used in the
program. (Like CLS, LCD, ..)."INITLCD" is used to
reinitialize the LCD at runtime in case you power down
the LCD and then power it up again.(e.g., to save batteries).
You can try to add "INITLCD" before "Cursor Off Noblink"
but I don't think that this will fix your problem.


What you can do:

==============================================

Option 1:

Check again your hardware and all the used
connections.

Is the the R/W pin of the LCD permanently
connected to GND?

==============================================

Option 2:

Buy an LCD compatible with the Hitachi
HD44780 chip.

Note that Bascom AVR also support the LCD controller
KS077 and the LCD controller used by the EA-DOG LCD
modules. See Bascom help file "CONFIG LCD".
==============================================

Option 3:

Keep your LCD.

(You will need the full version of Bascom AVR).

Download the datasheet of the controller chip
used by your LCD module.

Instead of using "Config Lcdpin" use the Bascom
library lcd4.lib. You will have to modify the
Bascom library lcd4.lib to suit the needs of the
used LCD controller chip. Note that in this case
"Config Lcdpin" is not used because the used pins
are defined in the library lcd4.lib. Remember to
put $lib "lcd4.lib" at the beginning of your
program. The Bascom libraries are written in
assembly but the code in the lcd4.lib is very
simple to modify and to understand. It might be
that you only need to modify the fixed delays
used in the library. (This library does not use
the busy flag of the LCD so the R/W pin of the
LCD must be permanently connected to GND).
If you try to modify lcd4.lib, make sure you make
a copy of the original file before you modify it.

==============================================

Autor: Olliver (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Kann mir jemand erklären wie genau ich eine Lib umsetzen kann, die auch 
die Busy Flags auswertet ?

Was würden denn passieren wenn die Busy Flags ausgewertet werden und die 
Quartzangabe nicht stimmt ? Kann es dann immernoch zu Taktfehlern kommen 
?

Hoffe auf eure Hilfe.

Edit. Auf dem Display seinen auch die Infos die übertragen werden sollen 
anzukommen, wenn ich eine Led von Masse auf Displaypin lege und den 
Resettaster drücke:

(Bild siehe Anhang)

Autor: Anonymous (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
See the Bascom AVR library "lcd4busy.lib" which is
located in the folder LIB.

Do you have the full version of Bascom AVR?
(The source code of the LIB files in not included with the demo 
version).

Which Bascom version are you using?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.