реклама на сайте
подробности

 
 
> ЖКИ, ЖКИ
Slavik_tz
сообщение Aug 7 2006, 05:16
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 51
Регистрация: 4-07-06
Пользователь №: 18 558



Бывают ли неисправные ЖКИ, купил на радиорынке ЖКИ Byolymin 1602AGPLCHb, собарл плату подсоеденил ЖКИ, подкручивая резистор появились на екране 16 нижних квадратов, а верхняя строка пустая, промоделировал в WMlab 3.12 программа исправна и разводка платы вроде в порядке, можно ли грешить на ЖКИ. Зарание спасибо!!!
Go to the top of the page
 
+Quote Post
3 страниц V   1 2 3 >  
Start new topic
Ответов (1 - 30)
MSprut
сообщение Aug 7 2006, 06:06
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 225
Регистрация: 25-04-06
Из: Украина, Луганск
Пользователь №: 16 476



... можно ли грешить на ЖКИ?


Рекомендую не грешить на ЖКИ сразу ибо сколько с такими работаю еще ниразу не попадались битые от производителя. Судя по вашимему описанию ЖКИ не прошел инициализацию после включения питания (квадратики в нижней строке). Скорее всего с временными параметрами в программе что-то не так или с последовательностью. Чудес не бывает так что проверяйте. Удачи.
Go to the top of the page
 
+Quote Post
Andy_F
сообщение Aug 7 2006, 07:17
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 109
Регистрация: 27-07-06
Из: С.-Петербург
Пользователь №: 19 148



Совершенно верно, не проходит инициализация (скорее всего, "криво" написана). Только это не нижняя строчка с квадратиками, а верхняя.
Go to the top of the page
 
+Quote Post
Slavik_tz
сообщение Aug 7 2006, 07:52
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 51
Регистрация: 4-07-06
Пользователь №: 18 558



Цитата(Andy_F @ Aug 7 2006, 10:17) *
Совершенно верно, не проходит инициализация (скорее всего, "криво" написана). Только это не нижняя строчка с квадратиками, а верхняя.

возможно и криво, но в WMLab работает.
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Aug 7 2006, 08:00
Сообщение #5


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Цитата(Slavik_tz @ Aug 7 2006, 16:52) *
Цитата(Andy_F @ Aug 7 2006, 10:17) *

Совершенно верно, не проходит инициализация (скорее всего, "криво" написана). Только это не нижняя строчка с квадратиками, а верхняя.

возможно и криво, но в WMLab работает.

VMlab и реальное железо отличаются настолько же, насколько отличаются F-17 и его компьютерный симулятор)))
Насколько я помню при инициализации дисплея используются задержки, проверьте их.

Сообщение отредактировал haker_fox - Aug 7 2006, 08:02


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
defunct
сообщение Aug 7 2006, 08:59
Сообщение #6


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(Slavik_tz @ Aug 7 2006, 08:16) *
Бывают ли неисправные ЖКИ, купил на радиорынке ЖКИ Byolymin 1602AGPLCHb, собарл плату подсоеденил ЖКИ, подкручивая резистор появились на екране 16 нижних квадратов, а верхняя строка пустая,


А вы переключили LCD в режим отображения двух строк?
PS: в инете нет данных ни по ключевому слову Byolyming ни по слову 1602AGPLCHb..

Цитата
промоделировал в WMlab 3.12 программа исправна и разводка платы вроде в порядке, можно ли грешить на ЖКИ. Зарание спасибо!!!

Можно грешить на "WMlab 3.12" за то, что он вам наврал, т.к. в действительности имеет место быть ошибка.
Go to the top of the page
 
+Quote Post
Slavik_tz
сообщение Aug 7 2006, 09:03
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 51
Регистрация: 4-07-06
Пользователь №: 18 558



Машинально набрал правельно Bolymin, производство китай
Go to the top of the page
 
+Quote Post
SpyBot
сообщение Aug 7 2006, 09:20
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 285
Регистрация: 5-11-05
Пользователь №: 10 491



