Страница 101 из 123

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

Добавлено: Пт мар 04, 2016 20:05:46
ARV
я не специально, так получилось :facepalm:

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

Добавлено: Пт мар 04, 2016 20:07:07
СКАЗОЧНИК
Да. Бессмысленны. А выше по исходнику вообще их нету, где, как раз надо было бы. :dont_know:
Я тоже до сих пор не умею делать нормальные комментарии. Надо учиться как-то. Может тему запилить отдельную для этого?

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

Добавлено: Пт мар 04, 2016 20:11:39
Аlex
СКАЗОЧНИК писал(а):их нету, где, как раз надо было бы. :dont_know:
Да ладно... Главное - пропиарить сайт с каким-то безумным названием. Для чего же ещё комменты нужны ? :)))
Причём, кроме сайта вообще нет ни одного коммента :)))

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

Добавлено: Пт мар 04, 2016 20:31:17
12val12
В протеусе работает . паять буду через 3 дня

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

Добавлено: Пт мар 04, 2016 20:46:08
L.O.D
А мне очень понравилось "пока (один) { ... }" - вспомнились годы между институтом и женитьбой. :roll: Жаль, что этот оператор не откомментирован... :dont_know: (Ох, там было чего написать!!! :))) )

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

Добавлено: Пт мар 04, 2016 23:13:19
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) - вывод подготовленного байта, либо целиком, либо нибблами, зависимо от настроек.

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

Добавлено: Пт мар 04, 2016 23:35:34
12val12
MOHCTEP
Спасибо возьму в копилку .

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

Добавлено: Сб мар 05, 2016 06:14:00
WiseLord
12val12 писал(а):написал . можно улучшить?
Можно.

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

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

- По поводу комментариев в коде тут уже высказались. Присутствуют только самые бесполезные из них.

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

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

На выводы CAP1P, CAP1N ничего ен подключал согласно схемы.
Но что смущает. На приведенной схеме видно, что выводы 19б20 индикатора подписаны как NC, и в тоже время они отмечены как VOUT и V0. V0 обычно вывод регулировки контраста. Даташит молчит на эту тему.

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

Добавлено: Пн апр 11, 2016 21:24:11
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

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

Добавлено: Пн апр 11, 2016 21:42:26
serg_svd
Adagumer писал(а):Вот пример есть на ваш дисплей:
В данном примере дисплеем управляют по шине I2C. А мне надо параллельный режим 8 бит. Контроллер ST7032 поддерживает и то и другое. Я привел конкретную схему включения и нужный мне режим.

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

PS2. Интересно как контрастность то правильно регулировать? Программно или аппаратно? А то непонятно почему мусор на индикаторе высыпается

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

Добавлено: Пн апр 11, 2016 23:59:57
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. Подсказка - глобальные отличия пойдут уже с третьей команды.

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

Добавлено: Вт апр 12, 2016 00:11:04
serg_svd
Да с горем пополам осилил из даташита ST7032 инициализацию. Включил мигание курсора. При подключении по схеме дисплей чист. Но если подключить на вывод 20 индикатора подстроечный резистор и покрутить, то появляется мигающий курсор. При чем сейчас у меня мигает почему-то в двух строчках одновременно. Так вот, что-то я не вижу в даташите на индикатор, что контрастность регулируется внешняя. А если все же внутренняя, то какое значение по умолчанию надо ставить опять же в даташите ни слова. Хожу вокруг даташита как слепец.

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

Добавлено: Вт апр 12, 2016 10:57:57
serg_svd
Победил все-таки индикатор
Изображение
Контрастность регулируется при инициализации. внешний подстроечный резистор не нужен.
Остальное подробнее опишу в теме про Bascom

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

Добавлено: Ср апр 13, 2016 19:52:01
serg_svd
Продолжаю играться с индикатором. Очень интересный экземплярчик. Чуть изменить инициализацию и он превращается в одно строчный с размером символов 5х16 точек.
Изображение

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

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

Изображение

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

Добавлено: Вт апр 19, 2016 16:54:30
akl
Видимо на 3 лапе индикатора нужно напряжение смещения -1,7V относительно общего. Т.к. работаю, в основном, от напряжения +3V с контроллера вывожу частоту, формирую отрицательное напряжение.

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

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

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

PS2/ по индикаторам допишу еще. Не знаю совпадение или нет. Проверил несколько индикаторов на работу от 3,3 В. Так вот, все, где на плате есть 5 резисторов одинакового номинала, работают отлично. А этот PC-160I с 4-мя резисторами не хочет. Печально :( А я б его впихнул бы в прибор с питанием от отдного лития. Ему тут как раз самое место

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

Добавлено: Ср май 25, 2016 21:43:46
Yevgen75
Есть такой индикатор 1602А китайский, процессор не известный.
Собрал схему измерителя емкости зарядки аккумулятора, прошил контролер. Включаю- на ЖКИ только мигающий курсор-квадрат в нижнем левом углу. Подкидывал другой индикатор на HD4470, все работает, а с китайцем никак. Начитался Интернета:)), подозреваю, что не правильно сделана инициализация.
Так как в програмировании "ноль", прошу помощи у мудрых котов подправте, пожалуйста, исходник.
Исходник схему и фото даю. Спасибо!

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

Добавлено: Чт май 26, 2016 07:21:15
Yevgen75
Вот с этой прошивкой, в схеме измерителя емкости и ESR электролитов на Attyni2313, китайский индикатор работает без проблем.
Исходник прилагаю.