1. Давай переносить обсуждение в профильную тему по пульту (меня, правда, коробит от дикой помеси языков и количества ошибок у sashamelja).
2. По экрану. Смотрите. LCD-монохром 64*128 (их у китайцев навалом, на контроллере ST7920) требует килобайт видеобуффера в ОЗУ. Вывод инфы на него по параллельному 8битному интерфейсу несколько более быстр, нежели по СПИ, хотя там есть тайминги самого контроллера. Но они прекрасно алгоритмизируются и весь вывод укладывается в обработчик таймера. Т.е. таймер молотит каждые 70-75 мкс и льет данные в дисплей из буфера.
Ежели хочется бОльшего - ТФТ, особенно, если с тачем - сильно не рекомендую СПИ.
СПИ в мегах работает на максимальной частоте - 1/2 от тактовой. Для отправки 16-битного пикселя - т.е. 2 байт - нужно
минимум 32 такта камня - и это не считая того, что СПИ 8-битный и нужно ждать , пока уйдет первое слово, что бы загрузить и отправить второе. Делать машину состояний на прерывание по готовности СПИ - на этих скоростях могут быть большие накладные расходы на вход/выход из прерывания и сохранение регистров.
Учитывая то, что у вас мега 128 - два свободных порта под параллельный интерфейс дисплея можно найти. тогда два байта отправляются за:
1. выставить первый байт в порт 1
2. выставить второй байт в порт 2
3. поднять строб записи
4. положить строб записи.
Вот как то так.
Т.е. 4 такта против 32 - и без ожиданий.
И плюс если дисплей с тачем, то тач тоже сидит на СПИ. Причем, если сам контроллер дисплея реально скоростной, то тач на частотах СПИ выше 500 кГц начинает безбожно врать. Т.е. делить СПИ между дисплеем и тачем - вещь неблагодарная.
--------
Соответственно, в теме про пульт рисуйте ТЗ дисплейного модуля - какой желателен дисплей (интерфейс/контроллер/разрешение, наличие тача) - и будем думать. Я могу из проекта часов надергать библиотеки и описать, как их применять.
И сильно продумывайте протоколы общения между основным блоком и дисплеем. (как вариант
физического протокола - я бы попробовал предложить UART - но нужно кварцевать как мастера, так и слейва. Но есть плюс - отладку можно вести из терминала на ПК).
Логический уровень - зависит от ваших потребностей.
Ну и опять же - собирать программу когнтроллера дисплея нужно блоками - физика дисплея - один уровень, логика дисплея - второй уровень, графические примитивы - третий уровень, вывод данных по командам мастера - четвертый уровень. Причем прогу писать надо так же, как организована мафия в Японии - уровень не знает никого, кроме соседних уровней.
--------
ЗЫ. Половина контроллеров ТФТ дисплеев хоть и толерантна к 5 вольтам, но линии данных у них исключительно 3.3 вольта.
можно для увеличения скорости отрисовки тактовать дисплейную мегу от кварца 20-22 МГц, но придется питать контроллер 5 вольтами, на 3,3 вольтах 20 МГц могут не взлететь. В этом случае придется на линии данных и управления дисплея вешать резистивные делители.
Добавлено after 8 hours 50 minutes 16 seconds:вот и
статья подоспела