16-MOD_LCDs-Library (ATMega)

-diese Library dient zum ansteuern des Grafik-LCD-Displays
vom MK3-Board im seriell-Mode

-dadurch werden nur 6 Port-Pins (anstatt 16) benötigt.

Funktionen :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void MK3_INIT_LCD(void);	        // zum initialisieren des LCD
void MK3_LCD_LIGHT(bool wert);          // zum ein-ausschalten der Beleuchtung
void MK3_LCD_CLEAR(void);               // zum loeschen des LCD
void MK3_LCD_SETCURSOR(char x,char y);  // zum setzen des cursors
void MK3_LCD_PRINT_BYTE(char data);     // zum schreiben von daten ab Cursor
void MK3_LCD_PRINT_AT(char x,char y,char data);   // zum schreiben von daten
void MK3_LCD_PIXEL_AT(char x,char y,DRAWTYP m);   // zum zeichnen eines pixels
void MK3_LCD_STRING_AT(char x,char y,char *ptr);  // zum schreiben eines Strings
void MK3_LCD_UINT_AT(char x,char y,unsigned int data);  // zum schreiben einer Zahl
void MK3_LCD_FLOAT_AT(char x,char y,double data);       // zum schreiben einer Float
void MK3_LCD_DARK(bool wert);		// zum ein-ausschalten des Display
void MK3_LCD_INVERS(bool wert);		// zum invertieren des Display
void MK3_LCD_PRINT_STRING(char *ptr);   // zum schreiben von texten ab Cursor
void MK3_LCD_PRINT_UINT(unsigned int data);       // zum schreiben von zahlen ab Cursor
void MK3_LCD_PRINT_FLOAT(double data);            // zum schreiben von float ab Cursor
void MK3_LCD_PRINT_UTYP(unsigned int wert,U_ZAHLTYP typ);    // unsigned zahlentyp
void MK3_LCD_PRINT_STYP(int wert,S_ZAHLTYP typ);             // signed zahlentyp
void MK3_LCD_PRINT_FTYP(double wert,F_ZAHLTYP typ);          // float zahlentyp
void MK3_LCD_BMP_AT(char x,char y,const unsigned char *ptr,int laenge); // Bild anzeigen
void MK3_LCD_BMP_FLASH_AT(char x,char y,const unsigned char *ptr,int laenge); // Bild anzeigen

Beispiel :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
//-----------------------------------------------------------------------------
// Title      : bsp_ub026_mk3_ext_lcds
//-----------------------------------------------------------------------------
// Funktion   : seriell LCD-Test
// Schaltung  : myAVR MK3
//-----------------------------------------------------------------------------
// Prozessor  : ATMega2560
// Takt       : 16 MHz
// Sprache    : C
// Date       : 06.02.2010
// Version    : 1.0
// Autor      : UB
// LinkerOption:    -Wl,-u,vfprintf -lprintf_flt -lm
//-----------------------------------------------------------------------------
#define F_CPU 16000000
#include <avr/io.h>
#include <ub_ext_module/ext_mod_LCDs.h>
 
//-----------------------------------------------------------------------------
// Hinweis : Quick-Jumper Port-C+A muss gesetzt sein
// - verdrahtung vom Display muss geandert werden (siehe H-File)
//-----------------------------------------------------------------------------
int main (void)
{
  unsigned int n;
  char led_wert=0;
  char x,y;
 
  MK3_INIT_LCD(); // init des LCD
 
  MK3_LCD_CLEAR(); // LCD loeschen
  MK3_LCD_LIGHT(true); // beleuchtung einschalten
 
  // zeichnet eine Reihe mit 0x55
  MK3_LCD_SETCURSOR(0,0);
  for(n=0;n<=LCD_MAXX;n++) {
    MK3_LCD_PRINT_BYTE(0x55);
  }
 
  // zeichnet eine Reihe mit 0 bis 127
  MK3_LCD_SETCURSOR(0,16);
  for(n=0;n<=LCD_MAXX;n++) {
    MK3_LCD_PRINT_BYTE(n);
  }
 
  // zeichnet eine schraege Linie
  y=0;
  for(x=10;x<50;x++)
  {
    MK3_LCD_PIXEL_AT(x,y,MODE_OVERWRITE);
    y++;
  }
 
  MK3_LCD_SETCURSOR(0,8);
  MK3_LCD_PRINT_STRING("Display im");
 
  MK3_LCD_STRING_AT(7,16,"seriell Mode");
 
  MK3_LCD_SETCURSOR(20,24);
  MK3_LCD_PRINT_UINT(123);  // zahl ausgeben
 
  MK3_LCD_FLOAT_AT(20,32,12.345);
 
  while (true)
  {
  }
  return 0;
}

Hier die Library zum download :

UB_EXT_MOD_LCDs_v204


Wie hat Dir dieser Artikel gefallen?

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (Noch keine Bewertungen)
Loading...

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.