Ответ: Можно сделать довольно просто
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено AndyДюх 17 января 2003 г. 08:37
В ответ на: Вопрос по юзерскому интерфейсу, как это могло бы быть отправлено EV 16 января 2003 г. 22:10

Организовать цикл работы программы с постоянным периодом (например у меня 1мс). В озу организовать видео буфер и от туда _постоянно_ записывать по одному символу. Индикатор настроить на автоматический перевод на следующий символ. Учесть непоследовательность расположения символов в LCD. Символы можно выводить последовательно перескакивая в видеобуфере на текущий сивол в LCD.
Флагом обновления может являться например вывод нулевого (в смысле самого перевого символа) Флаги режимов - на твое усмотрение
Работаю с AC204 - 4 строки по 20 символов. Отображаю часы, текущую информацию, меню, настройка часов, просмотр журнала и другие мелочи.
Пример вывода 1 символа


//áëîê âûâîäà íà ýêðàí
char PrintSymbolToLCD(char IndexDisplay)
{
if (IndexDisplay!=80)
{
if (IndexDisplay!=81)
{//ïðîâåðêè îòâå÷àþùèå ïðàâèëüíîìó îòîáðàæåíèþ Display
//0-19
//40-59
//20-39
//60-79
if (IndexDisplay==20) {IndexDisplay=40;}
else if (IndexDisplay==60) {IndexDisplay=20;}
else if (IndexDisplay==40) {IndexDisplay=60;};

WriteData(Display[IndexDisplay]);
IndexDisplay++;
}
else {IndexDisplay=0;/*CountPageDisplay++;*/ };
} else {
WriteControl(2);
IndexDisplay++;
};
return (IndexDisplay);
}

WriteData - вывод данных
WriteControl - запись команды управления (перевод в начало)
удачи

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru