-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 :