Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
oski12345
0 / 0 / 0
Регистрация: 21.01.2012
Сообщений: 30
1

LCD + CVAVR

21.02.2016, 18:29. Просмотров 2426. Ответов 3
Метки нет (Все метки)

Доброго времени суток!
Написал небольшой код, который по задумке должен опрашивать 4 канала ацп mcp3208(12бит), преобразовывать и выводить полученные значения на 4-строчный жки.
Проблема с выводрм на ЖКИ.
3 из 4-х значений надо выводить с точностью до десятых(макс.зн-е 50,0)
1 из 4-х значений целое 4-значное, его вроде как вообще получается просто выводить, попытаюсь объяснить проблему на его примере. Делаю так:
Код
sprymtf(lcd_buffer,"%u",Pn_NPn);
lcd_gotoxy(10,0);
lcd_puts(lcd_buffer);
Суть проблемы в том, что измеряемое напряжение меняется и при попытке циклически выводить получается ерунда - если напряжение сначала увеличилось до 5В затем уменьшается вниз до 0, отображаемое 4-х значное значение по мере уменьшения становится сначала 3-х значным,2-х, а затем и 1-значным и на жки остаются лишние ранее выведенные знаки.
Пробовал очищать экран перед выводом нового значения - видно как экран мерцает, перед выводом значения выводить в нужные позиции "пустые символы" - мерцает меньше, но всё равно на некоторых ЖКИ весьма заметно. Отсюда вопрос как умные люди это делают? Исходник приложил и файл в протеусе тоже на всякий случай.

[140.12 Кб]
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.02.2016, 18:29
Ответы с готовыми решениями:

Помогите разобраться с выводом на LCD. (cvavr)
Помогите, пожалуйста, разобраться.. а то не получается. (Пока все только в...

DS1307 +CVAVR, сколько прибавить к дате для вывода на LCD
Здравствуйте! При работе с DS1307 в CVAVR год объявлен как char. Т.е. 2011...

Как совместить управление LCD, LED через 74hc595 в CVAVR
Решил добавить в основную программу на ATMEGA16 и отображением информации на...

Mega128 на CVAVR
Здравствуйте. купил мегу 128 под программирование АЦП темку писал на страницей...

CVAVR не читает atmega8a-au
Собрал схему http://itistronics-lab.ru/btog/185.html но вместо atmega8...

3
oomomstir
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 1,864
21.02.2016, 18:34 2
Пока можете написать "%4u", а когда освоитесь - сделаете получше.
0
oski12345
0 / 0 / 0
Регистрация: 21.01.2012
Сообщений: 30
21.02.2016, 18:56 3
Цитата Сообщение от oomomstir
Пока можете написать "%4u", а когда освоитесь - сделаете получше.
Спасибо, с целым 4-х значным помогло, а как у не целых сделать(от 0 до 50,0 )?, там вывожу так:
Код
sprymtf(lcd_buffer,"%i,%u",In_NIn/10,In_NIn%10);
lcd_gotoxy(10,3);
lcd_puts(lcd_buffer);
0
oski12345
0 / 0 / 0
Регистрация: 21.01.2012
Сообщений: 30
22.02.2016, 12:08 4
Спасибо, с целым 4-х значным помогло, а как у не целых сделать(от 0 до 50,0 )?, там вывожу так:
Код
sprymtf(lcd_buffer,"%i,%u",In_NIn/10,In_NIn%10);
lcd_gotoxy(10,3);
lcd_puts(lcd_buffer);
Сделал так:
Код
sprymtf(lcd_buffer,"%3i,%1u",In_NIn/10,In_NIn%10);
и проблема вроде решилась :)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.02.2016, 12:08

Пренос строки в CVAVR
Пишу код в Code Vision AVR 1.25.7. Не могу найти информацию как сделать перенос...

Генерация на Attiny2313 (CVAVR)
Здравствуйте. По работе начал иметь дело с МК (attiny2313). Ничего особого...

CVAVR и переменная int
Доброго времени суток. Есть рабочая программа и стало так, что одна из...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru