D:/Atmel/Projekte/AkkuTester/SW/Neueste/ks0108.h-Dateireferenz

In dieser Datei sind Funktionen zur ansteuerung des LCDs. Mehr ...

#include <avr/pgmspace.h>
#include <stdlib.h>
#include "ks0108_def.h"
#include "global.h"
#include "init.h"

Datenstrukturen

struct  lcdCoord

Makrodefinitionen

#define ks0108ClearScreen()   {ks0108FillRect(0, 0, 127, 63, WHITE);}
#define LCD_DI_LOW()   (LCD_DI_PORT &= ~(1 << LCD_DI_PINNR))
#define LCD_RW_LOW()   (LCD_RW_PORT &= ~(1 << LCD_RW_PINNR))
#define LCD_EN_LOW()   (LCD_EN_PORT &= ~(1 << LCD_EN_PINNR))
#define LCD_CS1_LOW()   (LCD_CS1_PORT &= ~(1 << LCD_CS1_PINNR))
#define LCD_CS2_LOW()   (LCD_CS2_PORT &= ~(1 << LCD_CS2_PINNR))
#define LCD_RESET_LOW()   (LCD_RESET_PORT &= ~(1 << LCD_RESET_PINNR))
#define LCD_DI_HIGH()   (LCD_DI_PORT |= (1 << LCD_DI_PINNR))
#define LCD_RW_HIGH()   (LCD_RW_PORT |= (1 << LCD_RW_PINNR))
#define LCD_EN_HIGH()   (LCD_EN_PORT |= (1 << LCD_EN_PINNR))
#define LCD_CS1_HIGH()   (LCD_CS1_PORT |= (1 << LCD_CS1_PINNR))
#define LCD_CS2_HIGH()   (LCD_CS2_PORT |= (1 << LCD_CS2_PINNR))
#define LCD_RESET_HIGH()   (LCD_RESET_PORT |= (1 << LCD_RESET_PINNR))
#define CHIP1   0x00
#define CHIP2   0x01
#define LCD_ON   0x3F
#define LCD_OFF   0x3E
#define LCD_SET_ADD   0x40
#define LCD_SET_PAGE   0xB8
#define LCD_DISP_START   0xC0
#define BLACK   0xFF
#define WHITE   0x00
#define FONT_LENGTH   0
#define FONT_FIXED_WIDTH   2
#define FONT_HEIGHT   3
#define FONT_FIRST_CHAR   4
#define FONT_CHAR_COUNT   5
#define FONT_WIDTH_TABLE   6

Typdefinitionen

typedef unsigned char(* ks0108FontCallback )(const unsigned char *)

Funktionen

void LCD_Dir_Out (void)
 LCD Datenrichtung Out.
void LCD_Dir_In (void)
 LCD Datenrichtung In.
unsigned char LCD_Read_In (void)
 Liest die Daten vom LCD ein.
void LCD_Write_Out (unsigned char data)
 Sendet die Daten ans LCD.
unsigned char LCD_Save_Cmd (void)
 Speichert die Zustaende der Steuerleitungen.
void LCD_Restore_Cmd (unsigned char cmd)
 Stellt die Zustaende der Steuerleitungen wieder her.
void ks0108Init (unsigned char invert)
 Initialisiert das LCD.
void ks0108Reset (unsigned char resetState)
 Setzt den Reset Pin.
void ks0108Enable (void)
 Aktiviert das LCD.
unsigned char ks0108DoReadData (unsigned char first)
 Liest daten aus dem LCD.
unsigned char ks0108ReadData (void)
 Liest Daten aus dem LCD inkl. Dummy-Read.
void ks0108WriteCommand (unsigned char cmd, unsigned char chip)
 Schreibt einen Befehl zum LCD.
void ks0108WriteData (unsigned char data)
 Schreibt Daten zum LCD.
void ks0108GotoXY (unsigned char x, unsigned char y)
 Springt an die Adresse X, Y.
void ks0108FillRect (unsigned char x, unsigned char y, unsigned char width, unsigned char height, unsigned char color)
 Fuellt ein Rechteck aus.
void ks0108InvertRect (unsigned char x, unsigned char y, unsigned char width, unsigned char height)
 Invertiert ein Rechteck.


Ausführliche Beschreibung

In dieser Datei sind Funktionen zur ansteuerung des LCDs.

Version:
v 1.1 - Jede Steuerleitung kann jetzt einzeln definiert werden
- Die Daten koennen in ein High- und LowNibble aufgeteilt werden
v. 1.0 Erste Version von Fabian Maximilian Thiele
Datum:
Create: 09.02.2008
Modify: 09.08.2008
Autor:
Philipp Kaelin (Orginal von Fabian Maximilian Thiele)

Makro-Dokumentation

#define BLACK   0xFF

#define CHIP1   0x00

#define CHIP2   0x01

#define FONT_CHAR_COUNT   5

#define FONT_FIRST_CHAR   4

#define FONT_FIXED_WIDTH   2

#define FONT_HEIGHT   3

#define FONT_LENGTH   0

