хотелось бы увидеть пример кода на С с коментами или объяснением что к чему помогите пожалуйста...
Бегущая Строка даты и часов мега32 дисплей1601/1602
Добрый вечер друзья помогите реализовать функцию вывода даты и часов бегущей строкой длиной в 14 символов дисплей 1602 микроконтроллер мега32 код нужен для аврстудио поделитесь примерчиком если вывести отдельно дату и время то все четко отображается а вот бегущую строку не могу организовать...
хотелось бы увидеть пример кода на С с коментами или объяснением что к чему помогите пожалуйста...
хотелось бы увидеть пример кода на С с коментами или объяснением что к чему помогите пожалуйста...
- Реклама
Организовать в ОЗУ видеообласть. В нее складывать данные. А выводить на отображение, начиная с i-того элемента.
Docendo discimus
Собственно сам буфер видеопамяти выводится однократно в обычном режиме (у топикстартера вывод уже есть).
А затем, через определенное время сдвигаем данные видеобуфера на 1 шаг (кольцевой сдвиг видеобуфера) и выполняем новый вывод в дисплей. И так по новой.
Но это "решение в лоб"...
У 1602 есть возможность организовать кольцевой сдвиг имеющимися в дисплее командами.
Загружаем данные и затем "проталкиваем" командами контроллера дисплея.
Но там читать даташит на контроллер дисплея надо (если его данные известны).

А затем, через определенное время сдвигаем данные видеобуфера на 1 шаг (кольцевой сдвиг видеобуфера) и выполняем новый вывод в дисплей. И так по новой.
Но это "решение в лоб"...
У 1602 есть возможность организовать кольцевой сдвиг имеющимися в дисплее командами.
Загружаем данные и затем "проталкиваем" командами контроллера дисплея.
Но там читать даташит на контроллер дисплея надо (если его данные известны).
[uquote="BOB51",url="/forum/viewtopic.php?p=3856250#p3856250"]Собственно сам буфер видеопамяти выводится однократно в обычном режиме (у топикстартера вывод уже есть).
А затем, через определенное время сдвигаем данные видеобуфера на 1 шаг (кольцевой сдвиг видеобуфера) и выполняем новый вывод в дисплей. И так по новой.
Но это "решение в лоб"...
У 1602 есть возможность организовать кольцевой сдвиг имеющимися в дисплее командами.
Загружаем данные и затем "проталкиваем" командами контроллера дисплея.
Но там читать даташит на контроллер дисплея надо (если его данные известны).
[/uquote]
Привет так мне нужно сдвигать только верхнюю строку и то только 14 знакомест сначала идет полная дата 14 символов дальше время 10 и всем етем управляет диспетчер RTOS так вот с етих даних сделать бегущую строчку которая сначала отображает 14 символов даты и через некоторое время отображает само время и так по колу когда активна ета заставка так вот мне нужно составить скелетик такой функции можешь набросать а я уже в проекте подставлю переменные и скомпилирую проект и проверю что и как???
А затем, через определенное время сдвигаем данные видеобуфера на 1 шаг (кольцевой сдвиг видеобуфера) и выполняем новый вывод в дисплей. И так по новой.
Но это "решение в лоб"...
У 1602 есть возможность организовать кольцевой сдвиг имеющимися в дисплее командами.
Загружаем данные и затем "проталкиваем" командами контроллера дисплея.
Но там читать даташит на контроллер дисплея надо (если его данные известны).
Привет так мне нужно сдвигать только верхнюю строку и то только 14 знакомест сначала идет полная дата 14 символов дальше время 10 и всем етем управляет диспетчер RTOS так вот с етих даних сделать бегущую строчку которая сначала отображает 14 символов даты и через некоторое время отображает само время и так по колу когда активна ета заставка так вот мне нужно составить скелетик такой функции можешь набросать а я уже в проекте подставлю переменные и скомпилирую проект и проверю что и как???
ROTS ... для домашних часиков...
Готовое только под ассемблером.
Или алгоритм (его, в принципе, выше уже описали).
Как вариант - адуринка, но собственный вывод писать влом - там уже готовый драйвер для LCD подобного типа имеется.
Для самостоятельной работы рекомендую соорудить первичный вывод информации в видеобуфер, а уж из него посылать в дисплей нужные кусочки по тайм-прерываниям.
Или использовать ОЗУ индикатора в полном объёме - но... тогда даташит на конкретный индикатор вычитывать - на вопрос объёма ОЗУ и правил развертки (они бывают отличаются).

Готовое только под ассемблером.
Или алгоритм (его, в принципе, выше уже описали).
Как вариант - адуринка, но собственный вывод писать влом - там уже готовый драйвер для LCD подобного типа имеется.
Для самостоятельной работы рекомендую соорудить первичный вывод информации в видеобуфер, а уж из него посылать в дисплей нужные кусочки по тайм-прерываниям.
Или использовать ОЗУ индикатора в полном объёме - но... тогда даташит на конкретный индикатор вычитывать - на вопрос объёма ОЗУ и правил развертки (они бывают отличаются).
- Реклама
[uquote="BOB51",url="/forum/viewtopic.php?p=3857508#p3857508"]ROTS ... для домашних часиков...
Готовое только под ассемблером.
Или алгоритм (его, в принципе, выше уже описали).
Как вариант - адуринка, но собственный вывод писать влом - там уже готовый драйвер для LCD подобного типа имеется.
Для самостоятельной работы рекомендую соорудить первичный вывод информации в видеобуфер, а уж из него посылать в дисплей нужные кусочки по тайм-прерываниям.
Или использовать ОЗУ индикатора в полном объёме - но... тогда даташит на конкретный индикатор вычитывать - на вопрос объёма ОЗУ и правил развертки (они бывают отличаются).
[/uquote]
Привет RTOS не для домашних часиков то проект управления темброблоком а там в верхней строке хочу сделать бегущую строку в 14 символов с датой и часиками нижняя строка занята двумя показаниями температур и режимом работы муте он офф и прочие функции можешь приблизительно набросать как организовать видео буфер как в него складывать данные и потом их выводить уже на дисплей а то я что то крутил вертел но в упор не идет сам алгоритм построить и все то организовать...
Готовое только под ассемблером.
Или алгоритм (его, в принципе, выше уже описали).
Как вариант - адуринка, но собственный вывод писать влом - там уже готовый драйвер для LCD подобного типа имеется.
Для самостоятельной работы рекомендую соорудить первичный вывод информации в видеобуфер, а уж из него посылать в дисплей нужные кусочки по тайм-прерываниям.
Или использовать ОЗУ индикатора в полном объёме - но... тогда даташит на конкретный индикатор вычитывать - на вопрос объёма ОЗУ и правил развертки (они бывают отличаются).
Привет RTOS не для домашних часиков то проект управления темброблоком а там в верхней строке хочу сделать бегущую строку в 14 символов с датой и часиками нижняя строка занята двумя показаниями температур и режимом работы муте он офф и прочие функции можешь приблизительно набросать как организовать видео буфер как в него складывать данные и потом их выводить уже на дисплей а то я что то крутил вертел но в упор не идет сам алгоритм построить и все то организовать...
Один из старых тренировочных проектов с wh1602 для атмеги8515
правда под ассемблером и с "фиксированным выводом"...
Однако там простейший вывод и видеобуфер (bufos_0 - bufos_f).

Однако там простейший вывод и видеобуфер (bufos_0 - bufos_f).


