Страница 51 из 123
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Вс авг 26, 2012 08:06:09
uk8amk
pokk писал(а):делаю так но он что-то нечего не выводит (при целых числах работает )
CVAVR?
В настройках проекта вкладка
C Compiler список
(s)printf Features выбрать
float.
ЗЫ. К самому экранчику эта ф-ция не имеет никакого отношения.
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Вс авг 26, 2012 11:14:16
pokk
В настройках проекта вкладка C Compiler список (s)printf Features выбрать float.
Благодарю всё заработало. А что это означает ? изначально CodeVisionAVR не знает такой тип данных ?
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Вс авг 26, 2012 12:48:22
ut1wpr
pokk писал(а):В настройках проекта вкладка C Compiler список (s)printf Features выбрать float.
Благодарю всё заработало. А что это означает ? изначально CodeVisionAVR не знает такой тип данных ?
Все он знает. Просто функция (s)printf очень "могучая" и в полном виде потянет из библиотеки большой размер кода. В разных версиях компилятора есть несколько опций для описания возможностей этой функции. Подумайте, зачем вам возможности форматирования и вывода float, если вы в программе работаете только с целыми числами. Или если у вас нет строк, зачем опции их вывода и форматирования? Чем больше вариантов выбора конфигурации printf, тем более совершенен и гибок компилятор.
Для полного понимания сравните два размера кода одной и той же программы с включенной опцией плавучки и без нее. Будете неприятно удивлены...

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Вс авг 26, 2012 16:56:05
Coldheart
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Вс авг 26, 2012 17:02:03
Jack_A
Еще одна копейка в копилку Си-шников

- компайлер делает это автоматически. А для АСМ-щиков - нужно пользоваться шаблоном инициализации. У меня таким шаблоном является копия одной из уже ранее отработанных программ на том же камне - подпиливаю ее под нужные операции.
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Вс авг 26, 2012 21:06:34
vitalik_1984
Копия это да, но подпиливать это, конечно, чревато.Лучше на раз обязательные строки записать в такой файл и потом начинать работу с открытия его и сохранения под другим именем.Вроде бы как таковых шаблонов нет в студии. может кто встречал?
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Вт авг 28, 2012 10:40:10
Sergey78
WH1602C-YGH-CTK многослойная или там всего два слоя проводников ? Через лулу не могу разглядеть наличие внутренних слоев.
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Вт авг 28, 2012 11:01:26
Gudd-Head
Так принципиально?
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Вт авг 28, 2012 11:05:37
Sergey78
Ага, дабы исключить вариант что я при заворачивании хвостика крепежной рамки (со стороны где их 6 ) замкнул слои.
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Вт авг 28, 2012 11:09:11
Gudd-Head
Скорее всего двухсторонняя.
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Вт авг 28, 2012 11:35:27
Sergey78
Как можно протестировать этот дисплей на работоспособность без подключения его к внешнему контроллеру ? Есть у него возможность при замыкании некоторых его входов отображать символы теста на дисплее ? Ауу, люди.

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Вт авг 28, 2012 18:08:21
vitalik_1984
Вроде как без инициализации должна гореть верхняя строка.Все заполненные прямоугольники.
А вообще вы можете сами своими руками выставить нужные состояния ног и он будет показывать то, что нужно.Нужно всего лишь 7 переключателей и голову.
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Вт авг 28, 2012 20:17:52
Sergey78
Вроде как без инициализации должна гореть верхняя строка.Все заполненные прямоугольники.
Тоесть при простом включении индикатора без подачи с внешнего контроллера сигналов данных, он должен показывать квадраты на верхней строке ?
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Ср авг 29, 2012 08:46:45
Gudd-Head
Sergey78 писал(а):Тоесть при простом включении индикатора без подачи с внешнего контроллера сигналов данных, он должен показывать квадраты на верхней строке ?
Надо ещё контрастность отрегулировать.
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Ср авг 29, 2012 14:04:18
medved10
Скиньте библу для работы с кайл мвижн плз
а то с аврстудио не хочу связываться
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Пт авг 31, 2012 07:46:38
Biggy
Люди, помогите. Как на обычный 16х2 HD44780 вывести значение переменной на ассемблере!!!
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Пт авг 31, 2012 09:59:23
Jack_A
Помогаю. Тут 2 слабо связанные меж собой задачи.
1. Вывести хоть какую строку на ЖКИ - так об этом все 20 страниц этой ветки.
2. Преобразовать значение переменной в текстовый формат. Опять же - какой вид переменной - целая, беззнаковая, float ? И ассемблеры тоже разные для разных МК.
Я так понимаю - прикалываемся ?
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Пт авг 31, 2012 14:24:38
Biggy
Скорее не от желания прикалываться, а от безграмотности.
Контроллеры AVR. Ассемблер их стандартный, "студийный".
Я конечно плохо понимаю, но вроде ассемблер может работать только с целочисленной арифметикой. Хотя если есть простые способы вывести дробные беззнаковые это было бы чудесно. Но пока вопрос лишь вывести значение РОН на экран.
Да, именно преобразовать используя Bin2Bcd. И как это скормить экрану.
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Пт авг 31, 2012 14:30:12
Gudd-Head
Biggy писал(а):вывести значение РОН на экран
Допустим, в РОН число от 0 до 9. Тогда смотрим таблицу символов экрана, находим там "адрес" нуля, в программе прибавляем к значению, хранящемуся в РОН адрес нуля и выводим на экран символ с адресом, хранящимся в РОН — это будет цифра от 0 до 9.
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Пт авг 31, 2012 22:50:44
Jack_A
Ассемблеру, грубо говоря, глубоко по фиг, с какой арифметикой работать, хоть с тринадцатиричной, бо ассемблер - всего лишь мнемоническая запись машинных команд, и любую операцию, которую можно разбить на последовательность машинных команд, можно опис`ать на ассемблере. Формат представления данных определяет программист, конечно, лучше, если он совпадает с каким-либо стандартным представлением, но если и нет - не беда. У меня на одном проекте была напряженка с быстродействием и памятью, и я смастерил простую трехбайтовую плавучку : один байт - знак и порядок, два байта - мантисса. Кто брезгливо оттопырив губу скажет, что точность и диапазон некузявые, спорить с ним не стану, но для наших задач хватало с запасом, а работало раза в 3 быстрее плавучки, выдранной из Сишных библиотек.
Поэтому процесс ведем, как я сказал, в два этапа.
1. В соответствии с заданным представлением преобразовываем значение в строку символов, для которой в памяти отводим буфер нужной длины. Например, 1-байтовое беззнаковое целое, лежит в r24.
Спойлер
Код: Выделить всё
cv_is: push r16
push r17
push r24
ldi r17,100
rcall Sub100
ldi r17,10
rcall Sub100
ori r24,0x30
st y+,r16
ldi r16,0
st y+,r16
pop r24
pop r17
pop r16
ret
;
Sub100: ldi r16,0x30
_20: sub r24,r17
brcs _40
inc r16
rjmp _20
_40: st y+,r16
add r24,r17
ret
В результате символьное представление числа ( 3 байта ) попадет в буфер, указанный регистровой парой YL,YH. Вывод не очень красивый, т.к. не подавлены впереди стоящие нули. Красоту предлагаю навести самому

.
Теперь указатель на выведенную строку передаем подпрограмме вывода на дисплей, которая в соответствии с рекомендациями предыдущих 20 страниц ее и выведет, в конце выскочив по нулевому байту = ограничитель строки.
------------------------------------------------
Знание -- силой !