У символьных LCD действитетельно немного запутанная инициализация. Вот, например, третья ссылка из гугла
http://www.gaw.ru/html.cgi/txt/app/lcd/44780_to_versa1.htm

как грится, учите матчасть cranky.gif
Go to the top of the page
 
+Quote Post
aai_m
сообщение Aug 7 2006, 10:06
Сообщение #9


Участник
*

Группа: Новичок
Сообщений: 25
Регистрация: 29-11-05
Из: Донецк
Пользователь №: 11 548



В качестве примера выдернул из рабочего проекта исходники на С (лишнее убрал, компилировалось под ICCAVR). Точно такой BC1602 c контроллером KS0066, подключен к 8-разрядной шине. Удачи.
Прикрепленные файлы
Прикрепленный файл  afe.zip ( 3.24 килобайт ) Кол-во скачиваний: 141
 
Go to the top of the page
 
+Quote Post
WHALE
сообщение Aug 7 2006, 10:27
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 902
Регистрация: 2-01-06
Из: Краснодар
Пользователь №: 12 768



Нук,не знаю,vmlab хорошо симулирует работу с жки,ошибки во времянке отлавливает на раз.


--------------------
"Hello, word!" - 17 errors 56 warnings
Go to the top of the page
 
+Quote Post
ESL
сообщение Aug 7 2006, 13:45
Сообщение #11


Частый гость
**

Группа: Свой
Сообщений: 153
Регистрация: 19-07-06
Из: Москва
Пользователь №: 18 932



Цитата(WHALE @ Aug 7 2006, 14:27) *
Нук,не знаю,vmlab хорошо симулирует работу с жки,ошибки во времянке отлавливает на раз.


Для разных ЖКИ задержки могут разительно отличаться. С Bolymin'ом у меня тоже была как-то проблема, при этом с Data Vision'ом и Мэлт'ом проблем не возникало, хотя по дш у Мэлта заявленные производителем задержки больше остальных индикаторов (видимо чтоб наверняка).

ЗЫ а индикатор, с которым "не срасталось" назывался BC1620EGPLJHb Bolymin 0314
ЗЗЫ К тому-же у разных индикаторов могут быть разные алгоритмы инициализации (хотя все они формально hd44780- совместимые)

Сообщение отредактировал ESL - Aug 7 2006, 13:47
Go to the top of the page
 
+Quote Post
bodja74
сообщение Aug 7 2006, 15:36
Сообщение #12


Знающий
****

Группа: Свой
Сообщений: 543
Регистрация: 22-10-05
Пользователь №: 9 984



Проверять флаг BUSY - и забить на эти задержки раз и навсегда + имеем максимально возможную скорость вывода для данного вида ЖКИ.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Aug 7 2006, 15:52
Сообщение #13


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(bodja74 @ Aug 7 2006, 18:36) *
Проверять флаг BUSY - и забить на эти задержки раз и навсегда + имеем максимально возможную скорость вывода для данного вида ЖКИ.
Итого:
плюсы
- не волнуют задержки - можно поставить с большим запасом и точно также забить на них
- максимальная скорость - а нафига? Дисплей все равно не в состоянии отображать данные с такой скоростью, не говоря о пользователе который с такой скоростью воспринимать с дисплея не может. Если критичны простои процессора во время вывода - делаем буферизированный и в прерывании таймера выводим.
минусы:
- лишний провод чтение/запись
- необходимо иметь 4 или 8 двунаправленных линий, что очень неудобно при согласовании индикатора с трехвольтовой схемой.
- лишний код для чтения этого флага.
- необходимось процессору вместо полезной работы тупо опрашивать этот флаг.
В общем каждый решает для себя, я лично флаг читал только в первом проекте, схему которого делали до меня. С тех пор уже 11 лет обхожусь задержками и не испытываю никаких неудобств.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
bodja74
сообщение Aug 7 2006, 18:00
Сообщение #14


Знающий
****

