Forum: Mikrocontroller und Digitale Elektronik DEM 16217 mit ATmega16 4bit


von T. G. (to_m)


Lesenswert?

Hallo zusammen,


ich benötige eure Hilfe, da ich hier nicht weiter komme.

Folgende Aufgabe:

Ich möchte ein DEM 16217 2x16 an einen ATmaga 16 anschließen und mit in 
beiden Zeilen Statusdaten ausgeben.
Ich habe mir jetzt mal die lcd-routines.c und die lcd-routinges.h 
nachprogrammiert (siehe 
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/LCD-Ansteuerung)

Alle Pins des Displays sind an PortA


Hier auf der Homepage gibt es ja den code
1
#include <avr/io.h>
2
3
#include "lcd-routines.h"
4
5
int main(void)
6
{
7
  // Initialisierung des LCD
8
  // Nach der Initialisierung müssen auf dem LCD vorhandene schwarze Balken
9
  // verschwunden sein
10
  lcd_init();
11
  
12
  // Text in einzelnen Zeichen ausgeben
13
  lcd_data( 'T' );
14
  lcd_data( 'e' );
15
  lcd_data( 's' );
16
  lcd_data( 't' );
17
  
18
  // Die Ausgabemarke in die 2te Zeile setzen
19
  lcd_setcursor( 0, 2 );
20
  
21
  // erneut Text ausgeben, aber diesmal komfortabler als String
22
  lcd_string("Hello World!");
23
  
24
  while(1)
25
  {
26
  }
27
  
28
  return 0;
29
}

nun zu meinem Problem:

das Display zeigt mir gar nichts an. Muss ich am Code noch was 
verändern, damit des Display DEM16217 die Daten ausgibt? Ich verwende 
das AVR Studio 6.

Danke

Gruß

von Leopold N. (leopold_n)


Lesenswert?

Hi,

ich glaub es wäre sinnvoll alle pins von port a auf ausgang zu setzen, 
sprich:
DDRA = 0xff;

Ich hab bisher noch kein lcd programmiert von daher weiß ich nicht ob 
das schon in der funktion lcd_init dabei ist.
ich hab die frage grad nur gesehen und dachte ich schau mir das mal an.

Viele Grüße
Leo

von Max H. (hartl192)


Lesenswert?

T. G. schrieb:
> das Display zeigt mir gar nichts an.
Was meinst du mit gar nichts? Kontrast richtig eingestellt? Ist vor der 
Initialisierung die gesamte oberste Zeile an?

Wie sieht deine Schaltung aus? Die #define entsprechen geändert?

: Bearbeitet durch User
von T. G. (to_m)


Lesenswert?

Ja die obere Zeile zeigt 16 Kästchen. Ich habe ein Poti an pin 3, damit 
ich den Kontrast auch verändern kann. ich habe das Display auch schon 
mit einer anderen Code programmiert. Da hat es super funktioniert. Bin 
jetzt etwas verwundet warum es hier nicht geht.


Hab es vorhin jetzt auch mal mit 8 Datenbits versucht, da zeigt das 
Display aber auch nicht an.

von T. G. (to_m)


Lesenswert?


Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.