Например TDA7294

Форум РадиоКот • Просмотр темы - Работа с ЖКИ на контроллере HD44780 и его аналогах
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вт июл 01, 2025 02:46:30

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 2431 ]     ... , , , 86, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Сб янв 10, 2015 20:39:14 
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватар пользователя

Карма: 133
Рейтинг сообщений: 782
Зарегистрирован: Чт апр 21, 2011 17:55:50
Сообщений: 4995
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
для нормального управления дисплеем надо ставить регистр с защелкой. А вот как тогда эта библиотека может в этом случае помочь... я не совсем понимаю. :dont_know:

_________________
Станислав


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Сб янв 10, 2015 21:09:54 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1035
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4884
Откуда: Минск
Рейтинг сообщения: 0
Alexeyslav писал(а):
А чем регистр не расширитель портов работающий только на выход?
Ну так-то да. Просто с той же PCF8574 - это именно расширитель шины I2C, и можно использовать аппаратные возможности МК. Записал данные в регистр - и не паришься о задержках, управлении регистром и прочим.

PCF8574 и иже с ними удобны именно двунаправленностью. Хотя в случае "полноценного", с чтением статуса, управления дисплеем в 4бит режиме их использовать не получится, т.к. при чтении нужно разное направление для RS/RW/E и входов данных. Придётся, как минимум, выносить эти 3 управляющие линии отдельно, а уже расширителем управлять только линией данных - и тогда уж лучше в 8-бит режиме.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Сб янв 10, 2015 21:20:41 
Друг Кота

Карма: 28
Рейтинг сообщений: 568
Зарегистрирован: Чт май 05, 2011 21:26:34
Сообщений: 4550
Откуда: Украина, Славутич
Рейтинг сообщения: 0
В случае с регистром, аппаратные возможности тоже можно использовать. SPI-интерфейс, к примеру. По прерыванию окончания передачи - дергать защелку. Записал в регистр передачи SPI и не паришься - все произойдет без дальнейшего вмешательства.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Сб янв 10, 2015 21:46:10 
Потрогал лапой паяльник
Аватар пользователя

Зарегистрирован: Пн янв 07, 2008 16:56:28
Сообщений: 302
Откуда: Минск
Рейтинг сообщения: 0
Хоу Хоу, добил таки, вроде зачет. Подскажите ещё один момент, как переназначить кодовую таблицу символов?
Вложение:
20150110224016.jpg [191.53 KiB]
Скачиваний: 761


Вернуться наверх
 
Выбираем индустриальные и медицинские источники питания MEAN WELL в открытом исполнении

Использование модульных источников питания открытого типа широко распространено в современных устройствах. Присущие им компактность, гибкость в интеграции и высокая эффективность делают их отличным решением для систем промышленной автоматизации, телекоммуникационного оборудования, медицинской техники, устройств «умного дома» и прочих приложений. Рассмотрим подробнее характеристики и особенности трех самых популярных вариантов AC/DC-преобразователей MW открытого типа, подходящих для применения в промышленных устройствах - серий EPS, EPP и RPS представленных на Meanwell.market.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Сб янв 10, 2015 21:50:01 
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватар пользователя

Карма: 133
Рейтинг сообщений: 782
Зарегистрирован: Чт апр 21, 2011 17:55:50
Сообщений: 4995
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
че это? А как там подсветка сделана? А что за дисплей такой? :shock:
А что имееется ввиду по "Переназначить" кодовую таблицу? И какую кодовую? Которая прошита в ЖКИ?

_________________
Станислав


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Сб янв 10, 2015 22:11:02 
Потрогал лапой паяльник
Аватар пользователя

Зарегистрирован: Пн янв 07, 2008 16:56:28
Сообщений: 302
Откуда: Минск
Рейтинг сообщения: 0
СКАЗОЧНИК писал(а):
че это? А как там подсветка сделана? А что за дисплей такой? :shock:
А что имееется ввиду по "Переназначить" кодовую таблицу? И какую кодовую? Которая прошита в ЖКИ?

это дисплей из ограниченной партии бытовой техники, которые ко мне попадают в некотором количестве, грех не использовать :kill:

В дисплее зашита таблица символов, отличная от стандартной таблицы (так захотел разработчик).
К примеру символ "_" в обычной таблице имеет код 0xF6, но в этом дисплее под кодом 0xF6 находится символ " " ".


Вернуться наверх
 
Распродажа паяльного оборудования ATTEN!
Паяльные станции, паяльники и аксессуары по самой выгодной цене.

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Вс янв 11, 2015 07:09:10 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1035
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4884
Откуда: Минск
Рейтинг сообщения: 0
В случае hd44780 таблица символов зашивается на производстве в ПЗУ маской (грубо говоря, транзистор в ячейке памяти либо физически есть, либо физически его нет) и не могут быть изменены в принципе. Потому у существуют разные кодировки дисплеев - с иероглифами, русскими буквами, расширенной латиницей и т.д.

