Forum: Mikrocontroller und Digitale Elektronik HILFE LCD Anzeige (Programmierung wie im Tutorial)


von Gast (Gast)


Lesenswert?

HI,
folgendes Problem.
Habe die LCD Anzeige exakt wie im AVRGCC Tutorial beschrieben 
angeschlossen und Programmiert.
Im Tutorial ist die Anzeige am PORTD des µC's angeschlossen. Das 
Funktioniert auch alles wunderbar.

Jetzt wollte ich die Anzeige in einer Schaltung an den PORTC anschließen 
(da ich den PORTD schon verwendet habe)habe die Portanschlüsse exakt wie 
im Tutorial beschrieben verwendet nur anstadt PD0-PD5 habe ich PC0-PC5 
verwendet und die folgenden Zeilen in der lcd-routines.h umgeschrieben

#define LCD_PORT      PORTC
#define LCD_DDR       DDRC
#define LCD_RS        PC4
#define LCD_EN        PC5

doch nun passiert nichts! mann sieht lediglich die beiden schwarzen 
Balken.

Die Schaltung habe ich durchgemessen, Fehlverdratung ist somit 
ausgeschlossen.

Falls das noch von Interesse ist, ich verwende einen ATmega32.

Ich geh mal davon aus das ich irgendwo noch was übersehen oder noch 
nicht richtig verstanden habe(sollte noch dazu erwähnen bin absoluter 
anfänger!!!)

bin für jede Hilfe dankbar


Original lcd-routines.h:

// Ansteuerung eines HD44780 kompatiblen LCD im 4-Bit-Interfacemodus
// http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial
//
void lcd_data(unsigned char temp1);
void lcd_string(char *data);
void lcd_command(unsigned char temp1);
void lcd_enable(void);
void lcd_init(void);
void lcd_home(void);
void lcd_clear(void);
void set_cursor(uint8_t x, uint8_t y);

// Hier die verwendete Taktfrequenz in Hz eintragen, wichtig!

#define F_CPU 14745600

// LCD Befehle

#define CLEAR_DISPLAY 0x01
#define CURSOR_HOME   0x02

// Pinbelegung für das LCD, an verwendete Pins anpassen

#define LCD_PORT      PORTD
#define LCD_DDR       DDRD
#define LCD_RS        PD4
#define LCD_EN        PD5
// DB4 bis DB7 des LCD sind mit PD0 bis PD3 des AVR verbunden

von ich (Gast)


Lesenswert?

JTAG deaktiviert ?!

von Gast (Gast)


Lesenswert?

HI,
ersteinmal vielen vielen DANK!!!!!!!!!!!!!!!

nachdem ich den JTAG deaktieviert habe funktioniert es einwandfrei!

Allerdings verstehe ich nicht wirklich warum!!!! :-(


ne erklärung währ echt nett!!!

wie gesagt vielen vielen Dank!!!!!!!!!

von Chapmy (Gast)


Lesenswert?

Versuchst du deine mangelhaften orthographischen Fähigkeiten durch den 
exzessiven Einsatz von Ausrufezeichen zu kompensieren?

von Ja mann (Gast)


Lesenswert?

>Versuchst du deine mangelhaften orthographischen Fähigkeiten
Mein Gott, nimm mal den Stock aus Deinem Hintern, er freut sich halt 
dass es endlich funktioniert.

>durch den exzessiven Einsatz von Ausrufezeichen zu kompensieren?
Gott bist du ein Langweiler, und noch dazu einer mit einem 
einschläfernden Zwang zu Fremdwortern.

Gast:
Erst mal Glückwunsch. JTAG dient dazu um den Controller zu programmieren 
& zu debuggen. Wenn du über ISP programmierst (nehme ich an) brauchst du 
diese Schnittstelle nicht. Standardmäßig (neu) sind die Pins für JTAG an 
PORTD aber auf JTAG gestellt, und die "normale" funktion ist 
unterbrochen. Erst wenn du die Fuse JTAGEN löschst, ist JTAG deaktiviert 
und die Pins funktionieren wie gewollt.

von fubu1000 (Gast)


Lesenswert?

Hallo,
hättest auch im MCUCSR Register Bit 8 auf Null setzen können.

Gruss

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.