roboforum.ru

Технический форум по робототехнике.

LCD 3310 Вывод информации

Раздел создан специально для людей которым интересна робототехника, но в силу разных причин они не знают с чего начать.
Задавайте ваши вопросы, какими бы простыми они не казались, постоянные посетители форума постараются ответить на них по мере своих сил.
Робот своими руками. Самодельный робот.

LCD 3310 Вывод информации

Сообщение Raf00084 » 06 июл 2009, 21:16

Кому не жалко времени, помогите!!!
Подключил дисплей от нокии, инициализировал, нарисовал рамку по краям дисплея, могу выводить символы разные из библиотеки, но вот сейчас сижу и думаю :crazy: ВОПРОС: как вывести значение переменной, например peremennaya=12345, тоесть как мне разложить на числа 1,2,3,4,5 и по очереди вывести их на дисп. в нужной точке, или есть другой способ вывести данное значение на экран (ведь в библиотеке числа от 0 до 9) :no: .
Спасибо!
если надо скинуть библиотеку или код пишите, но я думаю и так все понятно.
Аватара пользователя
Raf00084
 
Сообщения: 50
Зарегистрирован: 19 янв 2009, 16:18
Откуда: Хренсбург

Re: LCD 3310 Вывод информации

Сообщение Duhas » 06 июл 2009, 21:27

если не в курсе что такое двоично десятичное преобразование - то гуглить ) дальше думаю само пойдет..
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: LCD 3310 Вывод информации

Сообщение Raf00084 » 06 июл 2009, 21:34

спасибо щас погуглю :pardon: , я этого незнал, а вообще правильно я думаю что надо выводить по очереди 1,2,3,4,5
Аватара пользователя
Raf00084
 
Сообщения: 50
Зарегистрирован: 19 янв 2009, 16:18
Откуда: Хренсбург

Re: LCD 3310 Вывод информации

Сообщение Duhas » 06 июл 2009, 21:38

тебе надо твое значение в хексе перевести в десятки сотни и единицы и тд...
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: LCD 3310 Вывод информации

Сообщение slavaslx » 06 июл 2009, 22:33

Если у вас к примеру Е=1000, то код будет таков (только одно но, если в этом дисплее цифры выводятся как аски символы, число 1 это 0х31 2 это 0ч32 9 это 0х39, так как у обычных HH74480 которые везде используюся) то приблизительно так :oops: :

lcd_dat((Е/1000)%10 + 0x30); //Индикация единиц тысяч
lcd_dat((Е/100)%10 + 0x30); //Сотни
lcd_dat((Е/10)%10 + 0x30); //Десятки
lcd_dat(Е%10 + 0x30); //Единицы

Вместо lcd_dat твоя функция для вывода символа на дисплей нокий "к примеру допустим нокия_символ " (лично с ними не работал :pardon: , но думаю будет как то так, поэтому это тока приблизительно)
Просто получается обычным делением числа на тыс сот дес еди...
slavaslx
 

Re: LCD 3310 Вывод информации

Сообщение Raf00084 » 07 июл 2009, 00:32

щас навоял почуть кода вот такого типа

long int peremennaya=585635;
a=0; сотни тысяч
b=0; десятки тысяч
c=0; тысячи
d=0; сотни
e=0; десятки
f=0; единицы

if(peremennaya>99999) //считаем сколько сотен тысяч;
{pere-ya-=100000;
a++;}
else
if (pere-ya>9999) //считаем сколько десятков тысяч;
{pere-ya-=10000;
b++;}
и.т.д. ----------------------
else
if(per-ya<9)
f=per-ya;}
думаю будет считать?
в итоге a=5,b=8,c=5,.......f=5

но можно и так:
per-ya2=per-ya;
if(peremennaya2>99999)
{a=per-ya2/100000;
per-ya2=((per-ya2/100000)%10; // помещаем в переменную2 остаток от деления;
и.Т.Д

или я чета недогоняю :o
Аватара пользователя
Raf00084
 
Сообщения: 50
Зарегистрирован: 19 янв 2009, 16:18
Откуда: Хренсбург

Re: LCD 3310 Вывод информации

Сообщение galex1981 » 07 июл 2009, 08:23

Быстрее и менее ресурсоемкий 1 способ
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4362
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

Re: LCD 3310 Вывод информации

Сообщение Raf00084 » 07 июл 2009, 09:15

Спасибо ВСЕМ буду дальше воевать :x !
Аватара пользователя
Raf00084
 
Сообщения: 50
Зарегистрирован: 19 янв 2009, 16:18
Откуда: Хренсбург

Re: LCD 3310 Вывод информации

Сообщение contr » 07 июл 2009, 10:19


d=peremennaya/100; peremennaya-=d*100;
e=peremennaya/10; peremennaya-=e*10;
f=peremennaya
contr
 
Сообщения: 987
Зарегистрирован: 17 апр 2009, 15:09
Откуда: Rostov-Don
Предупреждения: -1

Re: LCD 3310 Вывод информации

Сообщение yak-40 » 07 июл 2009, 10:29

а так можно?
а=peremennaya/10000;
b=(peremennaya%10000)/1000;
c=((peremennaya%10000)%1000)/100;
ну и т. д.
- Этот человек - не человек! это робот!
- Как? уже делают?!
- Делают!!!
Аватара пользователя
yak-40
 
Сообщения: 3037
Зарегистрирован: 23 окт 2007, 22:03
Откуда: Москва
прог. языки: С
ФИО: Евгений Яковец

Re: LCD 3310 Вывод информации

Сообщение Duhas » 07 июл 2009, 11:09

galex1981 писал(а):Быстрее и менее ресурсоемкий 1 способ

ухаха, скомпильте и киньте суда плз асм листинг... это еще большой вопрос....
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: LCD 3310 Вывод информации

Сообщение contr » 07 июл 2009, 12:50

пока символы мелкие - не выше 8 бит, выводим за счет автоинкремента. Предварительно указываем стартовую позицию курсора.
Головняки начнутся при выводе более крупных символов высотой в 2..3 строки. Каждый символ тоже придется выводить в 2..3 прохода, смещая курсор и стартовую позицию в таблице символов.
Вот эти таблицы память и отъедают. На их фоне hex2bcd - веники :wink:
contr
 
Сообщения: 987
Зарегистрирован: 17 апр 2009, 15:09
Откуда: Rostov-Don
Предупреждения: -1

Re: LCD 3310 Вывод информации

Сообщение Raf00084 » 08 июл 2009, 22:54

contr писал(а):
d=peremennaya/100; peremennaya-=d*100;
e=peremennaya/10; peremennaya-=e*10;
f=peremennaya

вот так по моему будет оптимально, что скажете?
Аватара пользователя
Raf00084
 
Сообщения: 50
Зарегистрирован: 19 янв 2009, 16:18
Откуда: Хренсбург

Re: LCD 3310 Вывод информации

Сообщение MiBBiM » 08 июл 2009, 23:24

оптимальность здесь вряд ли важна, поскольку все ограничивается быстродействием дисплея, который гораздо медленнее мк.
Tomorrow will be. Better
Аватара пользователя
MiBBiM
 
Сообщения: 1866
Зарегистрирован: 29 окт 2007, 18:11
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript

Re: LCD 3310 Вывод информации

Сообщение yakuzaa » 06 апр 2010, 08:18

Столкнулся с курьезом: подключил дисп Nokia 5210 (84x48, PCD8544). Его особая привлекательность в том, что он малых габаритов, и имеет удобный контактный шлейф, который не плавится при пайке, но! Изображение на нем отзеркалено справа-налево... как программно можно подкорректировать? или прийдется знакоген переписывать? а может команда есть какая? точно знаю, что в Nokia 1100 дисплее есть команда на "отзеркаливание" изображения, но она, естественно, для PCD8544 не катит...
Изображение
Изображение
yakuzaa
 
Сообщения: 38
Зарегистрирован: 22 июл 2008, 10:07
Откуда: Россия, Екатеринбург
прог. языки: BascomAVR | Delphi | VB | C

След.

Вернуться в Новичкам или основы основ роботостроения.

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

cron