Группа: Свой
Сообщений: 543
Регистрация: 22-10-05
Пользователь №: 9 984



Цитата(Сергей Борщ @ Aug 7 2006, 18:52) *
Итого:
плюсы
- не волнуют задержки - можно поставить с большим запасом и точно также забить на них

Тоже вариант,а как насчет того чтобы вообще не думать про запас?Какой ,где и сколько его нужно.
Цитата
- максимальная скорость - а нафига? Дисплей все равно не в состоянии отображать данные с такой скоростью, не говоря о пользователе который с такой скоростью воспринимать с дисплея не может. Если критичны простои процессора во время вывода - делаем буферизированный и в прерывании таймера выводим.

Да ладно,кто же постоянно обновляет данные на ЖКИ,вопрос насколько быстрее они будут обновленны.А если хотите прерывание,пожалуста,ставим BUSY по INT имеем еще быстрее при той же разгрузке проца.

Цитата
минусы:
- лишний провод чтение/запись

Не думаю что это так актуально,если действительно нужна экономия ставим 4 линии или покупаем ЖКИ с И2Ц.
Цитата
- необходимо иметь 4 или 8 двунаправленных линий, что очень неудобно при согласовании индикатора с трехвольтовой схемой.

Чесно сказать никогда и не думал про согласование ,у серии 1602 диапазон питания от 3 до 6.5в
и минимальное напряжение логической 1 на вход составляет 2.2в.
По крайней мере у меня с этим проблем небыло.
Цитата
- лишний код для чтения этого флага.

лишний код для организации цикла задержки.
Цитата
- необходимось процессору вместо полезной работы тупо опрашивать этот флаг.

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

Да здесь можно согласится,зависит от задач,у меня правда было наоборот,когда переполз на графические ЖКИ быстро понял что к чему.Тот же код теперь применяю и для текстовых.
Go to the top of the page
 
+Quote Post
chief_olimp
сообщение Aug 7 2006, 19:25
Сообщение #15


Местный
***

Группа: Участник
Сообщений: 249
Регистрация: 31-10-05
Из: Украина Нетешин
Пользователь №: 10 344



а может проблему поподробнее расписать, тип контроллера, частота кварца (которая играет немаловажную роль)...
Go to the top of the page
 
+Quote Post
Slavik_tz
сообщение Aug 8 2006, 09:58
Сообщение #16


Участник
*

Группа: Участник
Сообщений: 51
Регистрация: 4-07-06
Пользователь №: 18 558



Цитата(chief_olimp @ Aug 7 2006, 22:25) *
а может проблему поподробнее расписать, тип контроллера, частота кварца (которая играет немаловажную роль)...

тип процессора ATtiny 2313 ЖКИ Bolymin BC1602A... , частота кварца 8Мгц(не могу понять какую), а может быть когда выставляю Е в высокий уровень данные шину, и потом когда перевоже Е с 1 в 0 там кажись должна быть задержка так вроде я ее делаю. Вопрос вот какой должны быть точно выдержаны задержки или минимум, например, выполнения команды которая в докумен 39мкс, а сделаю 1мс, это я думаю не играет никакой разницы...?
использую
ATTiny2313 Bolymin BC1602
PB0(12)--------->P1.1(7)
PB1(13)--------->P1.2(8)
PB2(14)--------->P1.3(9)
PB3(15)--------->P1.4(10)
PB4(16)--------->P1.5(11)
PB5(17)--------->P1.6(12)
PB6(18)--------->P1.7(13)
PB7(19)--------->P1.8(14)
PD6(11)--------->E(6)
PD5(9)--------->RS(4)
GND------------>RW(5), нет свободных линий все занято, можно конечно использовать 4 линия для шины данных, плата уже разведена а переделывать неохота, травить, сверлить, лудить, паять, нудно..., конечно можно перемычку, так потом и сделаю а пока хочется разобраться как же всетаки запустить с 8.
кажись по умолчанию подключен аналоговый компоратор на микрухе, не может он служить источником проблем.
Как правельно установить свечения екрана, вроде где-то встречал если не правельно то работать не будет... Заранее спасибо! smile.gif
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Aug 8 2006, 10:23
Сообщение #17


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(bodja74 @ Aug 7 2006, 21:00) *
Цитата(Сергей Борщ @ Aug 7 2006, 18:52) *

