Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
01.02.2011, 20:35
|
|
Вид на жительство
Регистрация: 14.10.2009
Сообщений: 338
Сказал спасибо: 35
Сказали Спасибо 92 раз(а) в 73 сообщении(ях)
|
Re: Библиотека LS020+LPC2368
serb-radio, попробуй частоту SPI поменьше. И еще напиши тут свою настройку SPI порядок битов, полярность синхры
__________________
Найди путь или проложи сам!
|
|
|
|
02.02.2011, 08:47
|
|
Гражданин KAZUS.RU
Регистрация: 01.01.2007
Адрес: Таганрог
Сообщений: 571
Сказал спасибо: 26
Сказали Спасибо 213 раз(а) в 91 сообщении(ях)
|
Re: Библиотека LS020+LPC2368
Инициализация SPI, такая же как и у LS020
void SPI_Init(void)//Инициализация SPI
{
FIO0DIR|= _BV(LCD_CS)|_BV(LCD_MISO)|_BV(LCD_SCK)|_BV(LCD_RES )|_BV(LCD_RS)|_BV(LCD_MOSI); // выводы SPI - выходы
FIO0CLR|= _BV(LCD_CS)|_BV(LCD_MISO)|_BV(LCD_SCK)|_BV(LCD_RES )|_BV(LCD_RS)|_BV(LCD_MOSI); // выводы SPI - лог.0
// конфиг выводов на SPI1
PINSEL0|= _BV(13) | _BV(15) | _BV(17) | _BV(19); // выбор выводов SPI
PINSEL0&=~_BV(12)& ~_BV(14)& ~_BV(16)& ~_BV(1 ; // выбор выводов SPI
// конфиг SPI
SSP1CPSR = 0x02;
SSP1CR0 = 0x07; // CPHA=0, CPOL=0, master mode, 8bit
SSP1CR1 = 0x02;
}
__________________
То, что нас не убивает - делает нас сильнее
Последний раз редактировалось serb-radio; 02.02.2011 в 09:45.
|
|
|
|
02.02.2011, 09:42
|
|
Гражданин KAZUS.RU
Регистрация: 01.01.2007
Адрес: Таганрог
Сообщений: 571
Сказал спасибо: 26
Сказали Спасибо 213 раз(а) в 91 сообщении(ях)
|
Re: Библиотека LS020+LPC2368
Код инициализации:
void lcd_init_c(void)
{
unsigned char ct1[6]={0x07,0x02,0x04,0x0C,0x0D,0x0E};
unsigned char cd1[12]={0x00,0x00, 0x04,0x00, 0x00,0x00, 0x00,0x01, 0x06,0x16, 0x10,0x10};
unsigned char ct2[2]={0x03,0x0E};
unsigned char cd2[4]={0x00,0x0C, 0x2D,0x1F};
unsigned char ct3[1]={0x0D};
unsigned char cd3[2]={0x06,0x16};
unsigned char ct4[21]={0x01,0x0F,0x0B,0x11,0x06,0x05,0x14,0x15,0x16,0x1 7,0x20,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x3 A,0x3B};
unsigned char cd4[42]={0x02,0x15, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x30, 0xAF,0x00, 0x00,0x00, 0x83,0x00, 0xAF,0x00,
0x00,0x00, 0x00,0x00, 0x04,0x00, 0x02,0x07, 0x07,0x00, 0x00,0x05, 0x07,0x03, 0x07,0x07, 0x00, 0x07, 0x12,0x00, 0x00,0x09};
unsigned char i,j;
// generate clean display reset
FIO0CLR|= _BV(LCD_RES); // reset display
FIO0SET|= _BV(LCD_CS); // CS is high during reset release
pause (65000);
pause (65000);
pause (65000);
FIO0SET|= _BV(LCD_RES); // release reset
pause (65000);
pause (65000);
pause (65000);
pause (65000);
pause (65000);
pause (65000);
pause (65000);
pause (65000);
pause (65000);
pause (65000);
FIO0CLR|= _BV(LCD_CS); // select display
// starts at 58.8ms
lcd_comtype(0x00);
lcd_comdat(0x00,0x01);
// starts at 125ms
j=0;
for (i=0; i‹6; i++)
{
lcd_comtype(ct1[i]);
lcd_comdat(cd1[j],cd1[j+1]);
j+=2;
}
// start at 240ms
j=0;
for (i=0; i‹2; i++)
{
lcd_comtype(ct2[i]);
lcd_comdat(cd2[j],cd2[j+1]);
j+=2;
}
// start at 355ms
j=0;
for (i=0; i‹1; i++)
{
lcd_comtype(ct3[i]);
lcd_comdat(cd3[j],cd3[j+1]);
j+=2;
}
// start at 458ms
j=0;
for (i=0; i‹21; i++)
{
lcd_comtype(ct4[i]);
lcd_comdat(cd4[j],cd4[j+1]);
j+=2;
}
lcd_comtype(0x07);
lcd_comdat(0x00, 0x05);
lcd_comtype(0x07);
lcd_comdat(0x00, 0x25);
lcd_comtype(0x07);
lcd_comdat(0x00, 0x27);
lcd_comtype(0x07);
lcd_comdat(0x00, 0x37);
// ready for first screen
FIO0SET|=_BV(LCD_CS); // deselect display
}
void fill_screen(unsigned int color)
{
unsigned int i;
FIO0CLR|= _BV(LCD_CS); // select display
lcd_comtype(0x16);
lcd_comdat(0x83, 0x00);
lcd_comtype(0x17);
lcd_comdat(0xAF, 0x00);
lcd_comtype(0x21);
lcd_comdat(0x00, 0x00);
lcd_comtype(0x22);
LCD_Write8(0x76);
// start data transmission
for (i=0; i‹DISP_W*DISP_H; i++)
LCD_Write16(color);
FIO0SET|= _BV(LCD_CS); // deselect display
}
__________________
То, что нас не убивает - делает нас сильнее
|
|
|
|
03.02.2011, 10:10
|
|
Прописка
Регистрация: 09.11.2009
Сообщений: 193
Сказал спасибо: 47
Сказали Спасибо 58 раз(а) в 26 сообщении(ях)
|
Re: Библиотека LS020+LPC2368
У меня на жестком диске лежит код инициализации LPH88 под CV. Массив инициализации с твоим, serb-radio, не совпадает.
Последний раз редактировалось sersne; 03.02.2011 в 10:18.
|
|
|
|
03.02.2011, 14:23
|
|
Гражданин KAZUS.RU
Регистрация: 01.01.2007
Адрес: Таганрог
Сообщений: 571
Сказал спасибо: 26
Сказали Спасибо 213 раз(а) в 91 сообщении(ях)
|
Re: Библиотека LS020+LPC2368
Спасибо, будемс глядеть
__________________
То, что нас не убивает - делает нас сильнее
|
|
|
|
04.02.2011, 16:03
|
|
Гражданин KAZUS.RU
Регистрация: 01.01.2007
Адрес: Таганрог
Сообщений: 571
Сказал спасибо: 26
Сказали Спасибо 213 раз(а) в 91 сообщении(ях)
|
Re: Библиотека LS020+LPC2368
чет се равно не могу найти косяк в инициализации
unsigned char LCD_init_masiv[70][3] ={
{0x74,0x00,0x00}, //1 block
{0x76,0x00,0x01},
{0x74,0x00,0x07},
{0x76,0x00,0x00},
{0x74,0x00,0x02},
{0x76,0x04,0x00},
{0x74,0x00,0x04},
{0x76,0x00,0x00},
{0x74,0x00,0x0C},
{0x76,0x00,0x01},
{0x74,0x00,0x0D},
{0x76,0x06,0x16},
{0x74,0x00,0x1E},
{0x76,0x10,0x10}, //2 block
{0x74,0x00,0x03},
{0x76,0x00,0x0C},
{0x74,0x00,0x0E},
{0x76,0x2D,0x1F},
{0x74,0x00,0x0D},
{0x76,0x06,0x16},
{0x74,0x00,0x01},
{0x76,0x02,0x15},
{0x74,0x00,0x0F},
{0x76,0x00,0x00},
{0x74,0x00,0x0B},
{0x76,0x00,0x00},
{0x74,0x00,0x11},
{0x76,0x00,0x00}, //3 block
{0x74,0x00,0x06},
{0x76,0x00,0x00},
{0x74,0x00,0x05},
{0x76,0x00,0x30},
{0x74,0x00,0x14},
{0x76,0xAF,0x00},
{0x74,0x00,0x15},
{0x76,0x00,0x00},
{0x74,0x00,0x16},
{0x76,0x83,0x00},
{0x74,0x00,0x17},
{0x76,0xAF,0x00},
{0x74,0x00,0x20},
{0x76,0x00,0x00}, //4 block
{0x74,0x00,0x30},
{0x76,0x00,0x00},
{0x74,0x00,0x31},
{0x76,0x04,0x00},
{0x74,0x00,0x32},
{0x76,0x02,0x07},
{0x74,0x00,0x33},
{0x76,0x07,0x00},
{0x74,0x00,0x34},
{0x76,0x00,0x05},
{0x74,0x00,0x35},
{0x76,0x07,0x03},
{0x74,0x00,0x36},
{0x76,0x07,0x07}, //5 blocl
{0x74,0x00,0x37},
{0x76,0x00,0x07},
{0x74,0x00,0x3A},
{0x76,0x12,0x00},
{0x74,0x00,0x3B},
{0x76,0x00,0x09},
{0x74,0x00,0x07},
{0x76,0x00,0x05},
{0x74,0x00,0x07},
{0x76,0x00,0x25},
{0x74,0x00,0x07},
{0x76,0x00,0x27},
{0x74,0x00,0x07},
{0x76,0x00,0x37}
};
unsigned char LCD_off_masiv[6][3] = { //masiv dlya viklyu4eniya
0x74,0x00,0x0D,
0x76,0x05,0x05,
0x74,0x00,0x0E,
0x76,0x1D,0x1F,
0x74,0x00,0x03,
0x76,0x00,0x00
};
unsigned char LCD_fill_masiv[7][3] = { //masiv dlya zapolneniya ekrana
0x74,0x00,0x16,
0x76,0x83,0x00,
0x74,0x00,0x17,
0x76,0xAF,0x00,
0x74,0x00,0x21,
0x76,0x00,0x00,
0x74,0x00,0x22
};
unsigned char LCD_kvadrat_masiv[7][3] = { //masiv dlya zapolneniya kvadrata
0x74,0x00,0x16,
0x76,0x50,0x25, // X2 X1
0x74,0x00,0x17,
0x76,0x50,0x25, // Y2 Y1
0x74,0x00,0x21,
0x76,0x25,0x25, // X1 Y1
0x74,0x00,0x22
};
void LCD_init(void)
{ // Inicializiruyu Display
unsigned char i=0;
FIO0CLR|= _BV(LCD_RES); // reset display
FIO0SET|= _BV(LCD_CS); // CS is high during reset release
pause (6000);
FIO0SET|= _BV(LCD_RES); // release reset
pause(60000);
FIO0CLR|= _BV(LCD_CS); // select display
for(i=0;i‹=69;i++)
{
SSP1DR = LCD_init_masiv[i][0];
while ((SSP1SR & (1 ‹‹ 0)) == 0){;}
SSP1DR = LCD_init_masiv[i][1];
while ((SSP1SR & (1 ‹‹ 0)) == 0){;}
SSP1DR = LCD_init_masiv[i][2];
while ((SSP1SR & (1 ‹‹ 0)) == 0){;}
FIO0SET|= _BV(LCD_CS); // deselect display
pause(1);
FIO0CLR|= _BV(LCD_CS); // select display
};
FIO0SET|= _BV(LCD_CS); // deselect display
}
__________________
То, что нас не убивает - делает нас сильнее
|
|
|
|
14.08.2011, 16:39
|
|
Прохожий
Регистрация: 29.05.2009
Сообщений: 9
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
|
Re: Библиотека LS020+LPC2368
Сообщение от serb-radio
|
// конфиг SPI
SSP1CPSR = 0x02;
SSP1CR0 = 0x07; // CPHA=0, CPOL=0, master mode, 8bit
SSP1CR1 = 0x02;
}
|
CPHA=1, CPOL=1 нужно ставить если не ошибаюсь,для lph8836 вроде так.
|
|
|
|
22.08.2012, 16:00
|
|
Прописка
Регистрация: 19.12.2008
Адрес: Москва
Сообщений: 140
Сказал спасибо: 21
Сказали Спасибо 73 раз(а) в 41 сообщении(ях)
|
Re: Библиотека LS020+LPC2368
Приветствую всех! Дабы не плодить тем, напишу тут. Может кто мучал дисплеи L2F50, начал изучать stm32 камни и решил прикрутить этот дисплей. В общем взял инициализацию от германского товарища, мусор на экране появляется, что как пишут, соответствует успешной инициализации, однако заливка экрана не работает, не говоря уже о выводе всяких букв.
Может у кого есть этот дисплей и эта платка, проверят, или просто глянет скудный код для Keil uVision, чего там не хватает.
Порты на DISCOVERY:
PC.1 - CS
PC.2 - RST
PC.3 - RS
PA.5 - CLK
PA.7 - DATA
|
|
|
|
22.08.2012, 22:12
|
|
Вид на жительство
Регистрация: 29.01.2010
Адрес: Десногорск Смол.обл.
Сообщений: 333
Сказал спасибо: 17
Сказали Спасибо 256 раз(а) в 103 сообщении(ях)
|
Re: Библиотека LS020+LPC2368
Не получается вставить вложение...
Брал инициализацию у кранца, портировал под басик, дисплеи l2f50 (3 шт) заводятся без проблем
//получилось
Последний раз редактировалось Vadim_sh; 22.08.2012 в 22:14.
|
|
|
Сказали "Спасибо" Vadim_sh
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
Плата LPC2368
|
Uragan90 |
Микроконтроллеры, АЦП, память и т.д |
170 |
13.04.2010 13:03 |
библиотека HC12 для Proteus
|
Fenolftalein |
Proteus, KiCAD и другие ECAD |
0 |
12.01.2010 10:47 |
Часовой пояс GMT +4, время: 03:44.
|
|