Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: TFT WF57DTIBCDC со встроенным SSD1963
Форум разработчиков электроники ELECTRONIX.ru > Поставщики компонентов для электроники > Компоненты > Средства индикации
Danis
Привет, спецы.

Имеется TFT WF57DTIBCDC со встроенным SSD1963, скачал pdf и на панель и на контролер, но маловато информации. Шина данных у этого TFT 16-ти разрядная, нужен пример инициализации SSD1963 и вывода примитивов. По форуму порылся, нашел кое что подобное, но только с применением 8-ми разрядной шины.

http://electronix.ru/forum/index.php?showt...&hl=SSD1963

Спасибо.
tiburon
Цитата(Danis @ Apr 4 2011, 16:20) *
Привет, спецы.

Имеется TFT WF57DTIBCDC со встроенным SSD1963, скачал pdf и на панель и на контролер, но маловато информации. Шина данных у этого TFT 16-ти разрядная, нужен пример инициализации SSD1963 и вывода примитивов. По форуму порылся, нашел кое что подобное, но только с применением 8-ми разрядной шины.

http://electronix.ru/forum/index.php?showt...&hl=SSD1963

Спасибо.

А самого производителя и других спрашивать не пробовали?
Ivan Kuznetzov
А у меня другой вопросик:
Необходимо чтобы после отсылки массива изображения в SSD1963, счетчик адреса обнулялся сам, без посылки команды WriteRamPrepare?
tiburon
Цитата(Ivan Kuznetzov @ Apr 28 2011, 07:09) *
А у меня другой вопросик:
Необходимо чтобы после отсылки массива изображения в SSD1963, счетчик адреса обнулялся сам, без посылки команды WriteRamPrepare?

Зроблен ваш дисплей Winstar, киньте вопрос мылом, мне так проще, а я спрошу Winstar, или можете сами их спросить, они нормально отвечают. Моё мыло на всякий случай tiburon10@inbox.ru
tiburon
http://www.raio.com.tw/E%20version/Member/e_member.join.htm

Даташит я кинул мылом.

Ответ Hannstar: HSD070I651- c is a pretty old version . The latest one is HSD070I651-F.
Даташит я кинул Вам мылом.
tiburon
Файлы от Winstar ниже, Вам это нужно? Текстовый в теле.

//=============================================================
// WINSTAR Display Co.,Ltd
// LCM :WF57F 16 BIT (80-Series)
// Contraller: SSD1963
// Author :Brian lin 2009/04/08
// history :
//==============================================================
//=================================
// parameter define
//=================================
#include <reg52.h>
#include <stdio.h> // define I/O functions
#include <INTRINS.H> // KEIL FUNCTION

#define Data_BUS P1
#define Data_BUS1 P2
sbit IC_A0 =P3^0; // Data/command select L:Command,H:Data
sbit IC_WR =P3^7; // L: Write, H: Read
sbit IC_RD =P3^4; // Data Enable H-->L
sbit IC_CS =P3^1; // L: Chip select
sbit IC_UD =P3^5;//=P3^6; // L: UP to Down , H: Down to UP
sbit IC_LR =P3^2; // L: Left to Right , H: Right to Left
sbit IC_RST =P3^6;//=P3^5; // L: RESET
sbit STP =P2^0; // for winstar test board
sbit S_S =P2^1; // for winstar test board

//----------------------------------------------------------------------
void STP_SC(void)
{
unsigned char x,y,z;
z=P2;
P2=z|| 0x03;
if(S_S == 1)
{
do{
for(x=0;x<255;x++)
{
for(y=0;y<255;y++)
{}}
P2=z|| 0x03;

}while(STP == 0);

}
}


//;******************************************************************************
void Write_Command(unsigned char command)
{

IC_RD = 1;
IC_A0 = 0;
IC_WR = 0;
IC_CS = 0;
Data_BUS = command;
IC_CS = 1;
IC_WR = 1;


}

