Code:
/* >> NUR AUSSCHNITT ohne Gewähr © oberallgeier
Stand ..\C5_Ronny-5_etc\ALCo\ALCo_kalij.c
============================================================================== =
...
void LCD_SZ1 (void) ; // LCD-Sonderzeichen, Satz 1 Balken
void LCD_SZ2 (void) ; // LCD-Sonderzeichen, Satz 2 Grosse Ziffern
void LCD_SZ3 (void) ; // Generiere LCD-Sonderzeichen, Satz 1 Balken hori
void LCD_SZ4 (void) ; // LCD-So-zeichn, RETURN, auf, ab à la pololu, ±
============================================================================== =
*** Versionsgeschichte:
x04 21Sep22 1122 ~com~+~kal~ korrigiert wegen Start- und End-Stellung, siehe LOG
...
=============================================================================== =
*** Aufgabenstellung : Software RJjr, ArmLiController/Servobetrieb, ATmega1284p
Original: ...\C5_Ronny-5_etc\ALCo\ALCo_kalij.c, eigentlich aber
D:\D_pro-fils\compu_MC\C7\ALCo\ALCo\ALCokalij.c x41 25Mar19 1204 ~kal~:...
============================================================================== */
// FP FP FP FP FP FP FP FP FP FP FP FP FP FP FP FP FP FP FP FP FP FP FP FP FP FP =
/* == Funktionsprototypen Kalibrierung/Startwerte, LDC-Routinen
...
void LCD_SZ1(void) ; // Generiere LCD-Sonderzeichen, Satz 1 = Balken
void LCD_SZ2(void) ; // LCD-Sonderzeichen, Satz 2 = große Ziffern
void LCD_SZ3(void) ; // Generiere LCD-Sonderzeichen, Satz 1 Balken hori
void LCD_SZ4(void) ; // LCD-Sonderzeichen: RET à la pololu, ©, etc
// FP FP FP FP FP FP FP FP FP FP FP FP FP ******************************* */
// ============================================================================= =
// Generierung von LCD-Sonderzeichen für DEM162xx, Satz 1 = Balken vertikal
// ============================================================================= =
void LCD_SZ1(void) // Generiere LCD-Sonderzeichen, Satz 1 = Balken
{ // vertikal, 7 Zeichen
// - - - - - - - - - - - - - - - -
// Es folgen LCD-Daten für den Balken 1 bis 7 Pixelreihen hoch
// der "Balken8" ist DEM-Code 255, der leere Balken ist DEM-Code 254
uint8_t LCD_c_1[8] = // LCD-Character 1, unterste Linie
{ 0, 0, 0, 0, 0, 0, 0, 31 };
lcd_generatechar(LCD_GC_CHAR1, LCD_c_1);
uint8_t LCD_c_2[8] = // LCD-Character 2
{ 0, 0, 0, 0, 0, 0, 31, 31 };
lcd_generatechar(LCD_GC_CHAR2, LCD_c_2);
uint8_t LCD_c_3[8] = // LCD-Character 3
{ 0, 0, 0, 0, 0, 31, 31, 31 };
lcd_generatechar(LCD_GC_CHAR3, LCD_c_3);
uint8_t LCD_c_4[8] = // LCD-Character 4
{ 0, 0, 0, 0, 31, 31, 31, 31 };
lcd_generatechar(LCD_GC_CHAR4, LCD_c_4);
uint8_t LCD_c_5[8] = // LCD-Character 5
{ 0, 0, 0, 31, 31, 31, 31, 31 };
lcd_generatechar(LCD_GC_CHAR5, LCD_c_5);
uint8_t LCD_c_6[8] = // LCD-Character 6
{ 0, 0, 31, 31, 31, 31, 31, 31 };
lcd_generatechar(LCD_GC_CHAR6, LCD_c_6);
uint8_t LCD_c_7[8] = // LCD-Character 7
{ 0, 31, 31, 31, 31, 31, 31, 31 };
lcd_generatechar(LCD_GC_CHAR7, LCD_c_7);
/*
uint8_t LCD_c_0[8] = // LCD-Character 0
{ 31, 31, 31, 31, 31, 31, 31, 31 };
lcd_generatechar(LCD_GC_CHAR0, LCD_c_0);
*/
return; //
} // Ende void LCD_SZ1(void)
// === Ende
// ============================================================================= =
// ============================================================================= =
// Generierung von LCD-Sonderzeichen für DEM162xx, Satz 2 für große Ziffern
// ============================================================================= =
void LCD_SZ2(void) // LCD-Sonderzeichen, Satz 2 = große Ziffern
{ //
// - - - - - - - - - - - - - - - -
// Es folgen LCD-Daten für Element 0 bis 7 für große Zifferndarstellung
//
// 00011 = 3 11000 = 24 11011 = 27 11111 = 31
uint8_t LCD_c_0[8] = // LCD-Character 0, rechte Linie
{ 3, 3, 3, 3, 3, 3, 3, 3 };
// { 6, 6, 6, 6, 6, 6, 6, 6 };
lcd_generatechar(LCD_GC_CHAR0, LCD_c_0);
uint8_t LCD_c_1[8] = // LCD-Character 1, ne Art 7
{ 31, 31, 3, 3, 3, 3, 3, 3 };
lcd_generatechar(LCD_GC_CHAR1, LCD_c_1);
uint8_t LCD_c_2[8] = // LCD-Character 2, ne Art L
{ 3, 3, 3, 3, 3, 3, 31, 31 };
lcd_generatechar(LCD_GC_CHAR2, LCD_c_2);
uint8_t LCD_c_3[8] = // LCD-Character 3, ne Art C
{ 31, 31, 24, 24, 24, 24, 31, 31 };
lcd_generatechar(LCD_GC_CHAR3, LCD_c_3);
uint8_t LCD_c_4[8] = // LCD-Character 4, Spiegel-C
{ 31, 31, 3, 3, 3, 3, 31, 31 };
lcd_generatechar(LCD_GC_CHAR4, LCD_c_4);
uint8_t LCD_c_5[8] = // LCD-Character 5, U
{ 27, 27, 27, 27, 27, 27, 31, 31 };
lcd_generatechar(LCD_GC_CHAR5, LCD_c_5);
uint8_t LCD_c_6[8] = // LCD-Character 6, "n"
{ 31, 31, 27, 27, 27, 27, 27, 27 };
lcd_generatechar(LCD_GC_CHAR6, LCD_c_6);
uint8_t LCD_c_7[8] = // LCD-Character 7, O
{ 31, 31, 27, 27, 27, 27, 31, 31 };
lcd_generatechar(LCD_GC_CHAR7, LCD_c_7);
return; //
} // Ende void LCD_SZ2void)
// === Ende
// ============================================================================= =
// ============================================================================= =
// Generierung von LCD-Sonderzeichen für DEM162xx, Satz 3 = Balken horizontal
// ============================================================================= =
void LCD_SZ3(void) // Generiere LCD-Sonderzeichen, Satz 1 Balken hori
{ //
// - - - - - - - - - - - - - - - -
// Es folgen LCD-Daten für den Balken 1 bis 5 Pixelreihen breit
uint8_t LCD_c_1[8] = // LCD-Character 1, Balken 1 breit
{ 16, 16, 16, 16, 16, 16, 16, 16 };
lcd_generatechar(LCD_GC_CHAR1, LCD_c_1);
uint8_t LCD_c_2[8] = // LCD-Character 1, Balken 2 breit
{ 24, 24, 24, 24, 24, 24, 24, 24 };
lcd_generatechar(LCD_GC_CHAR2, LCD_c_2);
uint8_t LCD_c_3[8] = // LCD-Character 3, Balken 3 breit
{ 28, 28, 28, 28, 28, 28, 28, 28 };
lcd_generatechar(LCD_GC_CHAR3, LCD_c_3);
uint8_t LCD_c_4[8] = // LCD-Character 4, Balken 4 breit
{ 30, 30, 30, 30, 30, 30, 30, 30 };
lcd_generatechar(LCD_GC_CHAR4, LCD_c_4);
uint8_t LCD_c_5[8] = // LCD-Character 5, Balken 5 breit
{ 31, 31, 31, 31, 31, 31, 31, 31 };
lcd_generatechar(LCD_GC_CHAR5, LCD_c_5);
return; //
} // Ende void LCD_SZ3(void)
// === Ende
// ============================================================================= =
// ============================================================================= =
// Generierung von LCD-Sonderzeichen für DEM162xx, Satz 4 = RETURN
// ============================================================================= =
void LCD_SZ4(void) // LCD-Sonderzeichen, NUR RETURN à la Pololu
// - - - - - - - - - - - - - - - -
{ //
// Returnzeichen à la Pololu
uint8_t LCD_c_0[8] = { // LCD-Character 0
0b00000000, // -----
0b00000010, // ---X-
0b00000001, // ----X
0b00000101, // --X-X
0b00001001, // -X--X
0b00011110, // XXXX-
0b00001000, // -X---
0b00000100 // --X--
};
lcd_generatechar(LCD_GC_CHAR0, LCD_c_0);
// - - - - - - - - - - - - - - - -
// Pfeil auf
uint8_t LCD_c_1[8] = { // LCD-Character 1
0b00000000, // -----
0b00000000, // -----
0b00000100, // --X--
0b00001110, // -XXX-
0b00010101, // X-X-X
0b00000100, // --X--
0b00000100, // --X--
0b00000000 // -----
};
lcd_generatechar(LCD_GC_CHAR1, LCD_c_1);
// - - - - - - - - - - - - - - - -
// Pfeil ab
uint8_t LCD_c_2[8] = { // LCD-Character 2
0b00000000, // -----
0b00000000, // -----
0b00000100, // --X--
0b00000100, // --X--
0b00010101, // X-X-X
0b00001110, // -XXX-
0b00000100, // --X--
0b00000000 // -----
};
lcd_generatechar(LCD_GC_CHAR2, LCD_c_2);
// - - - - - - - - - - - - - - - -
// Pfeil ab
uint8_t LCD_c_3[8] = { // LCD-Character 3, ©
0b00001110, // -XXX-
0b00010001, // X---X
0b00001101, // -XX-X
0b00010001, // X---X
0b00010001, // X---X
0b00001101, // -XX-X
0b00010001, // X---X
0b00001110 // -XXX-
};
lcd_generatechar(LCD_GC_CHAR3, LCD_c_3);
// - - - - - - - - - - - - - - - -
// Doppelpfeil schräg linksunten<=>rechtsoben
uint8_t LCD_c_4[8] = { // LCD-Character 4 => Pfeil-lu-ro
0b00000000, // -----
0b00000111, // --XXX
0b00000011, // ---XX
0b00010101, // X-X-X
0b00011000, // XX---
0b00011100, // XXX--
0b00000000, // -----
0b00000000 // -----
};
lcd_generatechar(LCD_GC_CHAR4, LCD_c_4);
// - - - - - - - - - - - - - - - -
// linke Hälfte Copyright ©
uint8_t LCD_c_5[8] = { // LCD-Character 5 => © linke Hälfte
0b00000011, // ---XX
0b00000100, // --X--
0b00001001, // -X--X
0b00001010, // -X-X-
0b00001010, // -X-X-
0b00001001, // -X--X
0b00000100, // --X--
0b00000011 // ---XX
};
lcd_generatechar(LCD_GC_CHAR5, LCD_c_5);
// - - - - - - - - - - - - - - - -
// Rechte Hälfte Copyright ©
uint8_t LCD_c_6[8] = { // LCD-Character 6 => © rechte Hälfte
0b00011000, // XX---
0b00000100, // --X--
0b00010010, // X--X-
0b00000010, // ---X-
0b00000010, // ---X-
0b00010010, // X--X-
0b00000100, // --X--
0b00011000 // XX---
};
lcd_generatechar(LCD_GC_CHAR6, LCD_c_6);
// - - - - - - - - - - - - - - - -
// Charakter µ
uint8_t LCD_c_7[8] = { // LCD-Character 7 => µ
0b00000000, // -----
0b00000000, // -----
0b00010001, // X---X
0b00010001, // X---X
0b00010011, // X--XX
0b00011101, // XXX-X
0b00010000, // X----
0b00010000 // X----
};
lcd_generatechar(LCD_GC_CHAR7, LCD_c_7);
return; //
} // Ende void LCD_SZ4(void)
// === Ende
// ============================================================================= =
// ============================================================================= =
// ===== ENDE Subroutinen ================================================== =
// ============================================================================= =
Viel Erfolg, vielleicht hilft der Rat.
Lesezeichen