#define FONT_WIDTH_TABLE   6

 
#define ks0108ClearScreen (  )     {ks0108FillRect(0, 0, 127, 63, WHITE);}

 
#define LCD_CS1_HIGH (  )     (LCD_CS1_PORT |= (1 << LCD_CS1_PINNR))

 
#define LCD_CS1_LOW (  )     (LCD_CS1_PORT &= ~(1 << LCD_CS1_PINNR))

 
#define LCD_CS2_HIGH (  )     (LCD_CS2_PORT |= (1 << LCD_CS2_PINNR))

 
#define LCD_CS2_LOW (  )     (LCD_CS2_PORT &= ~(1 << LCD_CS2_PINNR))

 
#define LCD_DI_HIGH (  )     (LCD_DI_PORT |= (1 << LCD_DI_PINNR))

 
#define LCD_DI_LOW (  )     (LCD_DI_PORT &= ~(1 << LCD_DI_PINNR))

#define LCD_DISP_START   0xC0

 
#define LCD_EN_HIGH (  )     (LCD_EN_PORT |= (1 << LCD_EN_PINNR))

 
#define LCD_EN_LOW (  )     (LCD_EN_PORT &= ~(1 << LCD_EN_PINNR))

#define LCD_OFF   0x3E

#define LCD_ON   0x3F

 
#define LCD_RESET_HIGH (  )     (LCD_RESET_PORT |= (1 << LCD_RESET_PINNR))

 
#define LCD_RESET_LOW (  )     (LCD_RESET_PORT &= ~(1 << LCD_RESET_PINNR))

 
#define LCD_RW_HIGH (  )     (LCD_RW_PORT |= (1 << LCD_RW_PINNR))

 
#define LCD_RW_LOW (  )     (LCD_RW_PORT &= ~(1 << LCD_RW_PINNR))

#define LCD_SET_ADD   0x40

#define LCD_SET_PAGE   0xB8

#define WHITE   0x00


Dokumentation der benutzerdefinierten Typen

typedef unsigned char(* ks0108FontCallback)(const unsigned char *)


Dokumentation der Funktionen

unsigned char ks0108DoReadData ( unsigned char  first  ) 

Liest daten aus dem LCD.

Autor:
Fabian Maximilian Thiele
Parameter:
first (unknown)

void ks0108Enable ( void   ) 

Aktiviert das LCD.

Autor:
Fabian Maximilian Thiele

void ks0108FillRect ( unsigned char  x,
unsigned char  y,
unsigned char  width,
unsigned char  height,
unsigned char  color 
)

Fuellt ein Rechteck aus.

Autor:
Fabian Maximilian Thiele
Parameter:
x (X-Koordinate)
y (Y-Koordinate)
width (Breite)
height (Hoehe)
color (WHITE oder BLACK)

void ks0108GotoXY ( unsigned char  x,
unsigned char  y 
)

Springt an die Adresse X, Y.

Autor:
Fabian Maximilian Thiele
Parameter:
x (0 - 127)
y (0 - 63)

void ks0108Init ( unsigned char  invert  ) 

Initialisiert das LCD.

Autor:
Fabian Maximilian Thiele
Parameter:
invert (Wenn TRUE wird das LCD invertiert)

void ks0108InvertRect ( unsigned char  x,
unsigned char  y,
unsigned char  width,
unsigned char  height 
)

Invertiert ein Rechteck.

Autor:
Fabian Maximilian Thiele
Parameter:
x (X-Koordinate)
y (Y-Koordinate)
width (Laenge)
height (Hoehe)

unsigned char ks0108ReadData ( void   ) 

Liest Daten aus dem LCD inkl. Dummy-Read.

Autor:
Fabian Maximilian Thiele

void ks0108Reset ( unsigned char  resetState  ) 

Setzt den Reset Pin.

Autor:
Fabian Maximilian Thiele
Parameter:
resetState (0 = LOW; 1 = HIGH)

void ks0108WriteCommand ( unsigned char  cmd,
unsigned char  chip 
)

Schreibt einen Befehl zum LCD.

Autor:
Fabian Maximilian Thiele
Parameter:
cmd (Command)
chip (CHIP1 oder CHIP2)

void ks0108WriteData ( unsigned char  data  ) 

Schreibt Daten zum LCD.

Autor:
Fabian Maximilian Thiele

void LCD_Dir_In ( void   ) 

LCD Datenrichtung In.

Autor:
Philipp Kälin

void LCD_Dir_Out ( void   ) 

LCD Datenrichtung Out.

Autor:
Philipp Kälin

unsigned char LCD_Read_In ( void   ) 

Liest die Daten vom LCD ein.

Autor:
Philipp Kälin
Rückgabe:
Datenbyte

void LCD_Restore_Cmd ( unsigned char  cmd  ) 

Stellt die Zustaende der Steuerleitungen wieder her.

Autor:
Philipp Kälin
Parameter:
cmd (Die zuvor in ein Byte gespeicherten Commandlines)

unsigned char LCD_Save_Cmd ( void   ) 

Speichert die Zustaende der Steuerleitungen.

Autor:
Philipp Kälin
Rückgabe:
Commandlines

void LCD_Write_Out ( unsigned char  data  ) 

Sendet die Daten ans LCD.

Autor:
Philipp Kälin
Parameter:
data (Datenbyte)


Erzeugt am Sun Oct 5 16:07:51 2008 für AkkuTester von  doxygen 1.5.6