//;******************************************************************************
void Write_Data(unsigned char data1)
{

IC_RD = 1;
IC_A0 = 1;
IC_WR = 0;
IC_CS = 0;
Data_BUS = data1;
IC_CS = 1;
IC_WR = 1;
}
//==============================================================
void Command_Write(unsigned char command,unsigned char data1)
{
Write_Command(command);
Write_Data(data1);
}
//==============================================================
void SendData(unsigned long color)
{
IC_RD = 1;
IC_A0 = 1;
IC_WR = 0;
IC_CS = 0;
Data_BUS1 = ((color)>>8); //DB8OUT(Dat16bit>>8);
Data_BUS = color; //DB8OUT(Dat16bit);
IC_CS = 1;
IC_WR = 1;
}
//======================================================
// initial
//======================================================
void Initial_SSD1963 (void)
{
IC_RST = 0;
_nop_();
_nop_();
_nop_();
IC_RST = 1;
_nop_();
_nop_();
_nop_();
Write_Command(0x01); //Software Reset
Write_Command(0x01);
Write_Command(0x01);
Command_Write(0xe0,0x01); //START PLL
Command_Write(0xe0,0x03); //LOCK PLL

Write_Command(0xb0); //SET LCD MODE SET TFT 18Bits MODE
Write_Data(0x0c); //SET TFT MODE & hsync+Vsync+DEN MODE
Write_Data(0x80); //SET TFT MODE & hsync+Vsync+DEN MODE
Write_Data(0x01); //SET horizontal size=320-1 HightByte
Write_Data(0x3f); //SET horizontal size=320-1 LowByte
Write_Data(0x00); //SET vertical size=240-1 HightByte
Write_Data(0xef); //SET vertical size=240-1 LowByte
Write_Data(0x00); //SET even/odd line RGB seq.=RGB

Command_Write(0xf0,0x03); //SET pixel data I/F format=16bit(565 format)
Command_Write(0x3a,0x50); // SET R G B format = 5 6 5
//Write_Command(0xe6); //scan
//Write_Data(0xff); //

Write_Command(0xe6); //SET PCLK freq=6.4MHz ; pixel clock frequency
Write_Data(0x00);
Write_Data(0xe7);
Write_Data(0x4f);


Write_Command(0xb4); //SET HBP,
Write_Data(0x01); //SET HSYNC Tatol 440
Write_Data(0xb8);
Write_Data(0x00); //SET HBP 68
Write_Data(0x44);
Write_Data(0x0f); //SET VBP 16=15+1
Write_Data(0x00); //SET Hsync pulse start position
Write_Data(0x00);
Write_Data(0x00); //SET Hsync pulse subpixel start position

Write_Command(0xb6); //SET VBP,
Write_Data(0x01); //SET Vsync total 265=264+1
Write_Data(0x08);
Write_Data(0x00); //SET VBP=19
Write_Data(0x13);
Write_Data(0x07); //SET Vsync pulse 8=7+1
Write_Data(0x00); //SET Vsync pulse start position
Write_Data(0x00);

Write_Command(0x2a); //SET column address
Write_Data(0x00); //SET start column address=0
Write_Data(0x00);
Write_Data(0x01); //SET end column address=319
Write_Data(0x3f);

Write_Command(0x2b); //SET page address
Write_Data(0x00); //SET start page address=0
Write_Data(0x00);
Write_Data(0x00); //SET end page address=239
Write_Data(0xef);

Write_Command(0x29); //SET display on

}
//======================================================
WindowSet(unsigned int s_x,unsigned int e_x,unsigned int s_y,unsigned int e_y)
{
Write_Command(0x2a); //SET page address
Write_Data((s_x)>>8); //SET start page address=0
Write_Data(s_x);
Write_Data((e_x)>>8); //SET end page address=319
Write_Data(e_x);

Write_Command(0x2b); //SET column address
Write_Data((s_y)>>8); //SET start column address=0
Write_Data(s_y);
Write_Data((e_y)>>8); //SET end column address=239
Write_Data(e_y);
}

//=======================================
void FULL_ON(unsigned long dat)
{
unsigned int x,y;
WindowSet(0x0000,0x013f,0x0000,0x00ef);
Write_Command(0x2c);
for(x=0;x<240;x++)
{
for(y= 0;y<320;y++)
{
SendData(dat);
}
}
}
//=======================================
FRAME()
{
unsigned int i,j;
WindowSet(0x0000,0x013f,0x0000,0x00ef);
Write_Command(0x2c);
for(j= 0 ;j<40;j++)
{
for(i=0;i<8;i++)
{
SendData(0xffff); //white
}
}

for(j=0;j<238;j++)
{
SendData(0xf800); //red
for(i=0;i<159;i++)
{
SendData(0x0000); //black
SendData(0x0000); //black
}
SendData(0x001f); //blue
}

for(j= 0 ;j<40;j++)
{
for(i=0;i<8;i++)
{
SendData(0xffff); //white
}
}
}
//=======================================
void main()
{
IC_UD = 0;
IC_LR = 1;
Initial_SSD1963();

while(1)
{
//FRAME();
//STP_SC();
FULL_ON(0x0000);
STP_SC();
FULL_ON(0xf800); // red
STP_SC();
FULL_ON(0xbfe0);
STP_SC();
//FULL_ON(0x07e0); // green
//STP_SC();
FULL_ON(0x001f); // blue
STP_SC();
FULL_ON(0xf81f);
STP_SC();
FULL_ON(0xffff);
STP_SC();
}
}

Danis
Цитата(tiburon @ May 16 2011, 13:29) *
Файлы от Winstar ниже, Вам это нужно? Текстовый в теле.
...


Спасибо! Я во всем разобрался уже.
Nikson1200
кому-нибудь удавалось на winstar'овских индикаторах управлять подсветкой? (SSD1963 позволяет это)
пробовал пример из даташита, да и методом научного тыка потыкал разные параметры. результат есть, но неудовлетворительный: подсветка гаснет буквально на доли секунды и снова возвращается в прежнее состояние. нужен рабочий пример.
Fynjisx
Цитата(Danis @ May 16 2011, 12:44) *
Спасибо! Я во всем разобрался уже.

Скажите, когда Вы заливаете экран каким то цветом, у вас видно как он медленно заливается?
Danis
Цитата(Fynjisx @ Mar 11 2012, 14:57) *
Скажите, когда Вы заливаете экран каким то цветом, у вас видно как он медленно заливается?

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