Итого:
плюсы
- не волнуют задержки - можно поставить с большим запасом и точно также забить на них

Тоже вариант,а как насчет того чтобы вообще не думать про запас?Какой ,где и сколько его нужно.
Ну совсем не думать - "это для слабых" :-) Один раз подумал, и дальше только из проекта в проект copy.
Цитата
Цитата

- максимальная скорость - а нафига? Дисплей все равно не в состоянии отображать данные с такой скоростью, не говоря о пользователе который с такой скоростью воспринимать с дисплея не может. Если критичны простои процессора во время вывода - делаем буферизированный и в прерывании таймера выводим.

Да ладно,кто же постоянно обновляет данные на ЖКИ,вопрос насколько быстрее они будут обновленны.А если хотите прерывание,пожалуста,ставим BUSY по INT имеем еще быстрее при той же разгрузке проца.
Пользователь не заметит разницы между появлением текста через 5 или 50 мс после нажатия кнопки.
Цитата
Цитата

минусы:
- лишний провод чтение/запись

Не думаю что это так актуально,если действительно нужна экономия ставим 4 линии или покупаем ЖКИ с И2Ц.
Мои устройства с дисплеями скорее вспомогательные инструменты, поэтому в них ставится то, что есть в столе. При решении что ставить в массовое изделие конечно используются другие критерии - в том числе доступность, цена, габариты, технологичность, подсветка и море других. Что касается лишнего провода - я не считаю ускорение вывода хоть сколько-нибудь значимым аргументом в пользу лишнего провода, если можно малой кровью обойтись без него. 8-битный вариант я уже давно не рассматриваю. Это для систем у которых есть полноценная шина.
Цитата
Цитата

- необходимо иметь 4 или 8 двунаправленных линий, что очень неудобно при согласовании индикатора с трехвольтовой схемой.

Чесно сказать никогда и не думал про согласование ,у серии 1602 диапазон питания от 3 до 6.5в
и минимальное напряжение логической 1 на вход составляет 2.2в.
По крайней мере у меня с этим проблем небыло.
Еще 3 года назад (когда эта проблема стояла у меня) у большинства индикаторов в даташитах напряжение питания было указано 4.5-5.5в. Раз ситуация изменилась, аргумент снимаю.
Цитата
Цитата

- лишний код для чтения этого флага.

лишний код для организации цикла задержки.

на пике (по памяти, давно с ними не работаю)
Код
   movlw delay
   movwf tmp
loop
   decfsz  tmp
   goto loop

для переключения половины порта на ввод, ожидания и потом переключения на вывод код будет значительно больше.

Цитата
Цитата

- необходимось процессору вместо полезной работы тупо опрашивать этот флаг.

необходимось процессору вместо полезной работы тупо крутится в цикле задержки.
Ладно, оба варианта реализуются через прерывание, аргумент снимаю.
Цитата
Цитата

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

Да здесь можно согласится,зависит от задач,у меня правда было наоборот,когда переполз на графические ЖКИ быстро понял что к чему.Тот же код теперь применяю и для текстовых.
Ну, с графическими совсем другое дело. Тут и спорить не буду. Хотя приходилось и на графический писать без чтения, правда символ позиционировался с точностью до 8 пикселей.
Резюме остается прежним - оба решения имеют право на жизнь. Редкий случай консенсуса :-)


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
bodja74
сообщение Aug 8 2006, 11:37
Сообщение #18


Знающий
****

Группа: Свой
Сообщений: 543
Регистрация: 22-10-05
Пользователь №: 9 984



Рад, что наша дискусия не переросла в полемику. smile.gif

Вот код для проверки флага для AVR

