Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы

Библиотека LS020+LPC2368

Непрочитано 15.06.2010, 21:30  
Uragan90
Почётный гражданин KAZUS.RUN
 
Аватар для Uragan90
 
Регистрация: 20.09.2009
Сообщений: 1,895
Сказал спасибо: 469
Сказали Спасибо 407 раз(а) в 254 сообщении(ях)
Uragan90 на пути к лучшему
По умолчанию Re: Библиотека LS020+LPC2368

Я могу дать инициализацию! Если нужна! Может библиотеку напишем?
Реклама:
Uragan90 вне форума  
Непрочитано 15.06.2010, 21:53  
kison
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Библиотека LS020+LPC2368

Сообщение от Uragan90 Посмотреть сообщение
Я могу дать инициализацию! Если нужна!
Давайте. Лучше ссылкой на источник. А то у меня только даташит на TM032LDH03 с таким же контроллером.
kison вне форума  
Непрочитано 15.06.2010, 23:29  
Uragan90
Почётный гражданин KAZUS.RUN
 
Аватар для Uragan90
 
Регистрация: 20.09.2009
Сообщений: 1,895
Сказал спасибо: 469
Сказали Спасибо 407 раз(а) в 254 сообщении(ях)
Uragan90 на пути к лучшему
По умолчанию Re: Библиотека LS020+LPC2368

Так какой у вас дисплей, я думал st032... с контроллером HX8352A...
Uragan90 вне форума  
Непрочитано 16.06.2010, 00:12  
kison
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Библиотека LS020+LPC2368

Сообщение от Uragan90 Посмотреть сообщение
я думал st032... с контроллером HX8352A...
Он и есть. А вот документация с инициализацией от TM032LDH03 - там тоже HX8352A.
Но от еще одного описания не откажусь
kison вне форума  
Непрочитано 16.06.2010, 13:18  
Uragan90
Почётный гражданин KAZUS.RUN
 
Аватар для Uragan90
 
Регистрация: 20.09.2009
Сообщений: 1,895
Сказал спасибо: 469
Сказали Спасибо 407 раз(а) в 254 сообщении(ях)
Uragan90 на пути к лучшему
По умолчанию Re: Библиотека LS020+LPC2368

Вот я начал писать библиотеку под этот дисплей! Но трудно дается Может поможите чем? Нутам замечания, предложения, правки
PHP код:
//--------------------------------------------------------------------------//
//    Подпрограмма инициализации и основных функций дисплея ST032D6C-E00    //
//    КОНТРОЛЛЕР-HX8352A                                                    //
//--------------------------------------------------------------------------//



/*-------------- ЦВЕТ -----------------------------------------------------*/
#define   RGB(r,g,b)
#define   RGB_GREEN
#define   RGB_BLUE
#define   RGB_RED
#define   RGB_GREEY
#define   RGB_YELLOW
#define   RGB_ORANGE
#define   RGB_PINK
#define   RGB_BROWN
#define   RGB_GREY
#define   RGB_VIOLET
#define   RGB_WHITE
#define   RGB_BLACK
/*-------------------------------------------------------------------------*/


/*----------- ОБЪЯВЛЕНИЕ ПЕРЕМЕННЫХ -----------------------------------------------------------------------------*/
void LCD_Init(void);                                                                      //Инициализация дисплея
void LCD_FillRect(unsigned char X1,unsigned char Y1,unsigned char X2,unsigned char Y2);   //Задать область вывода
void LCD_FillScr(unsigned int color);                                                     //Залить дисплей цветом 
void LCD_PutPixel(unsigned char X1,unsigned char Y1,unsigned int color);                  //Вывод точки на дисплей
void LoadImage(unsigned char X1,unsigned char Y1,const unsigned int *Image);              //Вывод рисунка на дисплей
void LCD_FilScr(const unsigned char *Buff);                                               //Залить дисплей цветом
void LCD_Line(int x1, int y1, int x2, int y2);                                            //Рисуем линию
void LCD_Circle(unsigned char cx, unsigned char cy ,unsigned char radius,unsigned color); //Рисуем круг
void delay_ms(unsigned int sleep);
/*--------------------------------------------------------------------------------------------------------------*/


//==================================================  ==================================================  ==========//
void delay_ms(unsigned int sleep)
{
    unsigned int _del, _del2;
    _del2 = sleep;
    while (_del2 › 0){
    _del = 0x2FFF;
    while (_del›0) 
    _del--;
     _del2--;
}

}



