0 / 0 / 0
Регистрация: 21.01.2012
Сообщений: 30
1

LCD + CVAVR

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

Author24 — интернет-сервис помощи студентам
Доброго времени суток!
Написал небольшой код, который по задумке должен опрашивать 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.02.2016, 18:29
Ответы с готовыми решениями:

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

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

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

Феномен CVAVR
Вот так всё прекрасно работает: if(Limits<128) if (Mode%2==0 || Limits<Limits) Limits++; А вот...

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

3
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,864
21.02.2016, 18:34 2
Пока можете написать "%4u", а когда освоитесь - сделаете получше.
0
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
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
22.02.2016, 12:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.02.2016, 12:08
Помогаю со студенческими работами здесь

CVAVR Выдаёт ошибку
Что за ошибка, поменял у tiny13 fuse биты местами, чтоб частоту уменьшить в 2 раза(так в дш...

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

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

Undlefined symbol CVAVR
Доброго времени суток. Переношу код с avrstusio4 на cvavr. Взял проект частотомера на atmega8 из...

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru