مشکل در تغییر فونت lcd گرافیکی ks0108 و کتابخانه lcd گرافیک در keil
سلام.به لطف دوستان و بخصوص آقای محمدی lcd گرافیکی در keil راه اندازی شد.من میخاستم فونت موجود در این کتابخانه را تغییر بدم که برای این کار اومدم و فونتی که آقای مزارعی برای کتابخانه lcd گرافیکی برای avr توی سایت قرار دادن را کپی کردم توی کتابخانه lcd گرافیکی keil اما به هنگام استفاده یه مشکل پیش میاد که نمی دونم علتش چیه :مشکل از این قراره که در عمل برای نمایش کاراکترها و حروف تا [ مشکلی ندارم و روی lcd هم بطور صحیح نمایش داده میشن.اما از کاراکتر \ به بعد کاراکتر نمایش داده شده بر روی lcd با اون چیزی که من میخام تفاوت داره. مثلا من توی برنامه ام دستور زیر را نوشتم ولی در عمل روی lcd مشاهده می کنیم :
کد:
GLCD_WriteString("!09@AZ[\]");
[Dear Guest/Member you can't see link before replyclick here to register]
البته من خودم کتابخانه0108KS را در قسمت تعریف تابع GLCD_WriteChar به صورت زیر تغییر دادم که قبل از تغییر به جای عدد 8 ،عدد 5 بود.فونت اورجینال کتابخانه 5*7 ولی فونتی که من استفاده کردم 8*8 هست.
کد:
void GLCD_WriteChar(char charToWrite)
{
int i;
charToWrite -=32;
for(i = 0; i <8; i++)
GLCD_WriteData(GLCD_ReadByteFromROMMemory((char *)((int)font8x8 + (8 * charToWrite) + i)));
GLCD_WriteData(0x00);
}
void GLCD_WriteString(char * stringToWrite)
{
while(*stringToWrite)
GLCD_WriteChar(*stringToWrite++);
}
این هم از کتابخانه فونت ها :
کد:
// font.h
//
// Tablica czcionek 5x7
//
//#include <avr/pgmspace.h>
static const char font5x8[] = {
0x00, 0x00, 0x00, 0x00, 0x00,// (spacja)
0x00, 0x00, 0x5F, 0x00, 0x00,// !
0x00, 0x07, 0x00, 0x07, 0x00,// "
0x14, 0x7F, 0x14, 0x7F, 0x14,// #
0x24, 0x2A, 0x7F, 0x2A, 0x12,// $
0x23, 0x13, 0x08, 0x64, 0x62,// %
0x36, 0x49, 0x55, 0x22, 0x50,// &
0x00, 0x05, 0x03, 0x00, 0x00,// '
0x00, 0x1C, 0x22, 0x41, 0x00,// (
0x00, 0x41, 0x22, 0x1C, 0x00,// )
0x08, 0x2A, 0x1C, 0x2A, 0x08,// *
0x08, 0x08, 0x3E, 0x08, 0x08,// +
0x00, 0x50, 0x30, 0x00, 0x00,// ,
0x08, 0x08, 0x08, 0x08, 0x08,// -
0x00, 0x30, 0x30, 0x00, 0x00,// .
0x20, 0x10, 0x08, 0x04, 0x02,// /
0x3E, 0x51, 0x49, 0x45, 0x3E,// 0
0x00, 0x42, 0x7F, 0x40, 0x00,// 1
0x42, 0x61, 0x51, 0x49, 0x46,// 2
0x21, 0x41, 0x45, 0x4B, 0x31,// 3
0x18, 0x14, 0x12, 0x7F, 0x10,// 4
0x27, 0x45, 0x45, 0x45, 0x39,// 5
0x3C, 0x4A, 0x49, 0x49, 0x30,// 6
0x01, 0x71, 0x09, 0x05, 0x03,// 7
0x36, 0x49, 0x49, 0x49, 0x36,// 8
0x06, 0x49, 0x49, 0x29, 0x1E,// 9
0x00, 0x36, 0x36, 0x00, 0x00,// :
0x00, 0x56, 0x36, 0x00, 0x00,// ;
0x00, 0x08, 0x14, 0x22, 0x41,// <
0x14, 0x14, 0x14, 0x14, 0x14,// =
0x41, 0x22, 0x14, 0x08, 0x00,// >
0x02, 0x01, 0x51, 0x09, 0x06,// ?
0x32, 0x49, 0x79, 0x41, 0x3E,// @
0x7E, 0x11, 0x11, 0x11, 0x7E,// A
0x7F, 0x49, 0x49, 0x49, 0x36,// B
0x3E, 0x41, 0x41, 0x41, 0x22,// C
0x7F, 0x41, 0x41, 0x22, 0x1C,// D
0x7F, 0x49, 0x49, 0x49, 0x41,// E
0x7F, 0x09, 0x09, 0x01, 0x01,// F
0x3E, 0x41, 0x41, 0x51, 0x32,// G
0x7F, 0x08, 0x08, 0x08, 0x7F,// H
0x00, 0x41, 0x7F, 0x41, 0x00,// I
0x20, 0x40, 0x41, 0x3F, 0x01,// J
0x7F, 0x08, 0x14, 0x22, 0x41,// K
0x7F, 0x40, 0x40, 0x40, 0x40,// L
0x7F, 0x02, 0x04, 0x02, 0x7F,// M
0x7F, 0x04, 0x08, 0x10, 0x7F,// N
0x3E, 0x41, 0x41, 0x41, 0x3E,// O
0x7F, 0x09, 0x09, 0x09, 0x06,// P
0x3E, 0x41, 0x51, 0x21, 0x5E,// Q
0x7F, 0x09, 0x19, 0x29, 0x46,// R
0x46, 0x49, 0x49, 0x49, 0x31,// S
0x01, 0x01, 0x7F, 0x01, 0x01,// T
0x3F, 0x40, 0x40, 0x40, 0x3F,// U
0x1F, 0x20, 0x40, 0x20, 0x1F,// V
0x7F, 0x20, 0x18, 0x20, 0x7F,// W
0x63, 0x14, 0x08, 0x14, 0x63,// X
0x03, 0x04, 0x78, 0x04, 0x03,// Y
0x61, 0x51, 0x49, 0x45, 0x43,// Z
0x00, 0x00, 0x7F, 0x41, 0x41,// [
0x02, 0x04, 0x08, 0x10, 0x20,// "\"
0x41, 0x41, 0x7F, 0x00, 0x00,// ]
0x04, 0x02, 0x01, 0x02, 0x04,// ^
0x40, 0x40, 0x40, 0x40, 0x40,// _
0x00, 0x01, 0x02, 0x04, 0x00,// `
0x20, 0x54, 0x54, 0x54, 0x78,// a
0x7F, 0x48, 0x44, 0x44, 0x38,// b
0x38, 0x44, 0x44, 0x44, 0x20,// c
0x38, 0x44, 0x44, 0x48, 0x7F,// d
0x38, 0x54, 0x54, 0x54, 0x18,// e
0x08, 0x7E, 0x09, 0x01, 0x02,// f
0x08, 0x14, 0x54, 0x54, 0x3C,// g
0x7F, 0x08, 0x04, 0x04, 0x78,// h
0x00, 0x44, 0x7D, 0x40, 0x00,// i
0x20, 0x40, 0x44, 0x3D, 0x00,// j
0x00, 0x7F, 0x10, 0x28, 0x44,// k
0x00, 0x41, 0x7F, 0x40, 0x00,// l
0x7C, 0x04, 0x18, 0x04, 0x78,// m
0x7C, 0x08, 0x04, 0x04, 0x78,// n
0x38, 0x44, 0x44, 0x44, 0x38,// o
0x7C, 0x14, 0x14, 0x14, 0x08,// p
0x08, 0x14, 0x14, 0x18, 0x7C,// q
0x7C, 0x08, 0x04, 0x04, 0x08,// r
0x48, 0x54, 0x54, 0x54, 0x20,// s
0x04, 0x3F, 0x44, 0x40, 0x20,// t
0x3C, 0x40, 0x40, 0x20, 0x7C,// u
0x1C, 0x20, 0x40, 0x20, 0x1C,// v
0x3C, 0x40, 0x30, 0x40, 0x3C,// w
0x44, 0x28, 0x10, 0x28, 0x44,// x
0x0C, 0x50, 0x50, 0x50, 0x3C,// y
0x44, 0x64, 0x54, 0x4C, 0x44,// z
0x00, 0x08, 0x36, 0x41, 0x00,// {
0x00, 0x00, 0x7F, 0x00, 0x00,// |
0x00, 0x41, 0x36, 0x08, 0x00,// }
0x08, 0x08, 0x2A, 0x1C, 0x08,// ->
0x08, 0x1C, 0x2A, 0x08, 0x08 // <-
};
static const char font8x8[] ={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //32/ -->
0x00,0x00,0x06,0xDF,0xDF,0x06,0x00,0x00, //33/ --> !
0x00,0x06,0x1E,0x00,0x00,0x1E,0x06,0x00, //34/ --> "
0x00,0x14,0x3E,0x14,0x3E,0x14,0x00,0x00, //35/ --> #
0x00,0x04,0x26,0xEB,0x32,0x10,0x00,0x00, //36/ --> $
0x40,0x66,0x36,0x18,0x6C,0x66,0x02,0x00, //37/ --> %
0x00,0x00,0x36,0x49,0x55,0x22,0x40,0x00, //38/ --> &
0x00,0x00,0x00,0x0B,0x07,0x00,0x00,0x00, //39/ --> '
0x00,0x00,0x1C,0x3E,0x41,0x00,0x00,0x00, //40/ --> (
0x00,0x00,0x41,0x3E,0x1C,0x00,0x00,0x00, //41/ --> )
0x00,0x22,0x1C,0x3E,0x1C,0x22,0x00,0x00, //42/ --> *
0x00,0x08,0x08,0x3E,0x08,0x08,0x00,0x00, //43/ --> +
0x00,0x00,0x00,0xB0,0x70,0x00,0x00,0x00, //44/ --> ,
0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x00, //45/ --> -
0x00,0x00,0x00,0xE0,0xE0,0xE0,0x00,0x00, //46/ --> .
0x00,0x40,0x20,0x10,0x08,0x04,0x02,0x00, //47/ --> /
0x00,0x3E,0x51,0x49,0x45,0x3E,0x00,0x00, //48/ --> 0
0x00,0x42,0x42,0x7F,0x40,0x40,0x00,0x00, //49/ --> 1
0x00,0x00,0x62,0x51,0x49,0x46,0x00,0x00, //50/ --> 2
0x22,0x41,0x49,0x49,0x49,0x36,0x00,0x00, //51/ --> 3
0x00,0x10,0x18,0x14,0x12,0x7F,0x10,0x00, //52/ --> 4
0x00,0x26,0x45,0x45,0x45,0x45,0x39,0x00, //53/ --> 5
0x00,0x3E,0x49,0x49,0x49,0x49,0x32,0x00, //54/ --> 6
0x00,0x01,0x01,0x71,0x09,0x05,0x03,0x00, //55/ --> 7
0x00,0x36,0x49,0x49,0x49,0x36,0x00,0x00, //56/ --> 8
0x00,0x46,0x49,0x49,0x49,0x3E,0x00,0x00, //57/ --> 9
0x00,0x00,0x00,0x36,0x36,0x00,0x00,0x00, //58/ --> :
0x00,0x00,0x00,0xB6,0x76,0x00,0x00,0x00, //59/ --> ;
0x00,0x00,0x08,0x1C,0x22,0x41,0x00,0x00, //60/ --> <
0x00,0x24,0x24,0x24,0x24,0x24,0x00,0x00, //61/ --> =
0x00,0x00,0x41,0x22,0x1C,0x08,0x00,0x00, //62/ --> >
0x02,0x03,0xD1,0xD9,0x07,0x02,0x00,0x00, //63/ --> ?
0x00,0x00,0x64,0x92,0xF2,0x82,0x7C,0x00, //64/ --> @
0x00,0x7C,0x7E,0x11,0x11,0x7E,0x7C,0x00, //65/ --> A
0x00,0x7F,0x7F,0x49,0x49,0x4E,0x30,0x00, //66/ --> B
0x00,0x1C,0x3E,0x63,0x41,0x63,0x22,0x00, //67/ --> C
0x00,0x7F,0x7F,0x41,0x41,0x3E,0x1C,0x00, //68/ --> D
0x00,0x7F,0x7F,0x49,0x49,0x49,0x41,0x00, //69/ --> E
0x00,0x7F,0x7F,0x09,0x09,0x09,0x01,0x00, //70/ --> F
0x1C,0x3E,0x41,0x49,0x79,0x38,0x00,0x00, //71/ --> G
0x00,0x7F,0x7F,0x08,0x08,0x7F,0x7F,0x00, //72/ --> H
0x00,0x00,0x41,0x7F,0x7F,0x41,0x00,0x00, //73/ --> I
0x20,0x60,0x40,0x40,0x7F,0x3F,0x00,0x00, //74/ --> J
0xFF,0xFF,0x18,0x3C,0x66,0xC3,0x81,0x00, //75/ --> K
0x00,0x7F,0x7F,0x40,0x40,0x40,0x40,0x00, //76/ --> L
0x7F,0x7F,0x06,0x0C,0x0C,0x06,0x7F,0x7F, //77/ --> M
0x00,0x7F,0x7F,0x0C,0x18,0x7F,0x7F,0x00, //78/ --> N
0x00,0x1C,0x3E,0x41,0x41,0x3E,0x1C,0x00, //79/ --> O
0x00,0x7F,0x7F,0x09,0x09,0x0F,0x06,0x00, //80/ --> P
0x00,0x1C,0x3E,0x41,0x71,0x7E,0x5C,0x00, //81/ --> Q
0x00,0x7F,0x7F,0x19,0x39,0x6F,0x46,0x00, //82/ --> R
0x00,0x26,0x6F,0x49,0x49,0x7B,0x32,0x00, //83/ --> S
0x00,0x01,0x01,0x7F,0x7F,0x01,0x01,0x00, //84/ --> T
0x00,0x3F,0x7F,0x40,0x40,0x7F,0x3F,0x00, //85/ --> U
0x00,0x1F,0x3F,0x60,0x60,0x3F,0x1F,0x00, //86/ --> V
0x1F,0x3F,0x70,0x18,0x18,0x70,0x3F,0x1F, //87/ --> W
0x41,0x63,0x1C,0x1C,0x63,0x41,0x00,0x00, //88/ --> X
0x00,0x01,0x07,0x7C,0x7C,0x07,0x01,0x00, //89/ --> Y
0x00,0x61,0x71,0x59,0x4D,0x47,0x43,0x00, //90/ --> Z
0x00,0x00,0x7F,0x7F,0x41,0x41,0x00,0x00, //91/ --> [
0x00,0x02,0x06,0x0C,0x18,0x30,0x20,0x00, //92/ --> \
0x00,0x00,0x41,0x41,0x7F,0x7F,0x00,0x00, //93/ --> ]
0x00,0x0C,0x06,0x03,0x03,0x06,0x0C,0x00, //94/ --> ^
0x00,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0x00, //95/ --> _
0x00,0x00,0x00,0x07,0x0B,0x00,0x00,0x00, //96/ --> `
0x00,0x20,0x70,0x54,0x54,0x7C,0x78,0x00, //97/ --> a
0x00,0x7F,0x7F,0x48,0x44,0x7C,0x38,0x00, //98/ --> b
0x00,0x38,0x7C,0x44,0x44,0x28,0x00,0x00, //99/ --> c
0x00,0x30,0x78,0x44,0x44,0x7F,0x7F,0x00, //100/ --> d
0x00,0x18,0x3C,0x4A,0x4A,0x2C,0x00,0x00, //101/ --> e
0x00,0xFC,0xFE,0x11,0x01,0x06,0x00,0x00, //102/ --> f
0x00,0x40,0x8C,0x92,0x92,0xFE,0x7C,0x00, //103/ --> g
0x00,0x00,0xFE,0xFE,0x30,0x30,0xE0,0x00, //104/ --> h
0x00,0x00,0x00,0x7B,0xFB,0x80,0x40,0x00, //105/ --> i
0x00,0x00,0x40,0x80,0xC8,0x7B,0x3B,0x00, //106/ --> j
0x00,0xFF,0xFF,0x30,0x78,0x84,0x84,0x00, //107/ --> k
0x00,0x00,0xFF,0xFF,0x80,0x00,0x00,0x00, //108/ --> l
0x00,0xF8,0xF8,0x10,0xF0,0x10,0xE0,0x00, //109/ --> m
0x00,0xF8,0xF8,0x10,0x10,0xE0,0x00,0x00, //110/ --> n
0x00,0x70,0xF8,0x88,0x88,0xF8,0x70,0x00, //111/ --> o
0x00,0x00,0xFC,0xFC,0x24,0x24,0x18,0x00, //112/ --> p
0x00,0x18,0x24,0x24,0xFC,0xFC,0x00,0x00, //113/ --> q
0x00,0x00,0xFC,0xFC,0x18,0x08,0x18,0x00, //114/ --> r
0x00,0x58,0x94,0xB4,0xE4,0x68,0x00,0x00, //115/ --> s
0x00,0x00,0x10,0xFC,0xFC,0x90,0x00,0x00, //116/ --> t
0x00,0x78,0xF8,0xC0,0x40,0xF8,0x80,0x00, //117/ --> u
0x00,0x18,0x38,0xC0,0xC0,0x38,0x18,0x00, //118/ --> v
0x38,0x78,0xC0,0x60,0x60,0xC0,0x78,0x38, //119/ --> w
0x00,0x48,0x78,0x30,0x78,0x48,0x00,0x00, //120/ --> x
0x00,0x40,0x8C,0x90,0xF0,0x7C,0x00,0x00, //121/ --> y
0x00,0x88,0xC8,0xE8,0xB8,0x98,0x00,0x00, //122/ --> z
0x00,0x00,0x10,0x6C,0x82,0x00,0x00,0x00, //123/ --> {
0x00,0x00,0x00,0xE7,0xE7,0x00,0x00,0x00, //124/ --> |
0x00,0x00,0x00,0x82,0x6C,0x10,0x00,0x00, //125/ --> }
0x00,0x00,0x00,0x08, 0x08, 0x2A, 0x1C, 0x08,// ->
0x08, 0x1C,0x00,0x00,0x00, 0x2A, 0x08, 0x08 // <-
};
کسی میدونه مشکل از کجاست ؟؟؟؟