ldi R16,$F0
out DDRA,R16
sbi PORTA,RW
sbi PORTA,E
nop
nop
sbic PORTA,BUSY
rjmp (PC-1)
cbi PORTA,RW
cbi PORTA,E
ldi R16,$FF
out DDRA,R16

Как видите не так уж страшен черт,как его малюют.

>>Как правельно установить свечения екрана, вроде где-то встречал если не правельно то работать не будет... Заранее спасибо!

Вот блин ,точно,При включении контрастность нужно установить так ,чтобы верхняя строка была еле-еле серой.Может быть вы просто- напросто не видите символы из за сильной контрастности.
Go to the top of the page
 
+Quote Post
Slavik_tz
сообщение Aug 10 2006, 07:04
Сообщение #19


Участник
*

Группа: Участник
Сообщений: 51
Регистрация: 4-07-06
Пользователь №: 18 558



ЖКИ заработал, написал программу на асме, выдержал как тех документации все задержки и для инициализации:
15мс, при включении питания
команда 0х3*
4,5мс
команда 0х3*
100мкс
команда 0х3*
... и так далее
не работает!!!??????
увеличил задержки сколько смог, заработало...
порылся по нету, и нашел что команда "Функциональные установки",
определения размера шины, число строк и т.п. в тех. документации на Bolymin BC1602 имеет 39мкс, а в некотых источниках 1,64мс???
не знаю сегодня прийду с работы и попробую поексперементировать , а не, сегодня футбол,
может ли кто-то подсказать какую брать задержку, а может быть у ЖКИ разная частота, например не 270КГц а 10КГц, может в этом проблема. Зарание Спасибо!!!
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Aug 10 2006, 08:00
Сообщение #20


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Slavik_tz @ Aug 10 2006, 10:04) *
может ли кто-то подсказать какую брать задержку, а может быть у ЖКИ разная частота, например не 270КГц а 10КГц, может в этом проблема. Зарание Спасибо!!!
Конечно, частота там определяется RC-генератором и отличается от индикатора к индикатору, но не настолько. 250...300КГц еще поверю, но 10 - нет.

Я использую такие задержки:
питание - 200 мс - команда 0x30 - 50 мс - команда 0x30 - 50 мс - команда 0x30 - 50 мс - команда 0x20 (использую 4 -битную шину) - 200 мкс
Работает железно со всеми индикаторами которые попадались.
Цитата
команда 0х3*
а разве на 8-битной шине она не должна выглядеть как 0x30?


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Slavik_tz
сообщение Aug 10 2006, 08:57
Сообщение #21


Участник
*

Группа: Участник
Сообщений: 51
Регистрация: 4-07-06
Пользователь №: 18 558



[/quote] а разве на 8-битной шине она не должна выглядеть как 0x30?
[/quote]
не обязательно, может и 0х38, главное что бы в сташей тетраеде было 0х3*
в принципе с таки задержками должно работать, а на команды брете сколько, например, гашения экрана и режим сдвига
Go to the top of the page
 
+Quote Post
rezident
сообщение Aug 10 2006, 13:35
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(Сергей Борщ @ Aug 10 2006, 14:00) *
Я использую такие задержки:
питание - 200 мс - команда 0x30 - 50 мс - команда 0x30 - 50 мс - команда 0x30 - 50 мс - команда 0x20 (использую 4 -битную шину) - 200 мкс
Работает железно со всеми индикаторами которые попадались.

А я использую посылку из 4-х повторяющихся байтов 0x30 и только потом 0x20, что гарантированно позволяет вывести шину в 4-х битный режим из любой последовательности инициализации.
Go to the top of the page
 
+Quote Post
Slavik_tz
сообщение Aug 10 2006, 14:04
Сообщение #23


Участник
*

Группа: Участник
Сообщений: 51
Регистрация: 4-07-06
Пользователь №: 18 558