Как сделано там в этом дисплее - это нужно смотреть даташит.

P.S. Похоже, так же.

Цитата:
Character Generator ROM (CGROM)
The character generator ROM generates 5 x 8 dot character patterns from 8-bit character codes. It can generate
240/250/248/256 5 x 8 dot character patterns(select by OPR1/2 ITO pin). User-defined character patterns are
also available by mask-programmed ROM
.

Character Generator RAM (CGRAM)
In the character generator RAM, the user can rewrite character patterns by program. For 5 x 8 dots, eight
character patterns can be written.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Вс янв 11, 2015 09:24:31 
Друг Кота

Карма: 64
Рейтинг сообщений: 1013
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4327
Откуда: Ижевск
Рейтинг сообщения: 0
levaclaus писал(а):
К примеру символ "_" в обычной таблице имеет код 0xF6, но в этом дисплее под кодом 0xF6 находится символ " " ".
Уточню. В обычной таблице символ _ имеет код 0x5F


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Вс янв 11, 2015 10:03:45 
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватар пользователя

Карма: 133
Рейтинг сообщений: 782
Зарегистрирован: Чт апр 21, 2011 17:55:50
Сообщений: 4995
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
akl писал(а):
Уточню.

Подтверждаю. У меня на дисплее именно так 0х5F

_________________
Станислав


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Вс янв 11, 2015 10:37:28 
Потрогал лапой паяльник
Аватар пользователя

Зарегистрирован: Пн янв 07, 2008 16:56:28
Сообщений: 302
Откуда: Минск
Рейтинг сообщения: 0
WiseLord писал(а):
В случае hd44780 таблица символов зашивается на производстве в ПЗУ маской (грубо говоря, транзистор в ячейке памяти либо физически есть, либо физически его нет) и не могут быть изменены в принципе. Потому у существуют разные кодировки дисплеев - с иероглифами, русскими буквами, расширенной латиницей и т.д.

Как сделано там в этом дисплее - это нужно смотреть даташит.



я плохо выразил мысль, конечно таблицу изменить нельзя. Но.

write_string("_ST7036_display_1x20");
так я вывожу сообщение в первую строку.
на дисплей выводится строка "ST7036"display"1x20
Очевидно, что прописывать каждый раз код символа вместо символа мягко говоря напряжно. Задача - возможна ли подмена символов при выводе на жк? Ну типа в строке к выводу написал символ _, а на экран вывелся другой код. Так вроде русские буквы выводят, немогу статью найти
(коды взял произвольные, главное смысл)

Можно ли сделать так,
#define "_" 0x33;
#define ";" 0x34;

или так

flash byte symbols[2]={
0x1C, //код _
0x14 //код ;

};

#define ";" symbols[1];
#define "_" symbols[2];


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Вс янв 11, 2015 10:47:27 
Друг Кота

Карма: 28
Рейтинг сообщений: 568
Зарегистрирован: Чт май 05, 2011 21:26:34
Сообщений: 4550
Откуда: Украина, Славутич
Рейтинг сообщения: 0
Это сгодится для вывода отдельных символов, но не строк. А чтобы строки правильно переводились - надо перехватывать вывод индивидуального символа и преобразовывать код по таблице, либо составлять заранее инклуд чисто с константами-строками в уже нужной кодировке и "компилировать" его каким-либо скриптом или внешней программой из исходных строк когда там что-либо меняется.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Вс янв 11, 2015 11:13:09 
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватар пользователя

Карма: 133
Рейтинг сообщений: 782
Зарегистрирован: Чт апр 21, 2011 17:55:50
Сообщений: 4995
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Продолжу я и свои вопросы понемногу. )
Вот я хочу прочитать флаг БФ (занятости дисплея) и читаю его. Обязательно ли читать по 4 битной шине обе тетрады? Он же мне первым выдает старший байт, и мне достаточно, чтобы узнать стоит флаг или нет прочитать только ОДИН бит в этой тетраде. А остальные проигнорировать...
Если я пропущу младшую тетраду и строб на нее не подам он на меня сильно обидится?

_________________
Станислав


Последний раз редактировалось СКАЗОЧНИК Вс янв 11, 2015 11:38:04, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Вс янв 11, 2015 11:33:26 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
Обидится... А может и послать :)))
После чтения первых 4-ёх бит (с BS) дайте ещё один строб не воспринимая данные.

_________________
С Уважением, Альберт (Albert_V).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Вс янв 11, 2015 12:05:45 
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватар пользователя

