Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить

Re: База дисплеев мобильных устройств

Чт мар 21, 2013 10:37:41

Atmega8 писал(а):ILI9320_AVR - при компиляции много ошибок... :facepalm:


Автор - я. Точнее сделал по мотивам из каких-то узкоглазых примеров :)) .

Каких конкретно ошибок? Вы случайно не в атмел студии компилите?
Я писал его под CvAVR.

Re: База дисплеев мобильных устройств

Вт мар 26, 2013 13:09:57

Такой вопрос:
Никто не сталкивался с TFT дисплеями на контроллере HX8353-C ?
Даташит нашел, но так и не могу разобраться с ним. Запустить не удалось.
Может кто подскажет что?

Re: База дисплеев мобильных устройств

Вт мар 26, 2013 14:21:43

HX8352 подойдёт?

Re: База дисплеев мобильных устройств

Чт мар 28, 2013 12:40:24

Добрый день. Может кто-то сталкивался с подобным дисплеем, будет полезна любая информация.
Маркировка на шлейфе TFT8K0594FPC-A2-E, прдположительно- с Nokia N95.
Вложения
DSCN0310.jpg
(254.8 KiB) Скачиваний: 1462

Re: База дисплеев мобильных устройств

Пт мар 29, 2013 19:03:25

-Valerius-
Дайте поиск по инету DSO Nano (открытый проект осциллографа на STM32). Открыто доступны схемы и исходники текста программ.
Это дисплей из серии China TFT на ILI93хx.

Re: База дисплеев мобильных устройств

Пн апр 01, 2013 19:28:36

Спасибо, обязательно посмотрю, тут подсказывают с вертепа -что контроллер ILI1289

Re: База дисплеев мобильных устройств

Ср апр 24, 2013 08:20:03

Здравствуйте! Мучаю дисплей 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) Скачиваний: 1363
P1012132.JPG
Тыльная сторона
(43.7 KiB) Скачиваний: 1286
P1012130.JPG
Лицо
(36.29 KiB) Скачиваний: 1215
n2660adapter.lay
Адаптер
(40.35 KiB) Скачиваний: 893

Re: База дисплеев мобильных устройств

Ср май 01, 2013 19:01:38

Здесь есть полезности для дисплеев с таким же разъемом http://phreakerclub.com/464

Re: База дисплеев мобильных устройств

Пн май 06, 2013 20:07:10

Здравствуйте! Не устроила меня скорость заливки на STM8. Переделал макет на PIC18F252. Ничего более высокоскоростного под рукой не оказалось, а специально покупать MX4-MX7 или Cortex жаба давит. При внутреннем умножении тактовой частоты на 4 - получилось более или менее шустрее. Изменил ориентацию дисплея. Заливает сверху вниз.
Код для CCS PICC


PS. От китайских товарищей узнал что это - http://shop.siriust.ru/product_info.php ... s_id/16419 идет с таким же контроллером как и 2660. Шлейф паябельный и без разъема.
Вложения
ourdev_682882XOH8J9.jpg
Распиновка
(113.31 KiB) Скачиваний: 1220
P1012134.JPG
Макет на pic18
(74.79 KiB) Скачиваний: 849
Последний раз редактировалось maxlab Вт май 07, 2013 15:11:07, всего редактировалось 3 раз(а).

Re: База дисплеев мобильных устройств

Пн май 06, 2013 20:36:30

Народ, не в службу, а в дружбу - сворачивайте код под спойлер. Такие простыни листать неудобно уже. Спасибо.

Re: База дисплеев мобильных устройств

Вт май 07, 2013 23:52:45

Доброго времени суток.Никто из котов не сталкивался с этим шайтан-девайсом - китайским fm-модулятором?
В нем неплохой LCD-дисплей с подсветкой,хочется прикрутить его к самопальному дозиметру на МК,случайно никто
не знает его рапиновку/марку/даташит? Дисплей 12-ти пиновый.
Вложения
mod2.JPG
(43.06 KiB) Скачиваний: 1029
mod.JPG
(37.96 KiB) Скачиваний: 1235

Re: База дисплеев мобильных устройств

Ср май 08, 2013 10:19:39

