Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
21.03.2011, 14:08
|
|
Гражданин KAZUS.RU
Регистрация: 01.01.2007
Адрес: Таганрог
Сообщений: 571
Сказал спасибо: 26
Сказали Спасибо 213 раз(а) в 91 сообщении(ях)
|
Re: Инициализация дисплея на базе R61505
Моя инициализация:
//----------Display control ------------------
TFT_write_com(0x0000);TFT_write_dat(0x0000);
TFT_write_com(0x00A4);TFT_write_dat(0x0001);
delay(70000);
TFT_write_com(0x0007);TFT_write_dat(0x0001);
delay(500000);
TFT_write_com(0x0012);TFT_write_dat(0x0000);
//===================== Gamma =========================// CMO
TFT_write_com(0x0030);TFT_write_dat(0x0707);
TFT_write_com(0x0031);TFT_write_dat(0x0607);
TFT_write_com(0x0032);TFT_write_dat(0x0301);
TFT_write_com(0x0033);TFT_write_dat(0x0303);
TFT_write_com(0x0034);TFT_write_dat(0x0303);
TFT_write_com(0x0035);TFT_write_dat(0x0507);
TFT_write_com(0x0036);TFT_write_dat(0x021F);
TFT_write_com(0x0037);TFT_write_dat(0x0705);
TFT_write_com(0x0038);TFT_write_dat(0x0607);
TFT_write_com(0x0039);TFT_write_dat(0x0301);
TFT_write_com(0x003A);TFT_write_dat(0x0303);
TFT_write_com(0x003B);TFT_write_dat(0x0202);
TFT_write_com(0x003C);TFT_write_dat(0x0105);
TFT_write_com(0x003D);TFT_write_dat(0x021F);
delay(25000);
//------------------ Panel Image Control ---------------//
TFT_write_com(0x0050);TFT_write_dat(0x0000);
TFT_write_com(0x0051);TFT_write_dat(0x00EF);
TFT_write_com(0x0052);TFT_write_dat(0x0000);
TFT_write_com(0x0053);TFT_write_dat(0x013F);
TFT_write_com(0x0060);TFT_write_dat(0x2700);
TFT_write_com(0x0061);TFT_write_dat(0x0000);
TFT_write_com(0x006A);TFT_write_dat(0x0000);
//-------------- Panel Interfcae Control ---------//
TFT_write_com(0x0090);TFT_write_dat(0x000F);
TFT_write_com(0x0092);TFT_write_dat(0x0001);
TFT_write_com(0x0093);TFT_write_dat(0x0001);
TFT_write_com(0x0095);TFT_write_dat(0x0110);
//------------ Power Control --------------// Jason@ 2007-6-29 ТЖ¶ЇPowerДЈїйµДФТтЈєЅвѕцЙэС№°ЧЖБµДОКМв
TFT_write_com(0x0017);TFT_write_dat(0x0001);
delay(500000);
TFT_write_com(0x0010);TFT_write_dat(0x17A0);
delay(500000);
TFT_write_com(0x0011);TFT_write_dat(0x0007);
TFT_write_com(0x0012);TFT_write_dat(0x013C);
delay(500000);
TFT_write_com(0x0013);TFT_write_dat(0x1300);
delay(500000);
TFT_write_com(0x0028);TFT_write_dat(0x0000);
TFT_write_com(0x0029);TFT_write_dat(0x0010);
TFT_write_com(0x002A);TFT_write_dat(0x0000);
TFT_write_com(0x0001);TFT_write_dat(0x0100);
delay(500000);
TFT_write_com(0x0002);TFT_write_dat(0x0700);
// TFT_write_com(0x0003);TFT_write_dat(0x1038);
TFT_write_com(0x0003);TFT_write_dat(0x5230);
TFT_write_com(0x0008);TFT_write_dat(0x0207);
TFT_write_com(0x0009);TFT_write_dat(0x0000);
TFT_write_com(0x000A);TFT_write_dat(0x0008);
//-------display on function --------------
TFT_write_com(0x0007);TFT_write_dat(0x0021);
delay(50000);
TFT_write_com(0x0007);TFT_write_dat(0x0061);
delay(50000);
TFT_write_com(0x0007);TFT_write_dat(0x0173);
delay(50000);
TFT_write_com(0x0017);TFT_write_dat(0x0000);
//--------------write to GRAM ------------------//
TFT_write_com(0x0020);TFT_write_dat(0x0000);
TFT_write_com(0x0021);TFT_write_dat(0x0000);
Что тут не так, подскажите пожалуйста, откуда появляются полосы на экране, или это аппаратное повреждение ЖКИ?
__________________
То, что нас не убивает - делает нас сильнее
Последний раз редактировалось serb-radio; 21.03.2011 в 14:16.
|
|
|
|
21.03.2011, 14:09
|
|
Прописка
Регистрация: 18.04.2005
Сообщений: 101
Сказал спасибо: 1
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Re: Инициализация дисплея на базе R61505
Код:
|
#define DEVICE_CODE_READ 0x00
#define DRIVER_OUTPUT_CONTROL_1 0x01
#define DRIVING_WAVE_CONTROL 0x02
#define ENTRY_MODE 0x03
#define RESIZING_CONTROL 0x04
#define DISPLAY_CONTROL_1 0x07
#define DISPLAY_CONTROL_2 0x08
#define DISPLAY_CONTROL_3 0x09
#define DISPLAY_CONTROL_4 0x0A
#define EXTERNAL_DISPLAY_INTERFACE_CONTROL_1 0x0C
#define FRAME_MARKER_POSITION 0x0D
#define VCOM_LOW_POWER_CONTROL 0x0E
#define EXTERNAL_DISPLAY_INTERFACE_CONTROL_2 0x0F
#define POWER_CONTROL_1 0x10
#define POWER_CONTROL_2 0x11
#define POWER_CONTROL_3 0x12
#define POWER_CONTROL_4 0x13
#define POWER_CONTROL_5 0x17
#define POWER_CONTROL_6 0x19
#define HORIZONTAL_ADDRESS_SET 0x20
#define VERTICAL_ADDRESS_SET 0x21
#define WRITE_DATA_RAM 0x22
#define READ_DATA_RAM 0x22
#define NVM_READ_DATA 0x28
#define VCOM_HIGH_VOLTAGE_1 0x29
#define VCOM_HIGH_VOLTAGE_2 0x2A
#define GAMMA_CONTROL_1 0x30
#define GAMMA_CONTROL_2 0x31
#define GAMMA_CONTROL_3 0x32
#define GAMMA_CONTROL_4 0x33
#define GAMMA_CONTROL_5 0x34
#define GAMMA_CONTROL_6 0x35
#define GAMMA_CONTROL_7 0x36
#define GAMMA_CONTROL_8 0x37
#define GAMMA_CONTROL_9 0x38
#define GAMMA_CONTROL_10 0x39
#define GAMMA_CONTROL_11 0x3A
#define GAMMA_CONTROL_12 0x3B
#define GAMMA_CONTROL_13 0x3C
#define GAMMA_CONTROL_14 0x3D
#define WINDOW_HORIZONTAL_ADDRESS_START 0x50
#define WINDOW_HORIZONTAL_ADDRESS_END 0x51
#define WINDOW_VERTICAL_ADDRESS_START 0x52
#define WINDOW_VERTICAL_ADDRESS_END 0x53
#define DRIVER_OUTPUT_CONTROL_2 0x60
#define BASE_IMAGE_CONTROL 0x61
#define VERTICAL_SCROLL_CONTROL 0x6A
#define PARTIAL_IMAGE_1_DISPLAY_POSITION 0x80
#define PARTIAL_IMAGE_1_RAM_START_LINE_ADDRESS 0x81
#define PARTIAL_IMAGE_1_RAM_END_LINE_ADDRESS 0x82
#define PARTIAL_IMAGE_2_DISPLAY_POSITION 0x83
#define PARTIAL_IMAGE_2_RAM_START_LINE_ADDRESS 0x84
#define PARTIAL_IMAGE_2_RAM_END_LINE_ADDRESS 0x85
#define PANEL_INTERFACE_CONTROL_1 0x90
#define PANEL_INTERFACE_CONTROL_2 0x92
#define PANEL_INTERFACE_CONTROL_3 0x93
#define PANEL_INTERFACE_CONTROL_4 0x95
#define PANEL_INTERFACE_CONTROL_5 0x97
#define PANEL_INTERFACE_CONTROL_6 0x98
#define NVM_ACCESS_CONTROL_1 0xA0
#define NVM_ACCESS_CONTROL_2 0xA1
#define CALIBRATION_CONTROL 0xA4 |
|
|
|
Сказали "Спасибо" 011119xx
|
|
|
21.03.2011, 14:14
|
|
Гражданин KAZUS.RU
Регистрация: 01.01.2007
Адрес: Таганрог
Сообщений: 571
Сказал спасибо: 26
Сказали Спасибо 213 раз(а) в 91 сообщении(ях)
|
Re: Инициализация дисплея на базе R61505
Нашел несколько видов инициализации, многое сходное, но есть отличия, в некоторых инитах по 2 раза конфигурируется гамма и питание
__________________
То, что нас не убивает - делает нас сильнее
|
|
|
|
21.03.2011, 15:27
|
|
Гражданин KAZUS.RU
Регистрация: 17.07.2006
Адрес: PV.DP.UA
Сообщений: 620
Сказал спасибо: 3
Сказали Спасибо 60 раз(а) в 48 сообщении(ях)
|
Re: Инициализация дисплея на базе R61505
IMHO, гамму можно вообще не трогать.
__________________
Если ты читаешь это - значит тебе нечем заняться...
|
|
|
|
22.03.2011, 03:11
|
|
Заблокирован
Регистрация: 26.12.2009
Сообщений: 3,124
Сказал спасибо: 116
Сказали Спасибо 867 раз(а) в 614 сообщении(ях)
|
Re: Инициализация дисплея на базе R61505
У меня такой инит.
Код:
|
//************************************************** **************************
void Lcd_Iniit(void)
{
Lcd_WriteReg(0x00A4, 0x0001);
// _delay_ms(14); // delay 14ms
Lcd_WriteReg(0x0007, 0x0001);
// _delay_ms(100); // delay 100ms
Lcd_WriteReg(0x0010, 0x0000);
// _delay_ms(20); // delay 20ms
//===================== Gamma =========================//
Lcd_WriteReg(0x0030, 0x0707);
Lcd_WriteReg(0x0031, 0x0607);
Lcd_WriteReg(0x0032, 0x0301);
Lcd_WriteReg(0x0033, 0x0303);
Lcd_WriteReg(0x0034, 0x0303);
Lcd_WriteReg(0x0035, 0x0507);
Lcd_WriteReg(0x0036, 0x021F);
Lcd_WriteReg(0x0037, 0x0705);
Lcd_WriteReg(0x0038, 0x0607);
Lcd_WriteReg(0x0039, 0x0301);
Lcd_WriteReg(0x003A, 0x0303);
Lcd_WriteReg(0x003B, 0x0202);
Lcd_WriteReg(0x003C, 0x0105);
Lcd_WriteReg(0x003D, 0x021F);
_delay_ms(50); // delay 50ms
//------------------ Panel Image Control ---------------//
Lcd_WriteReg(0x0050, 0x0000);
Lcd_WriteReg(0x0051, 0x00EF);
Lcd_WriteReg(0x0052, 0x0000);
Lcd_WriteReg(0x0053, 0x013F);
Lcd_WriteReg(0x0060, 0x2700);
Lcd_WriteReg(0x0061, 0x0000); //0001 INV
Lcd_WriteReg(0x006A, 0x0000);
//-------------- Panel Interfcae Control ---------//
Lcd_WriteReg(0x0090, 0x000F);
Lcd_WriteReg(0x0092, 0x0001);
Lcd_WriteReg(0x0093, 0x0001);
Lcd_WriteReg(0x0095, 0x0110);
//************* Power Control **********//
Lcd_WriteReg(0x0017, 0x0001);
_delay_ms(100); // delay 100ms
Lcd_WriteReg(0x0019, 0x0000); // ????????????????????
Lcd_WriteReg(0x0010, 0x17F0); //17A0
_delay_ms(100); // delay 100ms
Lcd_WriteReg(0x0011, 0x0007); //0007
Lcd_WriteReg(0x0012, 0x0118); //013C 0118
_delay_ms(20); // delay 20ms
Lcd_WriteReg(0x0013, 0x0000); //1300 //0F00
_delay_ms(100); // delay 100ms
Lcd_WriteReg(0x0028, 0x0000);
Lcd_WriteReg(0x0029, 0x0010); //0010
Lcd_WriteReg(0x002A, 0x0000);
Lcd_WriteReg(0x0001, 0x0100);
_delay_ms(100); // delay 100ms
Lcd_WriteReg(0x0002, 0x0700);
Lcd_WriteReg(0x0003, 0x1030);
Lcd_WriteReg(0x0008, 0x0503); //0207
Lcd_WriteReg(0x0009, 0x0000);
Lcd_WriteReg(0x000A, 0x0008);
//********** display on function **************//
Lcd_WriteReg(0x0007, 0x0021);
_delay_ms(10); // delay 10ms
Lcd_WriteReg(0x0007, 0x0061);
_delay_ms(10); // delay 10ms
Lcd_WriteReg(0x0007, 0x0173);
_delay_ms(10); // delay 10ms
Lcd_WriteReg(0x0017, 0x0000);
//************* write to GRAM *****************//
Lcd_WriteReg(0x0020, 0x0000);
Lcd_WriteReg(0x0021, 0x0000);
// Lcd_WriteReg(0x0022); //16 bit
} |
Последний раз редактировалось st_1; 22.03.2011 в 03:21.
|
|
|
|
22.03.2011, 07:38
|
|
Прописка
Регистрация: 18.04.2005
Сообщений: 101
Сказал спасибо: 1
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Re: Инициализация дисплея на базе R61505
И каков результат то?
|
|
|
|
22.03.2011, 09:10
|
|
Гражданин KAZUS.RU
Регистрация: 01.01.2007
Адрес: Таганрог
Сообщений: 571
Сказал спасибо: 26
Сказали Спасибо 213 раз(а) в 91 сообщении(ях)
|
Re: Инициализация дисплея на базе R61505
Перепробовал 4 вида инита, полосы остались, думаю, что это битый индикатор, пал жертвой экспериментов, хотя вроде ничего противоестественного с ним не делал, не переполюсовывал и повышенную напругу не подлавал . Ведь графика работает, рисую на индикаторе, все хорошо, а вот что с полосами делать не знаю, гляньте рисунок выше.
И еще, если не сложно, сбросте у кого есть библиотечки для работы с текстом, шрифты там и т.д.
__________________
То, что нас не убивает - делает нас сильнее
|
|
|
|
22.03.2011, 12:25
|
|
Прописка
Регистрация: 18.04.2005
Сообщений: 101
Сказал спасибо: 1
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Re: Инициализация дисплея на базе R61505
Сообщение от serb-radio
|
И еще, если не сложно, сбросте у кого есть библиотечки для работы с текстом, шрифты там и т.д.
|
Все это есть. Только меняется на что-то другое полезное
|
|
|
|
22.03.2011, 12:27
|
|
Заблокирован
Регистрация: 26.12.2009
Сообщений: 3,124
Сказал спасибо: 116
Сказали Спасибо 867 раз(а) в 614 сообщении(ях)
|
Re: Инициализация дисплея на базе R61505
После инита диспа загони прогу в вечный цикл, если на "мусоре" тоже будет полосатость то... что-то с экраном не так. На картинке не совсем однозначно видно.
|
|
|
|
22.03.2011, 12:31
|
|
Гражданин KAZUS.RU
Регистрация: 01.01.2007
Адрес: Таганрог
Сообщений: 571
Сказал спасибо: 26
Сказали Спасибо 213 раз(а) в 91 сообщении(ях)
|
Re: Инициализация дисплея на базе R61505
У меня прога в бесконечном цикле
__________________
То, что нас не убивает - делает нас сильнее
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 19:06.
|
|