Работа с ЖКИ на контроллере HD44780 и его аналогах

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение ARV »

я не специально, так получилось :facepalm:
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
СКАЗОЧНИК
Идёт направо - песнь заводит, Налево - сказку говорит.
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение СКАЗОЧНИК »

Да. Бессмысленны. А выше по исходнику вообще их нету, где, как раз надо было бы. :dont_know:
Я тоже до сих пор не умею делать нормальные комментарии. Надо учиться как-то. Может тему запилить отдельную для этого?
Станислав
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение Аlex »

СКАЗОЧНИК писал(а):их нету, где, как раз надо было бы. :dont_know:
Да ладно... Главное - пропиарить сайт с каким-то безумным названием. Для чего же ещё комменты нужны ? :)))
Причём, кроме сайта вообще нет ни одного коммента :)))
12val12
Потрогал лапой паяльник
Сообщения: 315
Зарегистрирован: Пт янв 29, 2010 19:42:27

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение 12val12 »

В протеусе работает . паять буду через 3 дня
ух ты.... показывает
L.O.D
Встал на лапы
Сообщения: 139
Зарегистрирован: Чт фев 11, 2016 18:35:37

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение L.O.D »

А мне очень понравилось "пока (один) { ... }" - вспомнились годы между институтом и женитьбой. :roll: Жаль, что этот оператор не откомментирован... :dont_know: (Ох, там было чего написать!!! :))) )
- Из овощей я больше всего люблю пельмени... © Соседский Мальчик
MOHCTEP
Опытный кот
Сообщения: 768
Зарегистрирован: Вс янв 19, 2014 00:55:09

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение MOHCTEP »

12val12, я этак вот дебажил переменные

Код: Выделить всё

//Вывод целого числа (0...65535) без ведущих нулей
void lcd_number(uint_fast16_t value){
   uint_fast16_t d=1;
   while((value/d)>=10)d*=10;
   while(d){
      lcd_data(((char)(value/d))+48);
      value%=d;
      d/=10;
   }
}
lcd_data(char value) - вывод подготовленного байта, либо целиком, либо нибблами, зависимо от настроек.
12val12
Потрогал лапой паяльник
Сообщения: 315
Зарегистрирован: Пт янв 29, 2010 19:42:27

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение 12val12 »

MOHCTEP
Спасибо возьму в копилку .
ух ты.... показывает
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение WiseLord »

12val12 писал(а):написал . можно улучшить?
Можно.

- Выводимое число "прибито гвоздями" к конкретной позиции по X. То есть большого смысла в такой функции нет, она неспособна вывести что-то вроде "256" в левом верхнем углу, например.

- Зачем перед выводом каждой цифры заново позиционировать курсор? Дисплей сам перемещает его после вывода очередного символа. Один раз перед выводом числа вышел стал куда надо (думаю, в библиотеке CV такое должно быть), и начал выводить цифры подряд. И в функцию позицию передавать не нужно.

- По поводу комментариев в коде тут уже высказались. Присутствуют только самые бесполезные из них.
Аватара пользователя
serg_svd
Собутыльник Кота
Сообщения: 2560
Зарегистрирован: Ср янв 16, 2008 08:34:04
Откуда: KMV

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение serg_svd »

Подскажите, ЖК индикатор 16х2 WO1602F-TMI-AT фирмы Winstar с контроллером ST7032 совместим по командам с HD44780? Даташит говорит что да. Но я тут решил попробовать его включить в параллельном режиме 8-bit интерфейс и у меня ничего не вышло. Индикации нет. Даже первая строчка не засвечивается, как-будто нет инициализации. Код писал в Bascom. Подробнее тут http://radiokot.ru/forum/viewtopic.php?p=2726119#p2726119.
Схема включения взята из даташита
Изображение

На выводы CAP1P, CAP1N ничего ен подключал согласно схемы.
Но что смущает. На приведенной схеме видно, что выводы 19б20 индикатора подписаны как NC, и в тоже время они отмечены как VOUT и V0. V0 обычно вывод регулировки контраста. Даташит молчит на эту тему.
"Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа." Ро́берт Ше́кли
Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.
Аватара пользователя
Adagumer
Поставщик валерьянки для Кота
Сообщения: 2283
Зарегистрирован: Чт ноя 15, 2012 20:47:59
Откуда: Крымск

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение Adagumer »