Дисплей Nokia 2660 побежден!
Код для ccs picc
Вложения
2013-05-08 11.11.50.jpg
It work :)
(93.92 KiB) Скачиваний: 1456

Re: База дисплеев мобильных устройств

Ср май 08, 2013 11:53:29

maxlab писал(а):Здравствуйте! Не устроила меня скорость заливки на STM8.
... ну так почему не использовать аппаратный SPI? ... или не понял из-за чего "тормозит" заливка....

Re: База дисплеев мобильных устройств

Ср май 08, 2013 13:27:42

ChipKiller писал(а):
maxlab писал(а):Здравствуйте! Не устроила меня скорость заливки на STM8.
... ну так почему не использовать аппаратный SPI? ... или не понял из-за чего "тормозит" заливка....


Ну, во первых, 9bit интерфейс. Поэтому программная эмуляция. А если и есть такой spi аппаратный, то все равно 8mbit в секунду. Это мало. В сотовых используют АРМ с тактовой от 160 мгц. Там проблем со скоростью по последовательной шине нет. Любой сервис мануал открой, сам увидишь. В нашем случае только камень высокоскоростной и подешевле искать остается. На днях попробую pic18f14k22. Там ядро 64мгц тактируется и в дип корпусе найти можно.

Re: База дисплеев мобильных устройств

Ср май 08, 2013 13:44:30

maxlab писал(а):то все равно 8mbit в секунду. Это мало. В сотовых используют АРМ с тактовой от 160 мгц.
.. понятно, что чем больше, тем лучше. Просто программный SPI на stm8 будет поменьше 1mbit. После праздников попробую к stm32 подключить, только наверное Nokia1616 возьму - не охота со шлейфом ковыряться....

Re: База дисплеев мобильных устройств

Ср май 08, 2013 14:06:13

Включил в свой проект http://subversion.assembla.com/svn/hfreciever/trunk/ поддержку контроллера ST7565S на 8-бит SPI - ещё не проверял. Есть в наличии индикатор WO12864C2-TFH# 128*64 (34-х контактный PFC с шагом 0.5 мм) - пока не припаял. У кого есть макет?

Re: База дисплеев мобильных устройств

Пн май 13, 2013 10:44:20

Здравствуйте! Тут дисплейчик подгнали от раскладушки NOKIA 6131 и есть идея заюзать его по взрослому. Но что бы это сделать, нужен нормальный адаптер с реверсом шины данных и согласованием питания. Набросал схемку в DipTrace и предлагаю ее на обсуждение общественности. Я сам в схемотехнике не очень силен и прошу помощь зала :) Используемые компоненты, что можно достать в нашей деревне :
- ZXLD1937ET5TA - драйвер светодиодной подсветки в типовом включении, даташит в интернете есть.
- 74LVC1G126DBV - 2 буфера-преобразователя для сигналов TE и TE_SUB
- 74VHC541MTR - 3 шинных формирователя с Z состоянием.

на pic17f877a внимание можно не обращать, его на плате адаптера не будет.

В профи - http://shop.siriust.ru/product_info.php ... ts_id/7004
Вложения
n6131adapter.zip
Схема в DipTrace
(9.58 KiB) Скачиваний: 471

Re: База дисплеев мобильных устройств

Пн май 13, 2013 18:24:52

Включил в свой проект http://subversion.assembla.com/svn/hfreciever/trunk/ поддержку дисплея LPH9157-2 176*132 на контроллере _похожем_ на ILITEK ILI9163. Дисплей на зелёном текстолите.

Re: База дисплеев мобильных устройств

Ср май 22, 2013 09:24:57

Хочу поделиться и тут может кому пригодится
модель для Simens s65 lph8836
в которой реализованы только основные функции вывода
но для отладки устройства думаю достаточно
Изображение
Вложения
Siemens model Proteus.rar
(50.21 KiB) Скачиваний: 676
lph8836.JPG
(84.33 KiB) Скачиваний: 1290

Re: База дисплеев мобильных устройств

Вт май 28, 2013 18:15:07

Я тут надыбал ссылку, может кому интересно будет...
http://nicegorov.narod.ru/links/using-lcd.html
Ответить