//--- Инициализация дисплея ------------------------------------------------//
void LCD_Init(void) //------- Инициализация дисплея ------------------------//
{
RESET();
delay_ms(150);
Set_LCD_8B_REG(0x83,0x02); // TESTM=1
Set_LCD_8B_REG(0x85,0x02); // VDC_SEL=010.
Set_LCD_8B_REG(0x8B,0x00); // STBA[15:8]=0x00
Set_LCD_8B_REG(0x8C,0xB3); // STBA[7]=1, STBA[5:4]=11, STBA[1:0]=11
Set_LCD_8B_REG(0x83,0x00); // TESTM=0


//----------- РУГИСТРЫ ГАММЫ -----------------------------------------------//
Set_LCD_8B_REG(0x3E,0xA0); //Управляющий регистр гаммы №1
Set_LCD_8B_REG(0x3F,0x03); //Управляющий регистр гаммы №2
Set_LCD_8B_REG(0x40,0x00); //Управляющий регистр гаммы №3
Set_LCD_8B_REG(0x41,0x45); //Управляющий регистр гаммы №4
Set_LCD_8B_REG(0x42,0x03); //Управляющий регистр гаммы №5
Set_LCD_8B_REG(0x43,0x47); //Управляющий регистр гаммы №6
Set_LCD_8B_REG(0x44,0x23); //Управляющий регистр гаммы №7
Set_LCD_8B_REG(0x45,0x77); //Управляющий регистр гаммы №8
Set_LCD_8B_REG(0x46,0x01); //Управляющий регистр гаммы №9
Set_LCD_8B_REG(0x47,0x1F); //Управляющий регистр гаммы №10
Set_LCD_8B_REG(0x48,0x0F); //Управляющий регистр гаммы №11
Set_LCD_8B_REG(0x49,0x03); //Управляющий регистр гаммы №12
//---------------------------------------------------------------------------//


//----------- Power Supply Setting ------------------------------------------//

Set_LCD_8B_REG(0x17,0xC1); // RADJ=1100, OSC_EN=1
Set_LCD_8B_REG(0x23,0x01); // TE 0n
Set_LCD_8B_REG(0x2B,0xF9); // N_DCDC=0xF9.
delay_ms(10);
Set_LCD_8B_REG(0x1B,0x14); // BT=0001, AP=100
Set_LCD_8B_REG(0x1A,0x11); // VC3=001, VC1=001 (VLCD/DDVDH)=6.45V)
Set_LCD_8B_REG(0x1C,0x0E); // VRH=1110 (VREG1=6.0V)
Set_LCD_8B_REG(0x1D,0x0F); // VBGP=1111
Set_LCD_8B_REG(0x1F,0x3B); // VCM=011_1011
delay_ms(20);
Set_LCD_8B_REG(0x19,0x0A); // GASENB=0, PON=0, DK=1, XDK=0, VLCD_TRI=1, STB=0
Set_LCD_8B_REG(0x19,0x1A); // GASENB=0, PON=1, DK=1, XDK=0, VLCD_TRI=1, STB=0
delay_ms(40);
Set_LCD_8B_REG(0x19,0x12); // GASENB=0, PON=1, DK=0, XDK=0, VLCD_TRI=1, STB=0
//---------------------------------------------------------------------------//


//------------ VLCD=2XVCI by 2 CAPs -----------------------------------------//

delay_ms(40);
Set_LCD_8B_REG(0x1E,0x2E); // VCOMG=1, VDV=0_1110
//---------------------------------------------------------------------------//


//----------- VCOMG NEW LOCATION --------------------------------------------//

Set_LCD_8B_REG(0x83,0x02); // TESTM=1
Set_LCD_8B_REG(0x93,0x10); // R93[4]=1, VCOMG=1
Set_LCD_8B_REG(0x83,0x00); // TESTM=0
delay_ms(100);
//---------------------------------------------------------------------------//


//------------ DGC Function Enable ------------------------------------------//

Set_LCD_8B_REG(0x5A,0x01);
DGC_PA_REG(0x5C);
//---------------------------------------------------------------------------//


//------------ Display ON Setting -------------------------------------------//

Set_LCD_8B_REG(0x3C,0xFF); // N_SAP=0111 1111
Set_LCD_8B_REG(0x3D,0x0E); // I_SAP=0000 1110
Set_LCD_8B_REG(0x34,0x38); // EQS=1000 0111
Set_LCD_8B_REG(0x35,0x38); // EQP=0011 1000
Set_LCD_8B_REG(0x24,0x38); // GON=1, DTE=1, D=10
delay_ms(40);
Set_LCD_8B_REG(0x24,0x3C); // GON=1, DTE=1, D=11
Set_LCD_8B_REG(0x16,0x08); // BGR=1
Set_LCD_8B_REG(0x01,0x06); // INVON=1, NORNO=1
}
void DGC_PA_REG(unsigned char ADDR)
{
unsigned char i;
LCD_CS = 0;
LCD_RS = 0;
WR_8B_FORMAT(ADDR); //ADDR=0x5C.
LCD_RS = 1;
for( i=0; i‹=2; i++)
{
WR_8B_FORMAT(0x00);
WR_8B_FORMAT(0x04);
WR_8B_FORMAT(0x08);
WR_8B_FORMAT(0x0C);
WR_8B_FORMAT(0x10);
WR_8B_FORMAT(0x14);
WR_8B_FORMAT(0x18);
WR_8B_FORMAT(0x1C);
WR_8B_FORMAT(0x20);
WR_8B_FORMAT(0x24);
WR_8B_FORMAT(0x28);
WR_8B_FORMAT(0x2C);
WR_8B_FORMAT(0x30);
WR_8B_FORMAT(0x38);
WR_8B_FORMAT(0x3C);
WR_8B_FORMAT(0x3F);
WR_8B_FORMAT(0x43);
WR_8B_FORMAT(0x46);
WR_8B_FORMAT(0x48);
WR_8B_FORMAT(0x4C);
WR_8B_FORMAT(0x50);
WR_8B_FORMAT(0x54);
WR_8B_FORMAT(0x58);
WR_8B_FORMAT(0x5C);
WR_8B_FORMAT(0x60);
WR_8B_FORMAT(0x64);
WR_8B_FORMAT(0x66);
WR_8B_FORMAT(0x6A);
WR_8B_FORMAT(0x6E);
WR_8B_FORMAT(0x71);
WR_8B_FORMAT(0x75);
WR_8B_FORMAT(0x79);
WR_8B_FORMAT(0x7D);
WR_8B_FORMAT(0x81);
WR_8B_FORMAT(0x85);
WR_8B_FORMAT(0x89);
WR_8B_FORMAT(0x8E);
WR_8B_FORMAT(0x92);
WR_8B_FORMAT(0x98);
WR_8B_FORMAT(0x9C);
WR_8B_FORMAT(0xA0);
WR_8B_FORMAT(0xA4);
WR_8B_FORMAT(0xA9);
WR_8B_FORMAT(0xAE);
WR_8B_FORMAT(0xB1);
WR_8B_FORMAT(0xB5);
WR_8B_FORMAT(0xB9);
WR_8B_FORMAT(0xBD);
WR_8B_FORMAT(0xC1);
WR_8B_FORMAT(0xC5);
WR_8B_FORMAT(0xCA);
WR_8B_FORMAT(0xCF);
WR_8B_FORMAT(0xD4);
WR_8B_FORMAT(0xDA);
WR_8B_FORMAT(0xDE);
WR_8B_FORMAT(0xE1);
WR_8B_FORMAT(0xE5);
WR_8B_FORMAT(0xE9);
WR_8B_FORMAT(0xED);
WR_8B_FORMAT(0xEF);
WR_8B_FORMAT(0xF2);
WR_8B_FORMAT(0xF5);
WR_8B_FORMAT(0xF8);
WR_8B_FORMAT(0xFF);
}
LCD_CS = 1;
}
//-----------------------------------------------------------------------//


