Форум РадиоКот • Просмотр темы - База дисплеев мобильных устройств
Сообщения без ответов | Активные темы
Страница 3 из 13
[ Сообщений: 252 ]
, , , , , ...
Автор
Сообщение
hd44780
Заголовок сообщения: Re: База дисплеев мобильных устройств
Добавлено: Чт мар 21, 2013 10:37:41
Встал на лапы
Зарегистрирован: Вт июл 14, 2009 09:27:37Сообщений: 132Откуда: Донецк, Украина
Рейтинг сообщения: 0
Atmega8 писал(а):
ILI9320_AVR - при компиляции много ошибок...
Автор - я. Точнее сделал по мотивам из каких-то узкоглазых примеров
.
Каких конкретно ошибок? Вы случайно не в атмел студии компилите?
Я писал его под CvAVR.
Вернуться наверх
Реклама
DX168B
Заголовок сообщения: Re: База дисплеев мобильных устройств
Добавлено: Вт мар 26, 2013 13:09:57
Друг Кота
Карма: 25
Рейтинг сообщений: 99
Зарегистрирован: Вс янв 24, 2010 19:19:52Сообщений: 4468Откуда: Главный Улей России (Moscow)
Рейтинг сообщения: 0
Такой вопрос: Никто не сталкивался с TFT дисплеями на контроллере HX8353-C ? Даташит нашел, но так и не могу разобраться с ним. Запустить не удалось. Может кто подскажет что?
_________________ I am DX168B and this is my favourite forum on internet!
Вернуться наверх
Реклама
hd44780
Заголовок сообщения: Re: База дисплеев мобильных устройств
Добавлено: Вт мар 26, 2013 14:21:43
Встал на лапы
Зарегистрирован: Вт июл 14, 2009 09:27:37Сообщений: 132Откуда: Донецк, Украина
Рейтинг сообщения: 0
Вернуться наверх
-Valerius-
Заголовок сообщения: Re: База дисплеев мобильных устройств
Добавлено: Чт мар 28, 2013 12:40:24
Встал на лапы
Карма: 21
Рейтинг сообщений: 23
Зарегистрирован: Сб янв 12, 2013 22:43:10Сообщений: 99Откуда: Москва
Рейтинг сообщения: 0
Добрый день. Может кто-то сталкивался с подобным дисплеем, будет полезна любая информация. Маркировка на шлейфе TFT8K0594FPC-A2-E, прдположительно- с Nokia N95.
Вернуться наверх
Warlord
Заголовок сообщения: Re: База дисплеев мобильных устройств
Добавлено: Пт мар 29, 2013 19:03:25
Родился
Карма: 1
Рейтинг сообщений: 3
Зарегистрирован: Вс авг 05, 2012 22:57:13Сообщений: 10Откуда: Харьков
Рейтинг сообщения: 0
-Valerius- Дайте поиск по инету DSO Nano (открытый проект осциллографа на STM32). Открыто доступны схемы и исходники текста программ. Это дисплей из серии China TFT на ILI93хx.
Вернуться наверх
Реклама
-Valerius-
Заголовок сообщения: Re: База дисплеев мобильных устройств
Добавлено: Пн апр 01, 2013 19:28:36
Встал на лапы
Карма: 21
Рейтинг сообщений: 23
Зарегистрирован: Сб янв 12, 2013 22:43:10Сообщений: 99Откуда: Москва
Рейтинг сообщения: 0
Спасибо, обязательно посмотрю, тут подсказывают с вертепа -что контроллер ILI1289
Вернуться наверх
Реклама
maxlab
Заголовок сообщения: Re: База дисплеев мобильных устройств
Добавлено: Ср апр 24, 2013 08:20:03
Мучитель микросхем
Карма: 4
Рейтинг сообщений: 40
Зарегистрирован: Вт апр 23, 2013 22:21:18Сообщений: 423Откуда: KUBAN, Krasnodar
Рейтинг сообщения: 0
Здравствуйте! Мучаю дисплей Nokia 2660 цветной, купил здесь
http://shop.siriust.ru/product_info.php ... s_id/10467 . Дисплей китайский, не оригинал. Собрал платку-адаптер. Дисплей инициализируется. Обнаружил странности... А дальше я застрял
Есть желающие подключиться к мозговому штурму? Код и разводку адаптера выложу вечером.
Дисплей соединен через 24 пиновый разъем. Паяется тонким косым (микроволна) жалом нормально. Со старого телефона разъем сдувается феном 400 град. Греем с обратной стороны. Тогда пластмасса не деформируется.
Обещанный код. Странности поборол
. Для STM8SVL-Discovery. Написано в IAR
Следующие этапы... Тонкая настройка, вывод текста и графики.
Ток подсветки у меня сейчас 8.3 mA (12v,560 om). Думаю до 10 вдуть можно смело.
Код:
#include "stm8s.h" #include "stm8s_gpio.h" #include "stm8s_clk.h" #define MAX_X 131 #define MAX_Y 160 #define CMD 0 #define DAT 1 /* SPFD54124 Инструкции (см даташит)*/ #define SWRESET (0x01) #define SLPOUT (0x11) #define NORON (0x13) #define INVOFF (0x20) #define DISPON (0x29) #define CASET (0x2A) #define RASET (0x2B) #define RAMWR (0x2C) #define MADCTL (0x36) #define IDMOFF (0x38) #define COLMOD (0x3A) /* Формирование цвета */ #define RGB(r,g,b) (uint16_t)((r >> 3) |((g >> 2) << 5) |((b >> 3) << 11)) /* Основные цвета */ #define COL_BLACK RGB(0,0,0) #define COL_WHITE RGB(255,255,255) #define COL_RED RGB(255,0,0) #define COL_BLUE RGB(0,0,255) #define COL_GREEN RGB(0,255,0) #define COL_YELLOW RGB(255,255,0) #define COL_MAGENTA RGB(255,0,255) #define COL_AQUA RGB(0,255,255) #define COL_PURPLE RGB(160,32,240) #define COL_REDPINK RGB(255,50,50) #define COL_ORANGE RGB(255,165,0) // управление ногами rst,cs,sda,clk #define RST_SET GPIO_WriteHigh(GPIOC, GPIO_PIN_6); #define RST_RESET GPIO_WriteLow(GPIOC, GPIO_PIN_6); #define CS_SET GPIO_WriteHigh(GPIOC, GPIO_PIN_4); #define CS_RESET GPIO_WriteLow(GPIOC, GPIO_PIN_4); #define SDA_SET GPIO_WriteHigh(GPIOC, GPIO_PIN_2); #define SDA_RESET GPIO_WriteLow(GPIOC, GPIO_PIN_2); #define CLK_SET GPIO_WriteHigh(GPIOC, GPIO_PIN_5); #define CLK_RESET GPIO_WriteLow(GPIOC, GPIO_PIN_5); #define F_CPU 16000000 //Тактовая частота процессора (внутр RC). // функции задержек void _delay_ms(uint32_t ms) { uint32_t nCount; nCount=(F_CPU/10000)*ms; // возвращает тактовоую частоту HCLK в Гц, делим на 10000 и всё множим на ms for (; nCount!=0; nCount--) { //6 тактов функция повтора + 4 пустые такта __asm ("nop"); __asm ("nop"); __asm ("nop"); __asm ("nop");// = 10 тактов } } /*Хардварный ресет драйвера*/ void lcd_reset() { RST_SET; CS_SET; CLK_SET; _delay_ms(1); RST_RESET; CS_RESET; _delay_ms(20); RST_SET; _delay_ms(20); } void lcd_SendByte(char mode,unsigned char c) { CS_RESET; CLK_RESET; if (mode) SDA_SET else SDA_RESET; CLK_SET; for(unsigned char i=0;i<8;i++) { CLK_RESET; if (c & 0x80) SDA_SET else SDA_RESET; CLK_SET; c <<= 1; } CS_SET; } /*Видео окно*/ void lcd_rect(uint32_t x, uint32_t width, uint32_t y, uint32_t height) { /* Set CAS Address */ lcd_SendByte(CMD,CASET); lcd_SendByte(DAT,0); lcd_SendByte(DAT,x); lcd_SendByte(DAT,0); lcd_SendByte(DAT,width); /* Set RAS Address */ lcd_SendByte(CMD,RASET); lcd_SendByte(DAT,0); lcd_SendByte(DAT,y); lcd_SendByte(DAT,0); lcd_SendByte(DAT,height); /* Write RAM */ lcd_SendByte(CMD,RAMWR); } /*Запись в GRAM*/ void lcd_wr_gram(uint16_t gram) { lcd_SendByte(DAT,(uint8_t)(gram>>8)); lcd_SendByte(DAT,(uint8_t)gram); } /*Заливка GRAM*/ void lcd_clear(void) { volatile uint32_t n; lcd_rect(0,MAX_X-1,0,MAX_Y-1); n = (MAX_X) * (MAX_Y); do { /* 16Bit Colour Access */ lcd_wr_gram(COL_BLUE); } while (--n); } /*Инициализация*/ void lcd_init() { lcd_reset(); lcd_SendByte(CMD,SWRESET); _delay_ms(120); lcd_SendByte(CMD,SLPOUT); _delay_ms(20); lcd_SendByte(CMD,INVOFF); lcd_SendByte(CMD,IDMOFF); lcd_SendByte(CMD,NORON); lcd_SendByte(CMD,COLMOD); lcd_SendByte(DAT,0x05); _delay_ms(10); lcd_SendByte(CMD,MADCTL); lcd_SendByte(DAT,0x08); _delay_ms(10); lcd_SendByte(CMD,DISPON); _delay_ms(10); lcd_clear(); } void main( void ) { // сброс порта C GPIO_DeInit(GPIOC); // ноги 2,4,5,6 - на выход GPIO_Init(GPIOC,GPIO_PIN_2,GPIO_MODE_OUT_PP_LOW_FAST); GPIO_Init(GPIOC,GPIO_PIN_4,GPIO_MODE_OUT_PP_LOW_FAST); GPIO_Init(GPIOC,GPIO_PIN_5,GPIO_MODE_OUT_PP_LOW_FAST); GPIO_Init(GPIOC,GPIO_PIN_6,GPIO_MODE_OUT_PP_HIGH_FAST); // тактирование ядра 16mHz CLK_SYSCLKConfig(CLK_PRESCALER_HSIDIV1); lcd_init(); } #ifdef USE_FULL_ASSERT /** * @brief Reports the name of the source file and the source line number * where the assert_param error has occurred. * @param file: pointer to the source file name * @param line: assert_param error line source number * @retval : None */ void assert_failed(u8* file, u32 line) { /* User can add his own implementation to report the file name and line number, ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ /* Infinite loop */ while (1) { } } #endif
Вложения:
Комментарий к файлу: Испытательный макет. Заливка синим цветом
P1012133.JPG [84.58 KiB]
Скачиваний: 1400
Комментарий к файлу: Тыльная сторона
P1012132.JPG [43.7 KiB]
Скачиваний: 1325
Комментарий к файлу: Лицо
P1012130.JPG [36.29 KiB]
Скачиваний: 1247
Комментарий к файлу: Адаптер
n2660adapter.lay [40.35 KiB]
Скачиваний: 936
_________________ Девице - Device
Вернуться наверх
russo_turisto
Заголовок сообщения: Re: База дисплеев мобильных устройств
Добавлено: Ср май 01, 2013 19:01:38
Зарегистрирован: Ср окт 07, 2009 06:45:38Сообщений: 34Откуда: Astana KZ
Рейтинг сообщения: 0
Вернуться наверх
maxlab
Заголовок сообщения: Re: База дисплеев мобильных устройств
Добавлено: Пн май 06, 2013 20:07:10
Мучитель микросхем
Карма: 4
Рейтинг сообщений: 40
Зарегистрирован: Вт апр 23, 2013 22:21:18Сообщений: 423Откуда: KUBAN, Krasnodar
Рейтинг сообщения: 0
Здравствуйте! Не устроила меня скорость заливки на STM8. Переделал макет на PIC18F252. Ничего более высокоскоростного под рукой не оказалось, а специально покупать MX4-MX7 или Cortex жаба давит. При внутреннем умножении тактовой частоты на 4 - получилось более или менее шустрее. Изменил ориентацию дисплея. Заливает сверху вниз.
Код для CCS PICC
Спойлер Код:
#include <18F252.h> #device PASS_STRINGS=IN_RAM #fuses H4,NOWDT,NOPUT #use delay (clock=40000000) #define OFS_COL 2 #define OFS_RAW 2 #define MAX_X 128 #define MAX_Y 160 #define CMD 0 #define DAT 1 /* SPFD54124 Инструкции (см даташит)*/ #define SWRESET (0x01) #define SLPOUT (0x11) #define NORON (0x13) #define INVOFF (0x20) #define DISPON (0x29) #define CASET (0x2A) #define RASET (0x2B) #define RAMWR (0x2C) #define MADCTL (0x36) #define IDMOFF (0x38) #define COLMOD (0x3A) /* Формирование цвета */ #define RGB(r,g,b) (unsigned int16)((r >> 3) |((g >> 2) << 5) |((b >> 3) << 11)) /* Основные цвета */ #define COL_BLACK RGB(0,0,0) #define COL_WHITE RGB(255,255,255) #define COL_RED RGB(255,0,0) #define COL_BLUE RGB(0,0,255) #define COL_GREEN RGB(0,255,0) #define COL_YELLOW RGB(255,255,0) #define COL_MAGENTA RGB(255,0,255) #define COL_AQUA RGB(0,255,255) #define COL_PURPLE RGB(160,32,240) #define COL_REDPINK RGB(255,50,50) #define COL_ORANGE RGB(255,165,0) // управление ногами rst,cs,sda,clk #define RST PIN_C0 #define CS PIN_C1 #define SDA PIN_C7 #define CLK PIN_C6 /*Хардварный ресет драйвера*/ void lcd_reset() { output_high(RST); output_high(CS); output_high(CLK); delay_ms(1); output_low(RST); output_low(CS); delay_ms(20); output_high(RST); delay_ms(20); } void lcd_SendByte(char mode,unsigned char c) { output_low(CS); output_low(CLK); if (mode) output_high(SDA); else output_low(SDA); output_high(CLK); unsigned char i; for(i=0;i<8;i++) { output_low(CLK); if (c & 0x80) output_high(SDA); else output_low(SDA); output_high(CLK); c <<= 1; } output_high(CS); } /*Видео окно*/ void lcd_rect(unsigned int32 x, unsigned int32 width, unsigned int32 y, unsigned int32 height) { /* Set CAS Address */ lcd_SendByte(CMD,CASET); lcd_SendByte(DAT,0); lcd_SendByte(DAT,OFS_RAW + y); lcd_SendByte(DAT,0); lcd_SendByte(DAT,OFS_RAW + height); /* Set RAS Address */ lcd_SendByte(CMD,RASET); lcd_SendByte(DAT,0); lcd_SendByte(DAT,OFS_COL + x); lcd_SendByte(DAT,0); lcd_SendByte(DAT,OFS_COL + width); /* Write RAM */ lcd_SendByte(CMD,RAMWR); } /*Запись в GRAM*/ void lcd_wr_gram(unsigned int16 gram) { lcd_SendByte(DAT,(char)(gram>>8)); lcd_SendByte(DAT,(char)gram); } /*Заливка GRAM*/ void lcd_clear(unsigned int16 col) { volatile unsigned int32 n; lcd_rect(0,MAX_X-1,0,MAX_Y-1); n = (MAX_X) * (MAX_Y); do { /* 16Bit Colour Access */ lcd_wr_gram(col); } while (--n); } /*Инициализация*/ void lcd_init() { lcd_reset(); lcd_SendByte(CMD,SWRESET); delay_ms(120); lcd_SendByte(CMD,SLPOUT); delay_ms(20); lcd_SendByte(CMD,INVOFF); lcd_SendByte(CMD,IDMOFF); lcd_SendByte(CMD,NORON); lcd_SendByte(CMD,COLMOD); lcd_SendByte(DAT,0x05); delay_ms(10); lcd_SendByte(CMD,MADCTL); lcd_SendByte(DAT,0xa8); delay_ms(10); lcd_SendByte(CMD,DISPON); delay_ms(10); lcd_clear(COL_BLACK); } void main( void ) { lcd_init(); while(true) { lcd_clear(COL_WHITE ); lcd_clear(COL_RED ); lcd_clear(COL_BLUE ); lcd_clear(COL_GREEN ); lcd_clear(COL_YELLOW ); lcd_clear(COL_MAGENTA ); lcd_clear(COL_AQUA ); lcd_clear(COL_REDPINK ); lcd_clear(COL_ORANGE ); } }
PS. От китайских товарищей узнал что это -
http://shop.siriust.ru/product_info.php ... s_id/16419 идет с таким же контроллером как и 2660. Шлейф паябельный и без разъема.
_________________ Девице - Device
Последний раз редактировалось maxlab Вт май 07, 2013 15:11:07, всего редактировалось 3 раз(а).
Вернуться наверх
Реклама
Chettuser
Заголовок сообщения: Re: База дисплеев мобильных устройств
Добавлено: Пн май 06, 2013 20:36:30
Народ, не в службу, а в дружбу - сворачивайте код под спойлер. Такие простыни листать неудобно уже. Спасибо.
Вернуться наверх
Gamma-Ray
Заголовок сообщения: Re: База дисплеев мобильных устройств
Добавлено: Вт май 07, 2013 23:52:45
Зарегистрирован: Вт май 07, 2013 23:26:51Сообщений: 1
Рейтинг сообщения: 0
Доброго времени суток.Никто из котов не сталкивался с этим шайтан-девайсом - китайским fm-модулятором? В нем неплохой LCD-дисплей с подсветкой,хочется прикрутить его к самопальному дозиметру на МК,случайно никто не знает его рапиновку/марку/даташит? Дисплей 12-ти пиновый.
Вложения:
mod2.JPG [43.06 KiB]
Скачиваний: 1064
mod.JPG [37.96 KiB]
Скачиваний: 1267
Вернуться наверх
maxlab
Заголовок сообщения: Re: База дисплеев мобильных устройств
Добавлено: Ср май 08, 2013 10:19:39
Мучитель микросхем
Карма: 4
Рейтинг сообщений: 40
Зарегистрирован: Вт апр 23, 2013 22:21:18Сообщений: 423Откуда: KUBAN, Krasnodar
Рейтинг сообщения: 0
Дисплей Nokia 2660 побежден!
Код для ccs picc
Спойлер Код:
#include <18F252.h> #device PASS_STRINGS=IN_RAM #include <string.h> #fuses H4,NOWDT,NOPUT #use delay (clock=40000000) const char FONT8x15[97][15] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x18,0x3C,0x3C,0x3C,0x18,0x18,0x18,0x00,0x18,0x18,0x00,0x00,0x00, // ! 0x00,0x63,0x63,0x63,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // " 0x00,0x00,0x00,0x36,0x36,0x7F,0x36,0x36,0x36,0x7F,0x36,0x36,0x00,0x00,0x00, // # 0x0C,0x0C,0x3E,0x63,0x61,0x60,0x3E,0x03,0x03,0x43,0x63,0x3E,0x0C,0x0C,0x00, // $ 0x00,0x00,0x00,0x00,0x00,0x61,0x63,0x06,0x0C,0x18,0x33,0x63,0x00,0x00,0x00, // % 0x00,0x00,0x00,0x1C,0x36,0x36,0x1C,0x3B,0x6E,0x66,0x66,0x3B,0x00,0x00,0x00, // & 0x00,0x30,0x30,0x30,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ' 0x00,0x00,0x0C,0x18,0x18,0x30,0x30,0x30,0x30,0x18,0x18,0x0C,0x00,0x00,0x00, // ( 0x00,0x00,0x18,0x0C,0x0C,0x06,0x06,0x06,0x06,0x0C,0x0C,0x18,0x00,0x00,0x00, // ) 0x00,0x00,0x00,0x00,0x42,0x66,0x3C,0xFF,0x3C,0x66,0x42,0x00,0x00,0x00,0x00, // * 0x00,0x00,0x00,0x00,0x18,0x18,0x18,0xFF,0x18,0x18,0x18,0x00,0x00,0x00,0x00, // + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x30,0x00, // , 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00, // . 0x00,0x00,0x01,0x03,0x07,0x0E,0x1C,0x38,0x70,0xE0,0xC0,0x80,0x00,0x00,0x00, // / (forward slash) 0x00,0x00,0x3E,0x63,0x63,0x63,0x67,0x6B,0x73,0x63,0x63,0x3E,0x00,0x00,0x00, // 0 0x30 0x00,0x00,0x0C,0x1C,0x3C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x3F,0x00,0x00,0x00, // 1 0x00,0x00,0x3E,0x63,0x03,0x06,0x0C,0x18,0x30,0x61,0x63,0x7F,0x00,0x00,0x00, // 2 0x00,0x00,0x3E,0x63,0x03,0x03,0x1E,0x03,0x03,0x03,0x63,0x3E,0x00,0x00,0x00, // 3 0x00,0x00,0x06,0x0E,0x1E,0x36,0x66,0x66,0x7F,0x06,0x06,0x0F,0x00,0x00,0x00, // 4 0x00,0x00,0x7F,0x60,0x60,0x60,0x7E,0x03,0x03,0x63,0x73,0x3E,0x00,0x00,0x00, // 5 0x00,0x00,0x1C,0x30,0x60,0x60,0x7E,0x63,0x63,0x63,0x63,0x3E,0x00,0x00,0x00, // 6 0x00,0x00,0x7F,0x63,0x03,0x06,0x06,0x0C,0x0C,0x18,0x18,0x18,0x00,0x00,0x00, // 7 0x00,0x00,0x3E,0x63,0x63,0x63,0x3E,0x63,0x63,0x63,0x63,0x3E,0x00,0x00,0x00, // 8 0x00,0x00,0x3E,0x63,0x63,0x63,0x63,0x3F,0x03,0x03,0x06,0x3C,0x00,0x00,0x00, // 9 0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00, // : 0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x18,0x18,0x18,0x30,0x00, // ; 0x00,0x00,0x00,0x06,0x0C,0x18,0x30,0x60,0x30,0x18,0x0C,0x06,0x00,0x00,0x00, // < 0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x7E,0x00,0x00,0x00,0x00,0x00, // = 0x00,0x00,0x00,0x60,0x30,0x18,0x0C,0x06,0x0C,0x18,0x30,0x60,0x00,0x00,0x00, // > 0x00,0x00,0x3E,0x63,0x63,0x06,0x0C,0x0C,0x0C,0x00,0x0C,0x0C,0x00,0x00,0x00, // ? 0x00,0x00,0x3E,0x63,0x63,0x6F,0x6B,0x6B,0x6E,0x60,0x60,0x3E,0x00,0x00,0x00, // @ 0x40 0x00,0x00,0x08,0x1C,0x36,0x63,0x63,0x63,0x7F,0x63,0x63,0x63,0x00,0x00,0x00, // A 0x00,0x00,0x7E,0x33,0x33,0x33,0x3E,0x33,0x33,0x33,0x33,0x7E,0x00,0x00,0x00, // B 0x00,0x00,0x1E,0x33,0x61,0x60,0x60,0x60,0x60,0x61,0x33,0x1E,0x00,0x00,0x00, // C 0x00,0x00,0x7C,0x36,0x33,0x33,0x33,0x33,0x33,0x33,0x36,0x7C,0x00,0x00,0x00, // D 0x00,0x00,0x7F,0x33,0x31,0x34,0x3C,0x34,0x30,0x31,0x33,0x7F,0x00,0x00,0x00, // E 0x00,0x00,0x7F,0x33,0x31,0x34,0x3C,0x34,0x30,0x30,0x30,0x78,0x00,0x00,0x00, // F 0x00,0x00,0x1E,0x33,0x61,0x60,0x60,0x6F,0x63,0x63,0x37,0x1D,0x00,0x00,0x00, // G 0x00,0x00,0x63,0x63,0x63,0x63,0x7F,0x63,0x63,0x63,0x63,0x63,0x00,0x00,0x00, // H 0x00,0x00,0x3C,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00, // I 0x00,0x00,0x0F,0x06,0x06,0x06,0x06,0x06,0x06,0x66,0x66,0x3C,0x00,0x00,0x00, // J 0x00,0x00,0x73,0x33,0x36,0x36,0x3C,0x36,0x36,0x33,0x33,0x73,0x00,0x00,0x00, // K 0x00,0x00,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x33,0x7F,0x00,0x00,0x00, // L 0x00,0x00,0x63,0x77,0x7F,0x6B,0x63,0x63,0x63,0x63,0x63,0x63,0x00,0x00,0x00, // M 0x00,0x00,0x63,0x63,0x73,0x7B,0x7F,0x6F,0x67,0x63,0x63,0x63,0x00,0x00,0x00, // N 0x00,0x00,0x1C,0x36,0x63,0x63,0x63,0x63,0x63,0x63,0x36,0x1C,0x00,0x00,0x00, // O 0x00,0x00,0x7E,0x33,0x33,0x33,0x3E,0x30,0x30,0x30,0x30,0x78,0x00,0x00,0x00, // P 0x50 0x00,0x00,0x3E,0x63,0x63,0x63,0x63,0x63,0x63,0x6B,0x6F,0x3E,0x06,0x07,0x00, // Q 0x00,0x00,0x7E,0x33,0x33,0x33,0x3E,0x36,0x36,0x33,0x33,0x73,0x00,0x00,0x00, // R 0x00,0x00,0x3E,0x63,0x63,0x30,0x1C,0x06,0x03,0x63,0x63,0x3E,0x00,0x00,0x00, // S 0x00,0x00,0xFF,0xDB,0x99,0x18,0x18,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00, // T 0x00,0x00,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x3E,0x00,0x00,0x00, // U 0x00,0x00,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x36,0x1C,0x08,0x00,0x00,0x00, // V 0x00,0x00,0x63,0x63,0x63,0x63,0x63,0x6B,0x6B,0x7F,0x36,0x36,0x00,0x00,0x00, // W 0x00,0x00,0xC3,0xC3,0x66,0x3C,0x18,0x18,0x3C,0x66,0xC3,0xC3,0x00,0x00,0x00, // X 0x00,0x00,0xC3,0xC3,0xC3,0x66,0x3C,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00, // Y 0x00,0x00,0x7F,0x63,0x43,0x06,0x0C,0x18,0x30,0x61,0x63,0x7F,0x00,0x00,0x00, // Z 0x00,0x00,0x3C,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x3C,0x00,0x00,0x00, // [ 0x00,0x00,0x80,0xC0,0xE0,0x70,0x38,0x1C,0x0E,0x07,0x03,0x01,0x00,0x00,0x00, // \ (back slash) 0x00,0x00,0x3C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x3C,0x00,0x00,0x00, // ] 0x08,0x1C,0x36,0x63,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ^ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00, // _ 0x18,0x18,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ` 0x60 0x00,0x00,0x00,0x00,0x00,0x3C,0x46,0x06,0x3E,0x66,0x66,0x3B,0x00,0x00,0x00, // a 0x00,0x00,0x70,0x30,0x30,0x3C,0x36,0x33,0x33,0x33,0x33,0x6E,0x00,0x00,0x00, // b 0x00,0x00,0x00,0x00,0x00,0x3E,0x63,0x60,0x60,0x60,0x63,0x3E,0x00,0x00,0x00, // c 0x00,0x00,0x0E,0x06,0x06,0x1E,0x36,0x66,0x66,0x66,0x66,0x3B,0x00,0x00,0x00, // d 0x00,0x00,0x00,0x00,0x00,0x3E,0x63,0x63,0x7E,0x60,0x63,0x3E,0x00,0x00,0x00, // e 0x00,0x00,0x1C,0x36,0x32,0x30,0x7C,0x30,0x30,0x30,0x30,0x78,0x00,0x00,0x00, // f 0x00,0x00,0x00,0x00,0x00,0x3B,0x66,0x66,0x66,0x66,0x3E,0x06,0x66,0x3C,0x00, // g 0x00,0x00,0x70,0x30,0x30,0x36,0x3B,0x33,0x33,0x33,0x33,0x73,0x00,0x00,0x00, // h 0x00,0x00,0x0C,0x0C,0x00,0x1C,0x0C,0x0C,0x0C,0x0C,0x0C,0x1E,0x00,0x00,0x00, // i 0x00,0x00,0x06,0x06,0x00,0x0E,0x06,0x06,0x06,0x06,0x06,0x66,0x66,0x3C,0x00, // j 0x00,0x00,0x70,0x30,0x30,0x33,0x33,0x36,0x3C,0x36,0x33,0x73,0x00,0x00,0x00, // k 0x00,0x00,0x1C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x1E,0x00,0x00,0x00, // l 0x00,0x00,0x00,0x00,0x00,0x6E,0x7F,0x6B,0x6B,0x6B,0x6B,0x6B,0x00,0x00,0x00, // m 0x00,0x00,0x00,0x00,0x00,0x6E,0x33,0x33,0x33,0x33,0x33,0x33,0x00,0x00,0x00, // n 0x00,0x00,0x00,0x00,0x00,0x3E,0x63,0x63,0x63,0x63,0x63,0x3E,0x00,0x00,0x00, // o 0x00,0x00,0x00,0x00,0x00,0x6E,0x33,0x33,0x33,0x33,0x3E,0x30,0x30,0x78,0x00, // p 0x70 0x00,0x00,0x00,0x00,0x00,0x3B,0x66,0x66,0x66,0x66,0x3E,0x06,0x06,0x0F,0x00, // q 0x00,0x00,0x00,0x00,0x00,0x6E,0x3B,0x33,0x30,0x30,0x30,0x78,0x00,0x00,0x00, // r 0x00,0x00,0x00,0x00,0x00,0x3E,0x63,0x38,0x0E,0x03,0x63,0x3E,0x00,0x00,0x00, // s 0x00,0x00,0x08,0x18,0x18,0x7E,0x18,0x18,0x18,0x18,0x1B,0x0E,0x00,0x00,0x00, // t 0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x3B,0x00,0x00,0x00, // u 0x00,0x00,0x00,0x00,0x00,0x63,0x63,0x36,0x36,0x1C,0x1C,0x08,0x00,0x00,0x00, // v 0x00,0x00,0x00,0x00,0x00,0x63,0x63,0x63,0x6B,0x6B,0x7F,0x36,0x00,0x00,0x00, // w 0x00,0x00,0x00,0x00,0x00,0x63,0x36,0x1C,0x1C,0x1C,0x36,0x63,0x00,0x00,0x00, // x 0x00,0x00,0x00,0x00,0x00,0x63,0x63,0x63,0x63,0x63,0x3F,0x03,0x06,0x3C,0x00, // y 0x00,0x00,0x00,0x00,0x00,0x7F,0x66,0x0C,0x18,0x30,0x63,0x7F,0x00,0x00,0x00, // z 0x00,0x00,0x0E,0x18,0x18,0x18,0x70,0x18,0x18,0x18,0x18,0x0E,0x00,0x00,0x00, // { 0x00,0x00,0x18,0x18,0x18,0x18,0x18,0x00,0x18,0x18,0x18,0x18,0x18,0x00,0x00, // | 0x00,0x00,0x70,0x18,0x18,0x18,0x0E,0x18,0x18,0x18,0x18,0x70,0x00,0x00,0x00, // } 0x00,0x00,0x3B,0x6E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ~ 0x00,0x70,0xD8,0xD8,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }; #define OFS_COL 2 #define OFS_RAW 2 #define MAX_Y 128 #define MAX_X 160 #define CMD 0 #define DAT 1 /* SPFD54124 Инструкции (см даташит)*/ #define NO_OP (0x00) #define SWRESET (0x01) #define SLPOUT (0x11) #define NORON (0x13) #define INVOFF (0x20) #define DISPON (0x29) #define CASET (0x2A) #define RASET (0x2B) #define RAMWR (0x2C) #define MADCTL (0x36) #define IDMOFF (0x38) #define COLMOD (0x3A) /* Формирование цвета */ #define RGB(r,g,b) (unsigned long)((r >> 3) |((g >> 2) << 5) |((b >> 3) << 11)) /* Основные цвета */ #define COL_BLACK RGB(0,0,0) #define COL_WHITE RGB(255,255,255) #define COL_RED RGB(255,0,0) #define COL_BLUE RGB(0,0,255) #define COL_GREEN RGB(0,255,0) #define COL_YELLOW RGB(255,255,0) #define COL_MAGENTA RGB(255,0,255) #define COL_AQUA RGB(0,255,255) #define COL_PURPLE RGB(160,32,240) #define COL_REDPINK RGB(255,50,50) #define COL_ORANGE RGB(255,165,0) // управление ногами rst,cs,sda,clk #define RST PIN_C0 #define CS PIN_C1 #define SDA PIN_C7 #define CLK PIN_C6 /*Хардварный ресет драйвера*/ void lcd_reset() { output_high(RST); output_high(CS); output_high(CLK); delay_ms(1); output_low(RST); output_low(CS); delay_ms(20); output_high(RST); delay_ms(20); } /*Запись 8bit*/ void lcd_SendByte(char mode,unsigned char c) { output_low(CS); output_low(CLK); if (mode) output_high(SDA); else output_low(SDA); output_high(CLK); unsigned char i; for(i=0;i<8;i++) { output_low(CLK); if (c & 0x80) output_high(SDA); else output_low(SDA); output_high(CLK); c <<= 1; } output_high(CS); } /*Запись 16bit*/ void lcd_wr_gram(unsigned long gram) { lcd_SendByte(DAT,(char)(gram>>8)); lcd_SendByte(DAT,(char)gram); } /*Видео окно*/ void lcd_win(unsigned long x, unsigned long y, unsigned long x1, unsigned long y1) { /* Set CAS Address */ lcd_SendByte(CMD,CASET); lcd_wr_gram(OFS_COL + x); lcd_wr_gram(OFS_COL + x1); /* Set RAS Address */ lcd_SendByte(CMD,RASET); lcd_wr_gram(OFS_RAW + y); lcd_wr_gram(OFS_RAW + y1); /* Write RAM */ lcd_SendByte(CMD,RAMWR); } /*Заливка GRAM*/ void lcd_fill(unsigned long x, unsigned long y, unsigned long x1, unsigned long y1, unsigned long col) { unsigned long n,h,w; lcd_win(x,y,x1,y1); h = (y1+1)-y; w = (x1+1)-x; n = h * w; do { lcd_wr_gram(col); } while (--n); } /*Инициализация*/ void lcd_init() { lcd_reset(); lcd_SendByte(CMD,SWRESET); delay_ms(120); lcd_SendByte(CMD,SLPOUT); lcd_SendByte(CMD,COLMOD); lcd_SendByte(DAT,0x05); lcd_SendByte(CMD,MADCTL); lcd_SendByte(DAT,0xa8); lcd_SendByte(CMD,DISPON); } #define CHAR_W 8 #define CHAR_H 15 void put_char(unsigned long x, unsigned long y, char c, unsigned long color, unsigned long bgcolor) { unsigned char h,ch,p,mask; lcd_win(x,y,x+CHAR_W-1,y+CHAR_H-1); for (h=0; h<CHAR_H; h++) { ch=FONT8x15[ c-32 ][h]; mask = 0x80; for (p=0; p<CHAR_W; p++) { if (ch & mask) { lcd_wr_gram(color); } else { lcd_wr_gram(bgcolor); } mask=mask/2; } } } void put_string(unsigned long x, unsigned long y, char *str, unsigned long color,unsigned long bgcolor) { unsigned char j; j=0; while (j<strlen(str)) { put_char(x+j*CHAR_W,y,str[j], color, bgcolor); j++; } } void put_pixel(unsigned long x, unsigned long y, unsigned long color) { lcd_win(x,y,x+1,y+1); lcd_wr_gram(color); } void put_circle(unsigned long xcenter, unsigned long ycenter, long rad, unsigned long color) { signed int tswitch,y1,x1 = 0; signed char d; xcenter = 0 + xcenter; d = ycenter - xcenter; y1 = rad; tswitch = 3 - 2 * rad; while (x1 <= y1) { put_pixel(xcenter + x1, ycenter + y1, color); put_pixel(xcenter + x1, ycenter - y1, color); put_pixel(xcenter - x1, ycenter + y1, color); put_pixel(xcenter - x1, ycenter - y1, color); put_pixel(ycenter + y1 - d, ycenter + x1, color); put_pixel(ycenter + y1 - d, ycenter - x1, color); put_pixel(ycenter - y1 - d, ycenter + x1, color); put_pixel(ycenter - y1 - d, ycenter - x1, color); if (tswitch < 0) tswitch += (4 * x1 + 6); else { tswitch += (4 * (x1 - y1) + 10); y1--; } x1++; } //CS=1; } const char string[]= "NOKIA 2660 LCD DEMO"; const char string1[]=" PIC18F252 "; void main( void ) { lcd_init(); lcd_fill(0,0,159,127 ,COL_BLUE ); put_circle(20,20,10,COL_WHITE); put_string(4,50,string,COL_GREEN,COL_BLUE); put_string(4,65,string1,COL_YELLOW,COL_BLUE); while(true) { } }
_________________ Девице - Device
Вернуться наверх
ChipKiller
Заголовок сообщения: Re: База дисплеев мобильных устройств
Добавлено: Ср май 08, 2013 11:53:29
Сверлит текстолит когтями
Карма: 4
Рейтинг сообщений: 30
Зарегистрирован: Ср янв 05, 2011 16:25:15Сообщений: 1163
Рейтинг сообщения: 0
maxlab писал(а):
Здравствуйте! Не устроила меня скорость заливки на STM8.
... ну так почему не использовать аппаратный SPI? ... или не понял из-за чего "тормозит" заливка....
Вернуться наверх
maxlab
Заголовок сообщения: Re: База дисплеев мобильных устройств
Добавлено: Ср май 08, 2013 13:27:42
Мучитель микросхем
Карма: 4
Рейтинг сообщений: 40
Зарегистрирован: Вт апр 23, 2013 22:21:18Сообщений: 423Откуда: KUBAN, Krasnodar
Рейтинг сообщения: 0
ChipKiller писал(а):
maxlab писал(а):
Здравствуйте! Не устроила меня скорость заливки на STM8.
... ну так почему не использовать аппаратный SPI? ... или не понял из-за чего "тормозит" заливка....
Ну, во первых, 9bit интерфейс. Поэтому программная эмуляция. А если и есть такой spi аппаратный, то все равно 8mbit в секунду. Это мало. В сотовых используют АРМ с тактовой от 160 мгц. Там проблем со скоростью по последовательной шине нет. Любой сервис мануал открой, сам увидишь. В нашем случае только камень высокоскоростной и подешевле искать остается. На днях попробую pic18f14k22. Там ядро 64мгц тактируется и в дип корпусе найти можно.
_________________ Девице - Device
Вернуться наверх
ChipKiller
Заголовок сообщения: Re: База дисплеев мобильных устройств
Добавлено: Ср май 08, 2013 13:44:30
Сверлит текстолит когтями
Карма: 4
Рейтинг сообщений: 30
Зарегистрирован: Ср янв 05, 2011 16:25:15Сообщений: 1163
Рейтинг сообщения: 0
maxlab писал(а):
то все равно 8mbit в секунду. Это мало. В сотовых используют АРМ с тактовой от 160 мгц.
.. понятно, что чем больше, тем лучше. Просто программный SPI на stm8 будет поменьше 1mbit. После праздников попробую к stm32 подключить, только наверное Nokia1616 возьму - не охота со шлейфом ковыряться....
Вернуться наверх
ua1arn
Заголовок сообщения: Re: База дисплеев мобильных устройств
Добавлено: Ср май 08, 2013 14:06:13
Встал на лапы
Карма: 4
Рейтинг сообщений: 6
Зарегистрирован: Вт май 08, 2012 23:15:45Сообщений: 81Откуда: Санкт - Петербург
Рейтинг сообщения: 0
Вернуться наверх
maxlab
Заголовок сообщения: Re: База дисплеев мобильных устройств
Добавлено: Пн май 13, 2013 10:44:20
Мучитель микросхем
Карма: 4
Рейтинг сообщений: 40
Зарегистрирован: Вт апр 23, 2013 22:21:18Сообщений: 423Откуда: KUBAN, Krasnodar
Рейтинг сообщения: 0
Здравствуйте! Тут дисплейчик подгнали от раскладушки NOKIA 6131 и есть идея заюзать его по взрослому. Но что бы это сделать, нужен нормальный адаптер с реверсом шины данных и согласованием питания. Набросал схемку в DipTrace и предлагаю ее на обсуждение общественности. Я сам в схемотехнике не очень силен и прошу помощь зала
Используемые компоненты, что можно достать в нашей деревне :
- ZXLD1937ET5TA - драйвер светодиодной подсветки в типовом включении, даташит в интернете есть.
- 74LVC1G126DBV - 2 буфера-преобразователя для сигналов TE и TE_SUB
- 74VHC541MTR - 3 шинных формирователя с Z состоянием.
на pic17f877a внимание можно не обращать, его на плате адаптера не будет.
В профи -
http://shop.siriust.ru/product_info.php ... ts_id/7004
Вложения:
Комментарий к файлу: Схема в DipTrace
n6131adapter.zip [9.58 KiB]
Скачиваний: 506
_________________ Девице - Device
Вернуться наверх
ua1arn
Заголовок сообщения: Re: База дисплеев мобильных устройств
Добавлено: Пн май 13, 2013 18:24:52
Встал на лапы
Карма: 4
Рейтинг сообщений: 6
Зарегистрирован: Вт май 08, 2012 23:15:45Сообщений: 81Откуда: Санкт - Петербург
Рейтинг сообщения: 0
Вернуться наверх
proga-ks
Заголовок сообщения: Re: База дисплеев мобильных устройств
Добавлено: Ср май 22, 2013 09:24:57
Родился
Зарегистрирован: Сб мар 27, 2010 19:31:12Сообщений: 9
Рейтинг сообщения: 2
Хочу поделиться и тут может кому пригодится
модель для Simens s65 lph8836
в которой реализованы только основные функции вывода
но для отладки устройства думаю достаточно
Вернуться наверх
Chettuser
Заголовок сообщения: Re: База дисплеев мобильных устройств
Добавлено: Вт май 28, 2013 18:15:07
Вернуться наверх
Страница 3 из 13
[ Сообщений: 252 ]
, , , , , ...
Кто сейчас на форуме
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения