Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: проблема с LCD PG24064LRS-GNN-H
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > MSP430
Andrew_MSP
Пытаюсь разобраться с графическим индикатором Powertip PG24064LRS-GNN-H. При заполнении строки информация накладывается на весь столбец. По-моему, должна заполнятся первая строчка, а потом сдвигается вниз и т.д.
Изучил все PDF на установленные в индикаторе контроллеры SANYO (40/42). Каким образом они управляют кристаллом, я так и не понял. К индикатору подключён контроллер MSP430F149, напрямую, без буфферных МС. Напряжение управляющих сигналов 3,6В, питание индикатора 4,5В.
Времянки из PDF соблюдены.
Буду очень благодарен за любой предоставленный материал.
Gabby68
Цитата(Andrew_MSP @ Dec 21 2006, 17:50) *
Пытаюсь разобраться с графическим индикатором Powertip PG24064LRS-GNN-H. При заполнении строки информация накладывается на весь столбец. По-моему, должна заполнятся первая строчка, а потом сдвигается вниз и т.д.
Изучил все PDF на установленные в индикаторе контроллеры SANYO (40/42). Каким образом они управляют кристаллом, я так и не понял. К индикатору подключён контроллер MSP430F149, напрямую, без буфферных МС. Напряжение управляющих сигналов 3,6В, питание индикатора 4,5В.
Времянки из PDF соблюдены.
Буду очень благодарен за любой предоставленный материал.

Использую PG320240D. Ниже приведен код, правда не для MSP, ну думаю разберетесь smile.gif
Инициализация дисплея и вывод строки, правда по буквенно, строчно думаю проблем не будет

Цитата
static unsigned char Font[32] [8] =

{{0x38,0x48,0x88,0x88,0xF8,0x88,0x88,0x00},// -128- "А"
{0xF8,0x80,0x80,0xF8,0x84,0x84,0xF8,0x00}, // -129- "Б"
{0xE0,0x90,0x90,0xF0,0x88,0x88,0xF0,0x00},// -130- "В"
{0xF8,0x88,0x80,0x80,0x80,0x80,0x80,0x00},// -131- "Г"
{0x18,0x28,0x28,0x28,0x28,0x7C,0x44,0x00},// -132- "Д"
{0xF8,0x88,0x80,0xE0,0x80,0x88,0xF8,0x00},// -133- "Е"
{0x92,0x54,0x38,0x38,0x54,0x54,0x92,0x00},// -134- "Ж"
{0x70,0x88,0x08,0x30,0x08,0x88,0x70,0x00}, // -135- "З"
{0x8C,0x8C,0x94,0x94,0xA4,0xA4,0xC4,0x00},// -136- "И"
{0x20,0x98,0x98,0xA8,0xA8,0xC8,0xC8,0x00},// -137- "Й"
{0x88,0x90,0xA0,0xC0,0xA0,0x90,0x88,0x00},// -138- "К"
{0x38,0x48,0x88,0x88,0x88,0x88,0x88,0x00},// -139- "Л"
{0xC3,0xC3,0xA5,0xA5,0x99,0x99,0x81,0x00},// -140- "М"
{0x84,0x84,0x84,0xFC,0x84,0x84,0x84,0x00},// -141- "Н"
{0x78,0x84,0x84,0x84,0x84,0x84,0x78,0x00},// -142- "О"
{0xFC,0x84,0x84,0x84,0x84,0x84,0x84,0x00},// -143- "П"
{0xF8,0x84,0x84,0xF8,0x80,0x80,0x80,0x00},// -144- "Р"
{0x78,0x84,0x80,0x80,0x80,0x84,0x78,0x00},// -145- "С"
{0x78,0x40,0x40,0x40,0x40,0x40,0x40,0x00},// -146- "Т"
{0x88,0x88,0x88,0x78,0x08,0x88,0x70,0x00},// -147- "У"
{0x10,0x7C,0x92,0x92,0x7C,0x10,0x10,0x00},// -148- "Ф"
{0x88,0x88,0x50,0x20,0x50,0x88,0x88,0x00},// -149- "Х"
{0x88,0x88,0x88,0x88,0x88,0x88,0xFC,0x04},// -150- "Ц"
{0x88,0x88,0x88,0x78,0x08,0x08,0x08,0x00},// -151- "Ч"
{0x92,0x92,0x92,0x92,0x92,0x92,0xFE,0x00},// -152- "Ш"
{0x92,0x92,0x92,0x92,0x92,0x92,0xFF,0x01},// -153- "Щ"
{0xE0,0x20,0x20,0x3C,0x22,0x22,0x3C,0x00},// -154- "Ъ"
{0x82,0x82,0x82,0xF2,0xFA,0xFA,0xF2,0x00},// -155- "Ы"
{0x80,0x80,0x80,0xF8,0xF4,0xF4,0xF8,0x00},// -156- "Ь"
{0x78,0x84,0x04,0x3C,0x04,0x84,0x78,0x00},// -157- "Э"
{0x9C,0xA2,0xA2,0xE2,0xA2,0xA2,0xA2,0x9C},// -158- "Ю"
{0x7C,0x84,0x84,0x7C,0x24,0x44,0x84,0x00} // -159- "Я"
};