Вот пример есть на ваш дисплей:
СпойлерExample3

'----------
'name : LCD-RX1602A5.bas
'copyright : (c) 1995-2014, MCS Electronics
'purpose : demonstrates I2C LCD library
'micro : Mega88
'suited for demo : yes
'commercial addon needed : no
'The used library was sponsored by Lab microelectronic GmbH
'----------

$regfile = "m88def.dat"
$crystal = 8000000
$hwstack = 32
$swstack = 32
$framesize = 64

const vmode = 3 ' 3V mode

$lib "Lcd_RX1602A5.lbx"
$lib "i2c_twi.lbx" ' use hardware twi or remark for software I2C

Config Twi = 100000 ' 100kHz
config lcd = 16x2 , chipset = st7032

config SCL=PORTC.5
config SDA=PORTC.4


I2cinit

lcd_reset alias portc.2 ' pin used for LCD RESET
lcd_light alias portd.7 ' pin used for back light

Config lcd_reset = Output ' Display Reset
Config lcd_light = Output ' Display Licht


lcd_light = 1 ' activate background LED
Lcd_reset = 0 ' RESET mode
waitms 100
Lcd_reset = 1 ' normal mode

initlcd ' init LCD
lcdcontrast 30 'a value between 30 and 40 works best at 3V

Do
Cls
Locate 1 , 1 : Lcd "test"
Waitms 100 '
Loop


End

Взято от сюда:
http://avrhelp.mcselec.com/index.html
Аватара пользователя
serg_svd
Собутыльник Кота
Сообщения: 2560
Зарегистрирован: Ср янв 16, 2008 08:34:04
Откуда: KMV

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение serg_svd »

Adagumer писал(а):Вот пример есть на ваш дисплей:

В данном примере дисплеем управляют по шине I2C. А мне надо параллельный режим 8 бит. Контроллер ST7032 поддерживает и то и другое. Я привел конкретную схему включения и нужный мне режим.

ЗЫ. Переписал инициализацию 8bit из даиташита. Тоже глухо. Решил рискнуть и подключить вывод 20 (NC/V0) к переменному резистору для регулировки контраста. Индикатор подал признаки жизни, но изображение нечеткое и грязное. Засвечены лишние точки. Так что похоже причина в контрастности дисплея. А инициализируется он верно, что с даташита взятый порядок инициализации, что с баскома стандартный код

PS2. Интересно как контрастность то правильно регулировать? Программно или аппаратно? А то непонятно почему мусор на индикаторе высыпается
"Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа." Ро́берт Ше́кли
Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.
Аватара пользователя
Halex
Грызет канифоль
Сообщения: 281
Зарегистрирован: Пт ноя 15, 2013 20:58:23

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение Halex »

serg_svd писал(а):Подскажите, ЖК индикатор 16х2 WO1602F-TMI-AT фирмы Winstar с контроллером ST7032 совместим по командам с HD44780?
После того как... А до того ни-ни.
serg_svd писал(а):Даже первая строчка не засвечивается, как-будто нет инициализации.
Вот именно после правильной и ... как. А она от стандартной HD44780 - нЭбо и зЭмля. Что ж Вы замкнулись на даташите самого дисплея - качаТ даташит наST7032, читаТ стр. 29-30 Initializing by Instruction 8-bit Interface (fosc=380KHz) и писаТ свою инициализацию, а не совать стандартную 44780. Подсказка - глобальные отличия пойдут уже с третьей команды.
Аватара пользователя
serg_svd
Собутыльник Кота
Сообщения: 2560
Зарегистрирован: Ср янв 16, 2008 08:34:04
Откуда: KMV

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение serg_svd »

Да с горем пополам осилил из даташита ST7032 инициализацию. Включил мигание курсора. При подключении по схеме дисплей чист. Но если подключить на вывод 20 индикатора подстроечный резистор и покрутить, то появляется мигающий курсор. При чем сейчас у меня мигает почему-то в двух строчках одновременно. Так вот, что-то я не вижу в даташите на индикатор, что контрастность регулируется внешняя. А если все же внутренняя, то какое значение по умолчанию надо ставить опять же в даташите ни слова. Хожу вокруг даташита как слепец.
"Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа." Ро́берт Ше́кли
Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.
Аватара пользователя
serg_svd
Собутыльник Кота
Сообщения: 2560
Зарегистрирован: Ср янв 16, 2008 08:34:04
Откуда: KMV

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение serg_svd »