Карма: 133
Рейтинг сообщений: 782
Зарегистрирован: Чт апр 21, 2011 17:55:50
Сообщений: 4995
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Понятно... Хотелось код ужать просто. )))
Вот до чего я додумался в плане оптимизации как по скорости (хотя для дисплея не особо важно), так и по памяти. Сэкономил 16 Байт.
Было так:
Спойлер
Код:
      DB_LINE:
            
               lsr  R17            ; Сдвигаем вправо, крайний вывалится в С
               brcc Pusto1            ; Если С=0, то переходим по метке
               sbi  DB4port, DB4pin   ; Иначе, выставляем бит в 1
               rjmp Next1            ; Идем проверять следующий
         Pusto1: cbi    DB4port, DB4pin   ; Выставляем бит в 0
         

         Next1:   lsr  R17            ; Сдвигаем вправо, крайний вывалится в С
               brcc Pusto2            ; Если С=0, то переходим по метке
               sbi  DB5port, DB5pin   ; Иначе, выставляем бит в 1
               rjmp Next2            ; Идем проверять следующий
         Pusto2: cbi    DB5port, DB5pin   ; Выставляем бит в 0
         

         Next2:   lsr  R17            ; Сдвигаем вправо, крайний вывалится в С
               brcc Pusto3            ; Если С=0, то переходим по метке
               sbi  DB6port, DB6pin   ; Иначе, выставляем бит в 1
               rjmp Next3            ; Идем проверять следующий
         Pusto3: cbi    DB6port, DB6pin   ; Выставляем бит в 0
         

         Next3:   lsr  R17            ; Сдвигаем вправо, крайний вывалится в С
               brcc Pusto4            ; Если С=0, то переходим по метке
               sbi  DB7port, DB7pin   ; Иначе, выставляем бит в 1
               ret                  ;
         Pusto4: cbi    DB7port, DB7pin   ; Выставляем бит в 0
         
   ret


Стало так: :)))
Спойлер
Код:
   DB_LINE:         sbi DB4port, DB4pin
                  sbi DB5port, DB5pin
                  sbi DB6port, DB6pin
                  sbi DB7port, DB7pin   
            
            sbrs R17, 0 ; Пропустить слудующую, еслли бит установлен
            cbi   DB4port, DB4pin
            sbrs R17, 1 ; Пропустить слудующую, еслли бит установлен
            cbi   DB5port, DB5pin
            sbrs R17, 2 ; Пропустить слудующую, еслли бит установлен
            cbi   DB6port, DB6pin
            sbrs R17, 3 ; Пропустить слудующую, еслли бит установлен
            cbi   DB7port, DB7pin
   ret

_________________
Станислав


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Вс янв 11, 2015 12:10:10 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
Если цель ужать код - вместо макросов используйте подпрограммы.

_________________
С Уважением, Альберт (Albert_V).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Вс янв 11, 2015 12:11:22 
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватар пользователя

Карма: 133
Рейтинг сообщений: 782
Зарегистрирован: Чт апр 21, 2011 17:55:50
Сообщений: 4995
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Чего это? :roll:
Они же вроде, если макросы не использовать и память не жрут? А так, вроде одно и тоже...

_________________
Станислав


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Вс янв 11, 2015 12:15:09 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
Текст написаный в макросах, при трансляции программы, вставляется в текст программы везде, где в программе есть название макроса.
Посмотрите Disassembly Listing (у вас он может по-другому называться).

_________________
С Уважением, Альберт (Albert_V).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Вс янв 11, 2015 12:16:44 
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватар пользователя

Карма: 133
Рейтинг сообщений: 782
Зарегистрирован: Чт апр 21, 2011 17:55:50
Сообщений: 4995
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Все. Понял. Но с ними удобно. ))) Просто пишу АДРЕС Х, У и у меня курсор уже в нужном месте...
Короче, смысл в макросах только для удобства и лучше, если он применяется в программе один раз...

_________________
Станислав


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Вс янв 11, 2015 12:22:41 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
Просто, в конце текста макроса вместо .ENDM поставьте RET, уберите .MACRO и там, где ссылки на макросы подпишите rcall.
Работы на несколько минут, а код ужмётся существенно.
P.S.
А если макрос используется один раз, тогда какой в нём смысл?

_________________
С Уважением, Альберт (Albert_V).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Вс янв 11, 2015 12:37:48 
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватар пользователя

Карма: 133
Рейтинг сообщений: 782
Зарегистрирован: Чт апр 21, 2011 17:55:50
Сообщений: 4995
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Подключил библиотеку, написал в основной программе ИНИТЛЦД, где нужно и все. ))) Вот и сработал макрос. БОльше его и не надо.

А по поводу rcall, как же я тогда параметры в подпрограмму буду передавать? Макрос же с параметрами..

_________________
Станислав


Последний раз редактировалось СКАЗОЧНИК Вс янв 11, 2015 12:46:24, всего редактировалось 1 раз.

Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 2431 ]     ... , , , 86, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y