Автор Тема: ST7920 <-> KS0107  (Прочитано 162 раз)

0 Пользователей и 1 Гость просматривают эту тему.

slav0n

  • Администратор
  • .
  • *****
  • Сообщений: 5012
  • Карма: +0/-0
ST7920 <-> KS0107
« : 16 Май 2019, 17:17:00 »
У этих дисплеев совершенно разная организация видеопамяти. Кто-бы мне объяснил почему так?
Но я легко программно отвязался от типа контроллера дисплея, что и применил в прошивках примуса.
Если интересно могу расписать принцип.
while(1||!1);
зберігай спокій

slav0n

  • Администратор
  • .
  • *****
  • Сообщений: 5012
  • Карма: +0/-0
Re: ST7920 <-> KS0107
« Ответ #1 : 28 Июнь 2019, 19:33:05 »
кстати, для параллельного подключения дисплея ST7920 к микроконтроллеру достаточно 10 портов.
А физически вообще все красиво:
« Последнее редактирование: 28 Июнь 2019, 19:35:38 от slav0n »
while(1||!1);
зберігай спокій

vpalamar

  • Глобальный модератор
  • .
  • *****
  • Сообщений: 84
  • Карма: +0/-0
Re: ST7920 <-> KS0107
« Ответ #2 : 07 Ноябрь 2019, 08:58:24 »
Если интересно могу расписать принцип.
Вячеслав, если не сильно затруднит, распиши. Мне очень интересны твои идеи. 

slav0n

  • Администратор
  • .
  • *****
  • Сообщений: 5012
  • Карма: +0/-0
Re: ST7920 <-> KS0107
« Ответ #3 : 07 Ноябрь 2019, 14:50:46 »
Ну, это не столько идея, а просто как способ применения уже написанного кода вывода информации на дисплеи с различной организацией графической RAM.
Для этого потребуются дополнительные ресурсы. Основное - это буфер кадра в ОЗУ микроконтроллера, в битах равный количеству пикселей дисплея.
Чуть позже продолжим...
while(1||!1);
зберігай спокій

slav0n

  • Администратор
  • .
  • *****
  • Сообщений: 5012
  • Карма: +0/-0
Re: ST7920 <-> KS0107
« Ответ #4 : 07 Ноябрь 2019, 16:02:41 »
Практически все графические дисплеи имеют собственный встроенный буфер кадра, т.н Graphic Display Data RAM (GDDRAM). Каждый бит этого буфера соответствует одному пикселю. Соответствие определяется адресацией памяти. В начале широкого распространения графических ЖКИ (KS0108, N1202) установилась достаточно простая и понятная  адресация строк и столбцов. Адресация побайтовая. Байт занимает восемь пикселей по вертикали, его адрес соответствует столбцу. Наглядно с ней можно ознакомиться при помощи замечательной программы KS0108.
Продолжение следует...
while(1||!1);
зберігай спокій

vpalamar

  • Глобальный модератор
  • .
  • *****
  • Сообщений: 84
  • Карма: +0/-0
Re: ST7920 <-> KS0107
« Ответ #5 : 07 Ноябрь 2019, 16:07:41 »
То есть, простыми словами, вместо видеопамяти используем ОЗУ микроконтроллера ?
Все операции с графикой делаем в ОЗУ и сливаем в дисплей, без разницы какая там видеопамять?

slav0n

  • Администратор
  • .
  • *****
  • Сообщений: 5012
  • Карма: +0/-0
Re: ST7920 <-> KS0107
« Ответ #6 : 07 Ноябрь 2019, 16:15:07 »
да, именно так. Только во время слива инфы в дисплей, делаем конвертацию в понятную ему форму.
while(1||!1);
зберігай спокій

vpalamar

  • Глобальный модератор
  • .
  • *****
  • Сообщений: 84
  • Карма: +0/-0
Re: ST7920 <-> KS0107
« Ответ #7 : 07 Ноябрь 2019, 16:26:05 »
В принципе понятно. Спасибо за разъяснение. А программка хорошая.