#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. |
#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 |
typedef unsigned char(* ks0108FontCallback)(const unsigned char *) |
unsigned char ks0108DoReadData | ( | unsigned char | first | ) |
Liest daten aus dem LCD.
first | (unknown) |
void ks0108Enable | ( | void | ) |
Aktiviert das LCD.
void ks0108FillRect | ( | unsigned char | x, | |
unsigned char | y, | |||
unsigned char | width, | |||
unsigned char | height, | |||
unsigned char | color | |||
) |
Fuellt ein Rechteck aus.
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.
x | (0 - 127) | |
y | (0 - 63) |
void ks0108Init | ( | unsigned char | invert | ) |
Initialisiert das LCD.
invert | (Wenn TRUE wird das LCD invertiert) |
void ks0108InvertRect | ( | unsigned char | x, | |
unsigned char | y, | |||
unsigned char | width, | |||
unsigned char | height | |||
) |
Invertiert ein Rechteck.
x | (X-Koordinate) | |
y | (Y-Koordinate) | |
width | (Laenge) | |
height | (Hoehe) |
unsigned char ks0108ReadData | ( | void | ) |
Liest Daten aus dem LCD inkl. Dummy-Read.
void ks0108Reset | ( | unsigned char | resetState | ) |
Setzt den Reset Pin.
resetState | (0 = LOW; 1 = HIGH) |
void ks0108WriteCommand | ( | unsigned char | cmd, | |
unsigned char | chip | |||
) |
Schreibt einen Befehl zum LCD.
cmd | (Command) | |
chip | (CHIP1 oder CHIP2) |
void ks0108WriteData | ( | unsigned char | data | ) |
Schreibt Daten zum LCD.
void LCD_Dir_In | ( | void | ) |
LCD Datenrichtung In.
void LCD_Dir_Out | ( | void | ) |
LCD Datenrichtung Out.
unsigned char LCD_Read_In | ( | void | ) |
Liest die Daten vom LCD ein.
void LCD_Restore_Cmd | ( | unsigned char | cmd | ) |
Stellt die Zustaende der Steuerleitungen wieder her.
cmd | (Die zuvor in ein Byte gespeicherten Commandlines) |
unsigned char LCD_Save_Cmd | ( | void | ) |
Speichert die Zustaende der Steuerleitungen.
void LCD_Write_Out | ( | unsigned char | data | ) |
Sendet die Daten ans LCD.
data | (Datenbyte) |