[quote name='rezident' date='Aug 10 2006, 16:35' post='143327']
[/quote]
А я использую посылку из 4-х повторяющихся байтов 0x30 и только потом 0x20, что гарантированно позволяет вывести шину в 4-х битный режим из любой последовательности инициализации.
[/quote]
не понятно, посылаете по 8 битной шине а потом переключаетесть на 4 битную.
инициализация для 4 битной не надо использовать вторую тетраду байта, поэтому код 0х3*
0b0011
0b0011
0b0011
0b0010
а дальше по 4-х битной гашение екрана и тому подобное...
а вот вопрос сколько занимает времени для выполнения команды "Функциональные установки", так никто и не ответил
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Aug 10 2006, 15:28
Сообщение #24


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Slavik_tz @ Aug 10 2006, 17:04) *
инициализация для 4 битной не надо использовать вторую тетраду байта, поэтому код 0х3*
а вот вопрос сколько занимает времени для выполнения команды "Функциональные установки", так никто и не ответил
А, дошло. звездочка - это любое число! Привык просто, что обычно в датахшитах Х в таких слуучаях пишут. Да, про 38 согласен. На все остальные команды использую задержку 40 мкс, сдвиг экрана не использую и команду очистки дисплея (которая 1.6мс по даташиту) тоже. Посчитал, что выставить курсор в начала строк и забить строки пробелами быстрее и проще чем городить специальную задержку.


Цитата(rezident @ Aug 10 2006, 16:35) *
А я использую посылку из 4-х повторяющихся байтов 0x30 и только потом 0x20, что гарантированно позволяет вывести шину в 4-х битный режим из любой последовательности инициализации.
"Достаточно одной таблэтки". Для перевода в 4-битный режим 3 раза по 3х и один раз 2х, для перевода в 8-битный режим - 3 раза 3х. Когда-то писал на телесистемах о 4-битном, для 8-битного отбросить команду d. Повторю здесь:

Обозначим эти команды как a, b, c, d

Допустим, дисплей был в 8-битном режиме. Тогда:
команда a - не влияет на работу, он и так в 8-битном режиме
команда b - то же самое
команда c - то же самое
команда d - воспринимается как 8-битная команда и переводит в 4-битный режим.

Допустим, дисплей был в 4-битном режиме и ждал команду. Тогда:
команда a - воспринимается как старшая тетрада команды перевода в 8-битный режим
команда b - воспринимается как младшая тетрада команды перевода в 8-битный режим, дисплей переходит в 8-битный режим
команда c - не влияет на работу, он и так в 8-битном режиме
команда d - воспринимается как 8-битная команда и переводит в 4-битный режим.

Теперь допустим, дисплей был в 4-битном режиме и уже получил первую тетраду команды когда проц сбросили. Тогда:
команда a - воспринимается как младшая тетрада предыдущей команды. Да и фиг с ней, все равно инитим дисплей.
команда b - воспринимается как старшая тетрада команды перевода в 8-битный режим
команда c - воспринимается как младшая тетрада команды перевода в 8-битный режим, дисплей переходит в 8-битный режим
команда d - воспринимается как 8-битная команда и переводит в 4-битный режим.

P.S. нашел то сообщение на телесистемах. Гы, я его и там тебе в ответ писал :-)))))
http://www.telesys.ru/wwwboards/mcontrol/7...ges/66090.shtml

Сообщение отредактировал Сергей Борщ - Aug 10 2006, 15:30


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
OlegIvanov
сообщение Aug 10 2006, 21:59
Сообщение #25


Участник
*

Группа: Новичок
Сообщений: 38
Регистрация: 12-09-05
Пользователь №: 8 464



задержка на питание и дальше как в прилагаемом файле...
Прикрепленные файлы
Прикрепленный файл  lcdinit.txt ( 1.71 килобайт ) Кол-во скачиваний: 470
 
Go to the top of the page
 
+Quote Post
Slavik_tz
сообщение Aug 11 2006, 05:16
Сообщение #26


Участник
*

Группа: Участник
Сообщений: 51
Регистрация: 4-07-06
Пользователь №: 18 558



Цитата(OlegIvanov @ Aug 11 2006, 00:59) *
задержка на питание и дальше как в прилагаемом файле...