Победил все-таки индикатор
Изображение
Контрастность регулируется при инициализации. внешний подстроечный резистор не нужен.
Остальное подробнее опишу в теме про Bascom
"Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа." Ро́берт Ше́кли
Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.
Аватара пользователя
serg_svd
Собутыльник Кота
Сообщения: 2560
Зарегистрирован: Ср янв 16, 2008 08:34:04
Откуда: KMV

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение serg_svd »

Продолжаю играться с индикатором. Очень интересный экземплярчик. Чуть изменить инициализацию и он превращается в одно строчный с размером символов 5х16 точек.
Изображение
"Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа." Ро́берт Ше́кли
Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.
Аватара пользователя
serg_svd
Собутыльник Кота
Сообщения: 2560
Зарегистрирован: Ср янв 16, 2008 08:34:04
Откуда: KMV

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение serg_svd »

Очередной пациент. Дисплей Powertip PC-1602I без модуля подсветки.
Как заставить его работать при напряжении 3,3 В? Собрал на макетке, при питании от 5 В индикация есть, при питании от 3,3 В дисплей нормально выводит информацию, но вот различить ее можно еле-еле. Не хватает контрастности. При питании от 5 В максимальная контрастность достигается при подключении вывода регулировки контраста (Vo) к минусу питания индикатора.
На плате индикатора с обратной стороны только две бескорпусных микросхемы и 5 резисторов. Один 91 кОм, и четыре по 4,7 кОм.
Как его все же заставить работать от 3,3 В? Очень надо!

Изображение
"Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа." Ро́берт Ше́кли
Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.
akl
Друг Кота
Сообщения: 4444
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение akl »

Видимо на 3 лапе индикатора нужно напряжение смещения -1,7V относительно общего. Т.к. работаю, в основном, от напряжения +3V с контроллера вывожу частоту, формирую отрицательное напряжение.
Аватара пользователя
serg_svd
Собутыльник Кота
Сообщения: 2560
Зарегистрирован: Ср янв 16, 2008 08:34:04
Откуда: KMV

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение serg_svd »

я пробовал подавать напряжение -1,5 В относительно общего на вывод 3 индикатора. У меня некоторые знакоместа на 100% закрашивались, а некоторые только столбцы в знакоместах. В общем непонятный мусор на индикаторе. Выводимый текст терялся. Пробовал переменный резистор ставить на контрастность. Тот же мусор, текста нет.

PS. подключил другой дисплей. Работает. Так что проблема именно в конкретном дисплее

PS2/ по индикаторам допишу еще. Не знаю совпадение или нет. Проверил несколько индикаторов на работу от 3,3 В. Так вот, все, где на плате есть 5 резисторов одинакового номинала, работают отлично. А этот PC-160I с 4-мя резисторами не хочет. Печально :( А я б его впихнул бы в прибор с питанием от отдного лития. Ему тут как раз самое место
"Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа." Ро́берт Ше́кли
Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.
Yevgen75
Первый раз сказал Мяу!
Сообщения: 28
Зарегистрирован: Пн янв 28, 2013 20:35:27

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение Yevgen75 »

Есть такой индикатор 1602А китайский, процессор не известный.
Собрал схему измерителя емкости зарядки аккумулятора, прошил контролер. Включаю- на ЖКИ только мигающий курсор-квадрат в нижнем левом углу. Подкидывал другой индикатор на HD4470, все работает, а с китайцем никак. Начитался Интернета:)), подозреваю, что не правильно сделана инициализация.
Так как в програмировании "ноль", прошу помощи у мудрых котов подправте, пожалуйста, исходник.
Исходник схему и фото даю. Спасибо!
Вложения
фото1.JPG
(33.69 КБ) 456 скачиваний
схема.jpg
(36.92 КБ) 361 скачивание
emk10best.asm
(23.68 КБ) 280 скачиваний
Yevgen75
Первый раз сказал Мяу!
Сообщения: 28
Зарегистрирован: Пн янв 28, 2013 20:35:27

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение Yevgen75 »

Вот с этой прошивкой, в схеме измерителя емкости и ESR электролитов на Attyni2313, китайский индикатор работает без проблем.
Исходник прилагаю.
Вложения
C_ESR_Meter12Мгц.asm
(59.96 КБ) 541 скачивание
Ответить

Вернуться в «Периферия»