ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
27 ноября
122395
MiniMax (09.06.2008 15:53, просмотров: 4537)
LPC2138 и 128x64 LCD F-51553GNBJ-LW-AEN дисплей. http://mmarm.narod.ru/LCD.JPG
http://www.bipom.com/armdev.php
Подключил F-51553GNBJ-LW-AEN LCD дисплей к SPI1 LPC2138. Все работает. Контроллер дисплея S1D15605 Но яркость отдельных пикселей зависит от изображаемой картинки. См. ссылку на картинку. При отображении текста нет никаких проблем. Думаю из-за того, что пиксели ( включенные и выключенные) чередуются. Похоже, что большие зоны включенных пикселей ( например, линии как на рисунке) вызывают этот эффект. Не пойму в чем может быть проблема :( static const UBYTE LCD_F51553_INIT_SEQUENCE[21] = { DISP_RST, // soft reset CMD_DELAY, // delay DISP_ADC, // normal column dir DISP_COM, // normal common mode DISP_BIA, // bias DISP_NRM, // normal video DISP_VRR+6, // evolume resistor ratio DISP_EVS, // set evolume 0x20, // arbitrary initial contrast DISP_PWR+4, // charge pumps on CMD_DELAY, // delay DISP_PWR+6, // voltage reg on CMD_DELAY, // delay DISP_PWR+7, // follower on CMD_DELAY, // delay DISP_ON, // display on DISP_LIN, // set starting line DISP_PAG, // set page 0 DISP_COLL, // set column 0 DISP_COLH, INIT_END }; /******************************************************************************************** ; Function: InitDisplay_Hard ; ; Description: Initializes LCD F51553 ; ; Inputs: Nothing ; ; Returns: Nothing **********************************************************************************************/ void InitDisplay_Hard(void) { const UBYTE *bp; // Initialize CONTROL lines LCD_F51553_RES_CLR_LOW(); LCD_F51553_A0_CLR_LOW(); LCD_F51553_RES_LOW(); LCD_F51553_A0_LOW(); // Initialize SERIAL interafce Initialize_SPI1(); // 1-ms RESET pulse LCD_F51553_DELAY(1); // de-assert reset LCD_F51553_RES_HIGH(); // point to init table bp = LCD_F51553_INIT_SEQUENCE; // while (*bp != INIT_END) // check for end of list { if (*bp == CMD_DELAY) { LCD_F51553_DELAY(10000); } else { WrCmd_LCD_F51553_Hard(*bp); } bp++; } // LCD_F51553_DELAY(10000); // let voltage charge pump settle WrCmd_LCD_F51553_Hard(DISP_EVS); WrCmd_LCD_F51553_Hard(CONTRAST); // set user contrast value } Это инициализация контроллера. Все напряжения в норме ( +5В, -10В отностельно +5V, ....) Используется внутренний booster. Примечание. Все исходники примера и графической библиотеки можно найти, если установить бесплатный релиз ARM development system http://www.bipom.com/armdev.php Драйвер дисплея -> C:\bipom\devtools\GCC\LPC2000\Src\lcd_128x64x1.prj Пример -> C:\bipom\devtools\GCC\LPC2000\examples\GL\LCD_Demo_GL\LCD.prj
image