//==================================================  ==================================================  ===================


//==================================================  ==================================================  ===================
void LCD_FillRect(unsigned char stX,unsigned char stY,unsigned char lngX,unsigned char lngY)//====//Задать область вывода
{



}
//==================================================  ==================================================  ===================
void LCD_FillScr(unsigned int color)//==================================================  ==========//Залить дисплей цветом 
{



}
//==================================================  ==================================================  ===================  
 void LCD_FilScr(const unsigned char * Buff)//==================================================  ==//Залить дисплей цветом 
{



}  
//==================================================  ==================================================  ===================
void LCD_PutPixel(unsigned char X1,unsigned char Y1,unsigned int color)//========================//Вывод точки на дисплей
{


 
}
//==================================================  ==================================================  ===================
void LoadImage(unsigned char X1,unsigned char Y1,const unsigned int *Image)//==================//Вывод рисунка на дисплей
{


}

 
//==================================================  ==================================================  ===================
void LCD_Circle(unsigned char cx, unsigned char cy ,unsigned char radius,unsigned color)//==================//Рисуем круг
{



}


//==================================================  ==================================================  ==================
void LCD_Line(int x1, int y1, int x2, int y2)//==================================================  =========//Рисуем линию
{



}
//==================================================  ==================================================  ================== 
Uragan90 вне форума  
Непрочитано 16.06.2010, 14:04  
kison
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Библиотека LS020+LPC2368

