Уффф...
имеем индикатор 8 позиций по 8 точек;
имеем буфер отображения из 8 байт;
сооружаем схемку, обеспечивающую физический вывод данных из буфера отображения в индикатор;
пишем программку, обеспечивающую обслуживание схемки.
запускаем сей девайс в режиме непрерывной регенерации дисплея как подпрограммки, работающей по маркеру от таймера.
итого экран готов.
Теперь займемся собственно самим изображением.
Для отсутствия некорректных проблесков смену содержимого буфера отображения необходимо обеспечить в конце цикла развертки дисплея (флажковый семафор готовности/подтверждения ибо прцесс регенерации и подготовки данных асинхронны).
Собственно подготовкой новых данных занимается основная программа. Когда данные в буфере предподготовки готовы выставляется флаг и основная программа приостанавливается (а может и без такового) до обнаружения статуса "данные перенесены".
Прожка обработки дисплея узрев флажок готовности новой порции для отображения всего лишь копирует содержимое из буфера предподготовки в буфер отображения и затем сбрасывает флаг запроса. Далее все крутится само-по-себе до готовности новой порции данных.
Побочным продуктом развертки при динамической индикации является обработчик клавиатуры, встраиваемый в подпрограмму регенерации.
А далее делаем деталировку каждого процесса...
