Moinsen an alle,
hab nen kleines Problem mit meinem Display(KS0073).
Ich versuche es vergeblich, seit zwei Tagen, anzusteuern.
Alles was ich bisher erreicht habe... ein beleuchteter Bildschirm und
nur dunkle Zeilen...
Ich verwende zum Ansteuern die Dateien "lcd.h" und "lcd.c" von
http://jump.to/fleury (Peter Fleury)
da ich noch im erlernen bin, nutze ich den ATmega32 auf einem
Board(RN-Control v1.4) des Roboternetzwerks.
meine Einstellungen sehen wie folgt aus:
1.in der "lcd.h"
#define LCD_PORT PORTC /**< port for the LCD lines */
#define LCD_DATA0_PORT LCD_PORT /**< port for 4bit data bit 0 */
#define LCD_DATA1_PORT LCD_PORT /**< port for 4bit data bit 1 */
#define LCD_DATA2_PORT LCD_PORT /**< port for 4bit data bit 2 */
#define LCD_DATA3_PORT LCD_PORT /**< port for 4bit data bit 3 */
#define LCD_DATA0_PIN 0 /**< pin for 4bit data bit 0 */
#define LCD_DATA1_PIN 1 /**< pin for 4bit data bit 1 */
#define LCD_DATA2_PIN 2 /**< pin for 4bit data bit 2 */
#define LCD_DATA3_PIN 3 /**< pin for 4bit data bit 3 */
#define LCD_RS_PORT LCD_PORT /**< port for RS line */
#define LCD_RS_PIN 4 /**< pin for RS line */
#define LCD_RW_PORT LCD_PORT /**< port for RW line */
#define LCD_RW_PIN 5 /**< pin for RW line */
#define LCD_E_PORT LCD_PORT /**< port for Enable line */
#define LCD_E_PIN 6 /**< pin for Enable line */
2.in der "lcd.c"
#define KS0073_EXTENDED_FUNCTION_REGISTER_ON 0x24
/* |0|010|0100 4-bit mode extension-bit RE = 1 */
#define KS0073_EXTENDED_FUNCTION_REGISTER_OFF 0x20
/* |0|010|0000 4-bit mode, extension-bit RE = 0 */
#define KS0073_4LINES_MODE 0x09
/* |0|000|1001 4 lines mode */
würde mich freuen, wenn jemand auf anhieb nen tip parat hätte.
mfg Frank
Frank wrote:
> da ich noch im erlernen bin, nutze ich den ATmega32 auf einem> Board(RN-Control v1.4) des Roboternetzwerks.
...
> #define LCD_PORT PORTC /**< port for the LCD lines */
...
Da drängt sich sofort die Frage auf:
Hast du das JTAG Interface abgeschaltet?
ich hab sie übrigens verändert... zwangsläufig:
#define XTAL 16000000
/**< clock frequency in Hz, used to calculate delay timer */
/**
* @name Definition for LCD controller type
* Use 0 for HD44780 controller, change to 1 for displays with KS0073
controller.
*/
#define LCD_CONTROLLER_KS0073 1
/**< Use 0 for HD44780 controller, 1 for KS0073 controller */
/**
* @name Definitions for Display Size
* Change these definitions to adapt setting to your display
*/
#define LCD_LINES 4
/**< number of visible lines of the display */
#define LCD_DISP_LENGTH 20
/**< visibles characters per line of the display */
#define LCD_LINE_LENGTH 0x40
/**< internal line length of the display */
#define LCD_START_LINE1 0x00
/**< DDRAM address of first char of line 1 */
#define LCD_START_LINE2 0x20
/**< DDRAM address of first char of line 2 */
#define LCD_START_LINE3 0x40
/**< DDRAM address of first char of line 3 */
#define LCD_START_LINE4 0x60
/**< DDRAM address of first char of line 4 */
gruß Frank
Frank wrote:
> JTAG interface abschalten?>>> ich bin super neu auf dem gebiet, gib mir kurz zeit das durchzulesen :-)>
Auf der verlinkten Page findest du keine Erklärung zu
deinem Problem.
JTAG ist bei einem Mega32 per Default eingeschaltet und belegt
ein paar Pins am PORTC. Die funktionieren dadurch nicht als
'normale' I/O Ports. Da dein LCD an eben diesem Port hängt
kann daher die Fleury Lib die Pins nicht richtig ansteuern.
Lösung
* entweder JTAG per Fuse abschalten
* oder JTAG per Software abschalten
* oder das LCD an einem anderen Port betreiben
Okay bei PonyProg heißt KEIN Haken = An.
Habs gesetzt und geschrieben, Die Bildpunkte des Displays bleiben
trotzdem alle Schwarz(dunkel, blau, wie auch immer)!
Frank wrote:
> Habs gesetzt und geschrieben, Die Bildpunkte des Displays bleiben> trotzdem alle Schwarz(dunkel, blau, wie auch immer)!
Wie 'alle'?
Sind wirklich alle Pixel deines Displays dunkel?
Dann stimmt der Kontrast nicht.
Normal ist bei einem uninitialisiertem Display, dass die erste
Textzeile dunkel ist.
okay ich glaub es war der Kontrast :-DDDDD ich könnt mich totlachen, wie
peinlich...
jetzt hab ich aber immernoch das problem, das nichts angezeigt wird :-((
gruß das Sorgenkind ;-)
Eine eigene Frage?
Dieser Thread ist über 18 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.