Здорово, и с какими эта программа работает ЖКИ, я сегодня побробую эту програму на своем,
у меня задержки где-то такие даже больше и не работало, писал прогу в AVRStudio 4.12 SP2
на асме, симулировал в VMLab 3.12 работало, в реальной схеме нет. Увеличил задержки все сколько мог в VMLab нет в рельной да.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Aug 11 2006, 08:21
Сообщение #27


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Slavik_tz @ Aug 11 2006, 08:16) *
Увеличил задержки все сколько мог в VMLab нет в рельной да.
Выходит удивительная штука этот VMLab. Ибо в даташитах нет ограничения на максимальное значение задержек.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
OlegIvanov
сообщение Aug 11 2006, 13:12
Сообщение #28


Участник
*

Группа: Новичок
Сообщений: 38
Регистрация: 12-09-05
Пользователь №: 8 464



Цитата(Slavik_tz @ Aug 11 2006, 08:16) *
Цитата(OlegIvanov @ Aug 11 2006, 00:59) *

задержка на питание и дальше как в прилагаемом файле...

Здорово, и с какими эта программа работает ЖКИ, я сегодня побробую эту програму на своем,
у меня задержки где-то такие даже больше и не работало

Алгоритм одинаков для всех ЖКИ на контроллере совместимом с HD44780. Мелкие отличия в отдельных даташитах погоды не делают, проверено на нескольких разных символьных ЖКИ (современных и времен доисторического материализма).
Go to the top of the page
 
+Quote Post
ViKo
сообщение Apr 14 2014, 08:24
Сообщение #29


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(Сергей Борщ @ Aug 10 2006, 18:28) *
"Достаточно одной таблэтки". Для перевода в 4-битный режим 3 раза по 3х и один раз 2х, для перевода в 8-битный режим - 3 раза 3х. Когда-то писал на телесистемах о 4-битном, для 8-битного отбросить команду d. Повторю здесь:

Коль уж заговорили о ЖКИ (в другой теме), подниму эту.
Нужно инициализировать ЖКИ в 4-битовом режиме. Почему нельзя просто послать два раза по полкоманды 0x20? В каком бы режиме он ни был, или первая посылка, или вторая, или обе воспримутся как команда перевода в нужный режим.
И в одном из datasheet так показано. В других - не так. rolleyes.gif Проверю позже, доложу.

Ересь biggrin.gif

P.S. В-общем, проникся... Все соответствует тому, что написал Сергей Борщ. Но нужно дополнить, что тетрада 0x20 должна посылаться 2 раза. По первой контроллер переходит в 4-битовый режим (а младшая тетрада не прочитана, ее же нет физически). По второй команде снова принимается 4-битовый режим, и за ним тетрада установки режимов дисплея.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
ViKo
сообщение Apr 14 2014, 10:05
Сообщение #30


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



А у gaw.ru из сообщения №8 на картинке с инициализацией - ошибка. Там, где написано Function Set interfase is 4bits, должен посылаться код 0010.
Go to the top of the page
 
+Quote Post
pavel-pervomaysk
сообщение Apr 22 2014, 17:46
Сообщение #31


Местный
***

Группа: Свой
Сообщений: 253
Регистрация: 28-12-07
Из: Украина г. Первомайск
Пользователь №: 33 716



Сергей Борщ, дело говорите.

Недавно я искал кучу исходников, пока не написал "под себя" свой код для этих индикаторов.
Игрался, цепляя 3 индикатора в паралель по 4 битной шине без R/W, все работало без проблем.

Последний проект сделал по совету участников с этого форума, инжикатор 20х4, в АТмеге32 выделил 40 байт и по прерыванию от таймера 2 выводил индикацию сразу на весь индикатор. 1111493779.gif
Go to the top of the page
 
+Quote Post

3 страниц V   1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 00:11
Рейтинг@Mail.ru


Страница сгенерированна за 0.01675 секунд с 7
ELECTRONIX ©2004-2016