Сообщение от Uragan90 Посмотреть сообщение
Может поможите чем? Нутам замечания
Мощная заготовка Непонятно правда под что пишется. Ну вот например:
Код:
LCD_CS = 0;
Сможете объяснить КАК это должно работать? Применительно к ARM7 LPC2368.
Что такое LCD_CS в Вашем варианте?
Кстати инициализация на первый взгляд у Вас не для HX8352A. Можно все же ссылку на источник?
И еще - не надо делать 8-ми битные переменные, если в этом нет необходимости.
К примеру из Вашей заготовки:
Код:
unsigned char i;
LCD_CS = 0;
LCD_RS = 0;
WR_8B_FORMAT(ADDR); //ADDR=0x5C.
LCD_RS = 1;
for( i=0; i‹=2; i++)
Какой смысл делать i 8-ми битной? Регистр в ARM7 имеет 32 разряда и работает всегда с полной разрядностью. Так что unsigned int или uint32_t будет куда правильнее.
Задержки софтом делать не стоит - таймеров в LPC2368 много, вот через них и делайте. Предсказать время исполнения кода в ARM7TDMI весьма непросто. Так что для софтовых задержек его придется подгонять и не в симуляторе, а на железе измеряя получившуюся задержку. Это кривой путь. С таймером все проще.
kison вне форума  
Непрочитано 16.06.2010, 14:26  
Uragan90
Почётный гражданин KAZUS.RUN
 
Аватар для Uragan90
 
Регистрация: 20.09.2009
Сообщений: 1,895
Сказал спасибо: 469
Сказали Спасибо 407 раз(а) в 254 сообщении(ях)
Uragan90 на пути к лучшему
По умолчанию Re: Библиотека LS020+LPC2368

Инициализацию мне подогнали с какого то китайского сайта! Она выше в том виде как есть и она именно для HX8352A- это точно (я проверял по даташит, все сходятся)!!! "LCD_CS" какая то переменная, сам разбираюсь... Вот и попросил помощи!!! Мне немног не понятно как описать цвет, в даташит на дисплей есть 12 регистров отвечающих за гамму, не мог бы кто объяснить принцип?

Последний раз редактировалось Uragan90; 16.06.2010 в 14:36. Причина: доп
Uragan90 вне форума  
Непрочитано 16.06.2010, 14:47  
kison
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Библиотека LS020+LPC2368

Сообщение от Uragan90 Посмотреть сообщение
"LCD_CS" какая то переменная, сам разбираюсь... Вот и попросил помощи!!!
Это должна быть вовсе не переменная, а физический вывод порта.
И выглядеть должно примерно так:
Код:
#define LCD_CS  (1) // CS подключен к P1.1
#define SET_LCD_CS()   FIO1SET = (1‹‹LCD_CS)
#define CLR_LCD_CS()   FIO1CLR = (1‹‹LCD_CS)

// дальше в тексте программы вместо LCD_CS = 0 нужно:
CLR_LCD_CS();
Нужно еще инициализировать вывод вначале - сделать ножку выходом. По умолчанию после сброса она вход.
Инициализацию посмотрю повнимательней, но Ваша совпала с hx8347A один в один. А это немного другой контроллер. Ссылку на китайский сайт/форум можно?
kison вне форума  
Непрочитано 16.06.2010, 15:07  
Uragan90
Почётный гражданин KAZUS.RUN
 
Аватар для Uragan90
 
Регистрация: 20.09.2009
Сообщений: 1,895
Сказал спасибо: 469
Сказали Спасибо 407 раз(а) в 254 сообщении(ях)
Uragan90 на пути к лучшему
По умолчанию Re: Библиотека LS020+LPC2368

Держи!!! Как пиксель засветить с нужным цветом Может поможешь в понимании процесса
Вложения:
Тип файла: rar hx8352-initial.rar (68.4 Кб, 558 просмотров)
Uragan90 вне форума  
Сказали "Спасибо" Uragan90
kison (16.06.2010)
Непрочитано 16.06.2010, 16:05  
kison
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Библиотека LS020+LPC2368

Сообщение от Uragan90 Посмотреть сообщение
Как пиксель засветить с нужным цветом
Записать соответствующее значение в экранную память. Как кодируется цвет - на странице P.39 даташита на контроллер. Это для 8-ми битной шины. Для 16 битной стр. Р.38 В документации на дисплей нет указания сколько цветов у интерфейса (65536 или 262144), это придется выяснять методом тыка.
Хотя когда я пытал мелтовцев, там фигурировало 65536 цветов - http://www.lcddisplay.ru/forum/index...d&FID=3&TID=43

Последний раз редактировалось kison; 16.06.2010 в 16:09.
kison вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Плата LPC2368 Uragan90 Микроконтроллеры, АЦП, память и т.д 170 13.04.2010 13:03
библиотека HC12 для Proteus Fenolftalein Proteus, KiCAD и другие ECAD 0 12.01.2010 10:47


Часовой пояс GMT +4, время: 12:18.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.