void write_d(unsigned char Data) {

// A0 = 0;
PDR0= PDR0&0x1b;

// CS = 0;
PDR0 = PDR0&0x17;

// RD =1
PDR0 = PDR0|0x02;
// WR =0;
PDR0 = PDR0&0x1e;

__wait_nop();

PDR2 = Data;

__wait_nop();

// WR =1;
PDR0 = PDR0|0x01;
// CS = 1;
PDR0 = PDR0|0x08;
__wait_nop();
__wait_nop();
__wait_nop();
__wait_nop();


}

// write_c - write command to LCD
void write_c(unsigned char Data) {
// A0 =1;
PDR0 = PDR0|0x04;

// CS = 0;
PDR0 = PDR0&0x17;

// RD =1
PDR0 = PDR0|0x02;
// WR =0;
PDR0 = PDR0&0x1e;


__wait_nop();
PDR2 = Data;
__wait_nop();


// WR =1;
PDR0 = PDR0|0x01;

// CS = 1;
PDR0 = PDR0|0x08;
__wait_nop();
__wait_nop();
__wait_nop();
__wait_nop();


}

void init_dis(void) {
// LCD panel - hardware setup
unsigned int counter_char;
int counter_char_1;

write_c(0x40);
write_d(0x31); //P1- внешний ROM
write_d(0x87); //P2- FX 8 пикселей
write_d(0x07); //Р3 -FY 8 пикселей
write_d(0x27); //
write_d(0x39);
write_d(0xef);
write_d(0x28);
write_d(0); //Р8

write_c(0x44); write_d(0x00); write_d(0x00); // Scroll
write_d(0xef); // SL1
write_d(0xb0); write_d(0x04);
write_d(0xef); //SL2

write_d(0x00); write_d(0x00);
write_d(0x00); write_d(0x00);

// CGRAM установлен на адрес 0xF000
write_c(0x5c); write_d(0x00); write_d(0xf0);

write_c(0x4c); //CSDIR установка сдвига курсора на 1 вправо


// Очистка экрана text page
write_c(0x46); //CSRW установка адреса курсора 0x0000
write_d(0x00); write_d(0x00);
write_c(0x42);; //MWRITE
for (counter_char = 0; counter_char <= 1200; counter_char++) write_d(0x20);

// Set cursor to graphic page
write_c(0x46); write_d(0xb0); write_d(0x04);
write_c(0x42); // mwrite
for (counter_char=0;counter_char < 9600;counter_char++) write_d(0);




// Очистка экрана
write_c(0x46); //CSRW установка адреса курсора 0xf000
write_d(0x00);
write_d(0xf0);
write_c(0x42); //MWRITE
for (counter_char = 0x0; counter_char <= 0x7ff; counter_char++)
{
write_d(0x00);
}



// Определение пользовательских символов начиная с символа с кодом 0x20 по 0x40
write_c(0x46); write_d(0x00); write_d(0xf4);
write_c(0x42);

for (counter_char = 0; counter_char < 32; counter_char++)
{
for (counter_char_1 = 0; counter_char_1 < 8; counter_char_1++)
{
write_d( Font[counter_char][counter_char_1]);
}
}

write_c(0x5d); write_d(0x04); write_d(0x86); // Cursor form
write_c(0x4c); // Cursor direction
write_c(0x5a); write_d(0x00); // Horizontal scroll rate
write_c(0x5b); write_d(0x01); // Text/Graphic XOR
write_c(0x58); write_d(0x54); //56
write_c(0x59); // Display ON

}


void main(void){

write_c(0x46); write_d(0x00); write_d(0x00); // Set cursor address
write_c(0x42);

write_d('П'-64);
write_d('р'-64);
write_d('и'-64);
write_d('в'-64);
write_d('е'-64);
write_d('т'-64);

}
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.