Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
15.11.2010, 21:03
|
|
Прописка
Регистрация: 11.07.2007
Сообщений: 127
Сказал спасибо: 8
Сказали Спасибо 24 раз(а) в 18 сообщении(ях)
|
Re: Библиотека SSD1289
Сообщение от kison
|
А он свой исходник и не выкладывал. Так что там с RD было выходит неизвестно. Может он его просто через резистор к плюсу подтянул. Или вообще без резистора прямо на питание. Да и каким контроллером рулил тоже непонятно. Вот - https://kazus.ru/forums/showpost.php...4&postcount=80
Через сдвиговые регистры. Там и М8 могла индикатором управлять.
|
Так и есть,задумка с сдвиговыми регистрами односторонняя,читать из дисплея уже никак нельзя,поэтому RD притянут на питание дисплея.В проекте М8535 ,просто есть такая отладочная. Урагагану отправил этот же проект только с м32 и раскидал дату на 2 порта 8ми битных.
|
|
|
|
16.11.2010, 10:38
|
|
Прописка
Регистрация: 29.11.2007
Адрес: Могилев. РБ.
Сообщений: 143
Сказал спасибо: 30
Сказали Спасибо 20 раз(а) в 20 сообщении(ях)
|
Re: Библиотека SSD1289
запустил вчера свой...
мега32, подключение 16 бит. работа от 3.3 вольта, 8мегагерц встроенный генератор.
что-то у меня координаты как-то сбиваются... как будто до середины идет а потом поверх опять сначала строки... сегодня буду разбираться.
инициализация
Код:
|
void LCD_Reset(void)
{
LCD_InitPort();
LCD_WrCmd(0x0000);LCD_WrDat(0x0001); //Start Oscillation OSCEN=1
LCD_WaitMs(15);
LCD_WrCmd(0x0003);LCD_WrDat(0xAAAC); //Power Control (1)
LCD_WrCmd(0x000C);LCD_WrDat(0x0002); //Power Control (2)
LCD_WrCmd(0x000D);LCD_WrDat(0x000A); //Power Control (3)
LCD_WrCmd(0x000E);LCD_WrDat(0x2C00); //Power Control (4)
LCD_WrCmd(0x001E);LCD_WrDat(0x00B8); //Power Control (5)
LCD_WaitMs(15);
#ifdef Reverse
LCD_WrCmd(0x0001);LCD_WrDat(0x293F); //Driver Output Control RL=0, REV=1, BGR=1, TB=0
#else
LCD_WrCmd(0x0001);LCD_WrDat(0x2B3F); //Driver Output Control RL=0, REV=1, BGR=1, TB=1
#endif
LCD_WrCmd(0x0002);LCD_WrDat(0x0600);
// Restore VSYNC mode from low power state
LCD_WrCmd(0x0010);LCD_WrDat(0x0000); //Sleep mode cancel
LCD_WrCmd(0x0011);LCD_WrDat(0x6030); //Entry Mode
// DFM 0x4000 = 262L color
// DFM 0x6000 = 65K color
// AM 0x0000 = horizontal display
// AM 0x0008 = Vertical display
// ID[0] 0x0000 = horizontal decrement
// ID[0] 0x0010 = horizontal increment
// ID[1] 0x0000 = Vertical decrement
// ID[1] 0x0020 = Vertical increment
LCD_WaitMs(30);
LCD_WrCmd(0x0005);LCD_WrDat(0x0000); // Compare register
LCD_WrCmd(0x0006);LCD_WrDat(0x0000); // Compare register
// Horizontal and Vertical porch are for DOTCLK mode operation
LCD_WrCmd(0x0016);LCD_WrDat(0xEF1C); // Horizontal Porch
LCD_WrCmd(0x0017);LCD_WrDat(0x0003); // Vertical Porch
// Display Control
LCD_WrCmd(0x0007);LCD_WrDat(0x0233); // Display Control
// D1 0x0000 = display off
// D1 0x0002 = display on
// D0 0x0000 = internal display halt
// D0 0x0001 = internal display operate
LCD_WrCmd(0x000B);LCD_WrDat(0x5312); // Frame cycle control
LCD_WrCmd(0x000F);LCD_WrDat(0x0000); // Gate Scan Position
LCD_WaitMs(20);
// Vertical Scroll Control
LCD_WrCmd(0x0041);LCD_WrDat(0x0000); // Vertical Scroll Control
LCD_WrCmd(0x0042);LCD_WrDat(0x0000); // Vertical Scroll Control
// 1st Screen driving position
LCD_WrCmd(0x0048);LCD_WrDat(0x0000); // Start position. 0
LCD_WrCmd(0x0049);LCD_WrDat(0x013F); // End position. 319
// Source RAM address
LCD_WrCmd(0x0044);LCD_WrDat(0xEF00); //Horizontal RAM address position start/end setup
//dec 239
//dec 0, i.e. horizontal ranges from 0 -› 239
//POR value is 0xEF00 anyway. This address must be set before RAM write
LCD_WrCmd(0x0045);LCD_WrDat(0x0000); //Vertical RAM address start position setting
//0x0000 = dec 0
LCD_WrCmd(0x0046);LCD_WrDat(0x013F); //Vertical RAM address end position setting (0x013F = dec 319)
LCD_WaitMs(20);
//gamma control
LCD_WrCmd(0x0030);LCD_WrDat(0x0707);
LCD_WrCmd(0x0031);LCD_WrDat(0x0704);
LCD_WrCmd(0x0032);LCD_WrDat(0x0204);
LCD_WrCmd(0x0033);LCD_WrDat(0x0201);
LCD_WrCmd(0x0034);LCD_WrDat(0x0203);
LCD_WrCmd(0x0035);LCD_WrDat(0x0204);
LCD_WrCmd(0x0036);LCD_WrDat(0x0204);
LCD_WrCmd(0x0037);LCD_WrDat(0x0502);
LCD_WrCmd(0x003A);LCD_WrDat(0x0302);
LCD_WrCmd(0x003B);LCD_WrDat(0x0500);
LCD_WaitMs(20);
} |
у кого запустилось нормально, дайте процедурку вывода пикселя и символа посмотреть
Последний раз редактировалось Cyber_RAT; 16.11.2010 в 10:44.
Причина: добавил чутка
|
|
|
Сказали "Спасибо" Cyber_RAT
|
|
|
16.11.2010, 11:09
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.09.2009
Сообщений: 1,899
Сказал спасибо: 470
Сказали Спасибо 408 раз(а) в 255 сообщении(ях)
|
Re: Библиотека SSD1289
Так давал уже процедуры вывода и не только пикселя! Заливки цветом, даже круга. В первом посте! Как вы его запустили то? Что мусор видели на экране?
__________________
Я бы изменил весь мир, но бог не дал исходников
|
|
|
|
16.11.2010, 11:23
|
|
Прописка
Регистрация: 29.11.2007
Адрес: Могилев. РБ.
Сообщений: 143
Сказал спасибо: 30
Сказали Спасибо 20 раз(а) в 20 сообщении(ях)
|
Re: Библиотека SSD1289
да не... у меня и круги и прямоугольники и текст... только координаты сбиты...
вот и думаю где напортачено
|
|
|
|
16.11.2010, 11:37
|
|
Прописка
Регистрация: 11.07.2007
Сообщений: 127
Сказал спасибо: 8
Сказали Спасибо 24 раз(а) в 18 сообщении(ях)
|
Re: Библиотека SSD1289
Сообщение от Cyber_RAT
|
да не... у меня и круги и прямоугольники и текст... только координаты сбиты...
вот и думаю где напортачено
|
Может направление развертки не в ту сторону,не по длине а по ширине
|
|
|
|
16.11.2010, 12:09
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.09.2009
Сообщений: 1,899
Сказал спасибо: 470
Сказали Спасибо 408 раз(а) в 255 сообщении(ях)
|
Re: Библиотека SSD1289
А вы не могли бы дать взглянуть на lcd_wrcmd, lcd_wrdat ?
__________________
Я бы изменил весь мир, но бог не дал исходников
|
|
|
|
16.11.2010, 12:17
|
|
Прописка
Регистрация: 29.11.2007
Адрес: Могилев. РБ.
Сообщений: 143
Сказал спасибо: 30
Сказали Спасибо 20 раз(а) в 20 сообщении(ях)
|
Re: Библиотека SSD1289
Код:
|
void LCD_WrCmd(unsigned char cmd)
{
LCD_CLR_CS(); // clear CS pin to ENABLE LCD
LCD_CLR_RS();
LCD_SET_DBH(cmd ›› 8);
LCD_SET_DBL(cmd);
LCD_CLR_WR();
LCD_SET_WR();
LCD_SET_CS(); // set CS pin to DISABLE LCD
LCD_SET_RS(); // set default data mode
}
void LCD_WrDat(unsigned int val)
{
LCD_CLR_CS(); // clear CS pin to ENABLE LCD
LCD_SET_DBH(val››8);
LCD_SET_DBL(val);
LCD_CLR_WR();
LCD_SET_WR();
LCD_SET_CS(); // set CS pin to DISABLE LCD
} |
я вообще взял проект с http://www.circuitidea.com/dev-board...20PLUS-V2.html
и под себя переделываю
|
|
|
Сказали "Спасибо" Cyber_RAT
|
|
|
16.11.2010, 12:37
|
|
Прописка
Регистрация: 11.07.2007
Сообщений: 127
Сказал спасибо: 8
Сказали Спасибо 24 раз(а) в 18 сообщении(ях)
|
Re: Библиотека SSD1289
Сообщение от Cyber_RAT
|
Код:
|
void LCD_WrCmd(unsigned char cmd)
{
LCD_CLR_CS(); // clear CS pin to ENABLE LCD
LCD_CLR_RS();
LCD_SET_DBH(cmd ›› 8);
LCD_SET_DBL(cmd);
LCD_CLR_WR();
LCD_SET_WR();
LCD_SET_CS(); // set CS pin to DISABLE LCD
LCD_SET_RS(); // set default data mode
}
void LCD_WrDat(unsigned int val)
{
LCD_CLR_CS(); // clear CS pin to ENABLE LCD
LCD_SET_DBH(val››8);
LCD_SET_DBL(val);
LCD_CLR_WR();
LCD_SET_WR();
LCD_SET_CS(); // set CS pin to DISABLE LCD
} |
я вообще взял проект с http://www.circuitidea.com/dev-board...20PLUS-V2.html
и под себя переделываю
|
В void LCD_WrDat(unsigned int val) нет LCD_SET_RS(); ?
|
|
|
|
16.11.2010, 12:46
|
|
Прописка
Регистрация: 29.11.2007
Адрес: Могилев. РБ.
Сообщений: 143
Сказал спасибо: 30
Сказали Спасибо 20 раз(а) в 20 сообщении(ях)
|
Re: Библиотека SSD1289
// LCD_SET_RS(); // use default setting
в исходнике было так - выкинул закоменченные строки чтобы не загромождать
|
|
|
|
16.11.2010, 13:03
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.09.2009
Сообщений: 1,899
Сказал спасибо: 470
Сказали Спасибо 408 раз(а) в 255 сообщении(ях)
|
Re: Библиотека SSD1289
Да! Ну они там наваратили в этом проекте...
LCD_MODE();// virtual init for 8/16 bit mode. make sure set jumper for 8/16 bit mode
С этого места уходит в непролазные дебри...
__________________
Я бы изменил весь мир, но бог не дал исходников
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 21:18.
|
|