Зарегистрирован: Вс янв 07, 2007 01:45:48 Сообщений: 491 Откуда: Российская Федерация, будь она неладна...
Рейтинг сообщения:0
Цитата:
напиши пожалуйста команды инициализации для WH1601, организованного как двухстрочный
Для всех дисплеев с этим контроллером инит одинаков!
Цитата:
вот мой порядок. 1)задержка 2 секунды (чтобы увидеть что включились 8 первых знакомест) 2)инициализация (знакоместа пропадают, ЖКИ ровно горит по всей ячейкам) 3)устанавливаю адрес 0 (хотя в инициализации он уже должен был быть установлен, но думаю не помешает) 4)вывожу одни и те же данные ($41) по всем адресам от 0 до 40 и от 64 до 104. в итоге на экране ничего.
Это всё, что угодно, но не инит!
Цитата:
поэтому грешу на подпрограмму вывода данных.
С начала предлагаю сделать всё один в один как во вложении в первом моём сообщении, и не забыть посмотреть вложение в этом, а потом грешить начинать.
_________________ Научить нельзя, можно научиться. Пифагор. Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Карма: 2
Рейтинг сообщений: 11
Зарегистрирован: Пт май 23, 2008 19:32:22 Сообщений: 2401 Откуда: Россия, Волгоград
Рейтинг сообщения:0 Медали: 1
to ibiza11 Честно говоря так и не понял вашего кода
если поможет, то вот нашел у себя в запасниках свою библиотеку по LCD, может пригодиться. Конечно там не так элегантоно как у Pooher, и "мусора" многовато, тоже облагородить времени не хватает, но работает, с оговоркой что у меня проверяется бит готовности при выводе информации на LCD, и задержки расчитывались при f=11,059МГц, придется пересчитать под 16 МГц.
для Pooher насчет одинаковой инициализации для данного контроллера. зачем в даташите на HD44780 команды инициализации указаны с битами, которые можно менять в различных ситуациях?
на картинке бит N отвечает за кол-во строк. я про это спрашивал.
за листинги всем спасибо, буду пробовать!:)
Вот я и вернулся с результатом. В общем грешил на все что можно.... Уже подумывал сменить ЖКИ. Уважаемый Pooher, ваша инициализация совершенно не работоспособна (по крайней мере на моем ЖКИ). Хотя код ваш рабочий. Команды инициализации, что вы привели не выводят ЖКИ в рабочий режим, хоть вы и утверждали обратное. Следуя вашему совету
Pooher писал(а):
Это всё, что угодно, но не инит!
Думал на подпрограммы вывода, но как бы я их не упрощал, как бы не увеличивал задержки, результата это не принесло. Следование в точности даташиту тоже результатов не принесло (даташит в моем посте выше). В итоге нашел на давно забытой флешке свою (!!! охренеть) старую программу с инициализацией ЖКИ. Подставил команды оттуда и О, ЧУДО! Свершилось! тут же начало все работать!!! даже с моими подпрограммами вывода (в которых вы не разобрались).
вот собственно команды:
а все дело в команде display off, ну, которая 3-я снизу!
Почему-то, если верить документу, дисплей будет работать только после вышеприведенной последовательности. Щаззз! А кто его включил?..
Вопрос вобщем-то не по контроллеру лсд (хотя ...). Я с дисплеем вожусь впервые . Почитал .Вобщем я понял как с ним работать,т.е про инциализацию и т.д . Дисплей MT-16s2h . После написания разнообразных прошивок , и получения отр-го результата , я в очередной раз залез в тему в Лаборатории про общение по 4х битной шине . ТАк там написано что дисплей заработал только после заземления контакта рег-ки контраста , и правда перечитав описание я так и сделал . Теперь независимо от того подключен дисплей к контроллеру у него горят все пиксели . Пробывал тест прогу с МЕЛта ,рез-т тот же . Кто знает в чем проблема ?
Зарегистрирован: Вс янв 07, 2007 01:45:48 Сообщений: 491 Откуда: Российская Федерация, будь она неладна...
Рейтинг сообщения:0
Вывод контрастности следует подключать через потенциометр.
2 ibiza11 У меня именно этот инит работает без проблем на разных дисплеях и контроллерах. Скорее всего у Вас подключение отличается от предложенного мной.
_________________ Научить нельзя, можно научиться. Пифагор. Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Мда . Оказалось у меня бп не 5 в выдает а 7. Вот откуда бордак с контрастом ,ну и дисплей теперь наверное сгорел . Странно что атмега 8 не сгорела (у нее мах 5,5в)
Карма: 2
Рейтинг сообщений: 11
Зарегистрирован: Пт май 23, 2008 19:32:22 Сообщений: 2401 Откуда: Россия, Волгоград
Рейтинг сообщения:0 Медали: 1
совсем не обязательно я как-то 13.8В на связку мега16-мт16h2s подал, и ничего выжило, правда как и у тебя только черные прямоугольнички на экране были.
_________________ Чем дальше, тем больше становлюсь занудой...
2 ibiza11 У меня именно этот инит работает без проблем на разных дисплеях и контроллерах. Скорее всего у Вас подключение отличается от предложенного мной.
ну и прекрасно, я рад за вас. а насчет подключения, я и не говорил, что у меня такое же, как у вас. естественно другое.
Зарегистрирован: Вс янв 07, 2007 01:45:48 Сообщений: 491 Откуда: Российская Федерация, будь она неладна...
Рейтинг сообщения:0
Цитата:
я и не говорил, что у меня такое же, как у вас. естественно другое.
А каково же х... Вы хотели чтобы она работала?
_________________ Научить нельзя, можно научиться. Пифагор. Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
да *ля, я же не сказал, что я тупо ваши команды скопировал!!! я поменял биты местами, в соответствии с моим подключением!!! не надо спорить! у вас в инициализации нет команды включения ЖКИ.
Зарегистрирован: Вс янв 07, 2007 01:45:48 Сообщений: 491 Откуда: Российская Федерация, будь она неладна...
Рейтинг сообщения:0
Цитата:
не надо спорить!
Я оперирую только фактами! Без проверки в железе коды не выкладываю, ну а этот код не просто проверен, он работает не на одном десятке устройств, он на 101% рабочий.
Цитата:
У меня именно этот инит работает без проблем на разных дисплеях и контроллерах.
_________________ Научить нельзя, можно научиться. Пифагор. Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Зарегистрирован: Чт сен 24, 2009 11:20:56 Сообщений: 4
Рейтинг сообщения:0
Всем привет! Подскажите как с наименьшими затратами времени и средств, подключить ЖКИ к другим портам контроллера используя стандартную библиотеку lcd.h в CodeVision. Именно программно.
Порты например:
R/S - PORTB.0
R/W - PORTB.1
E - PORTB.2
DB4 - PORTC.0
DB5 - PORTC.1
DB6 - PORTC.2
DB7 - PORTC.3
Никак только писАть свою библиотеку. И это будет наиболее правильно, т.к. библиотека в CV тупо ждет ответов от LCD _бесконечно_долго_. Тайм ауты было сложно предусмотреть разработчикам . Т.е. при вылете (или отключении) LCD программа при обращении к нему повиснет.
Так что пишите и будет Вам счастье.
Зарегистрирован: Чт сен 24, 2009 11:20:56 Сообщений: 4
Рейтинг сообщения:0
Спасибо!
traun писал(а):
Ты все правильно понял, ели очень надо могу скинуть мою библиотеку для это дистплея, подключать так же как и ты написал в своей статье, но можно там в define указать просто номера выводов и порты мк для подключения LCD, а потом просто юзать функции отправки строк на дисплей. Даже парится не придется...
Зарегистрирован: Вт сен 30, 2008 09:23:14 Сообщений: 209 Откуда: Краснодарский край
Рейтинг сообщения:0
Народ! А сколько вариантов курсоров у дисплея? У меня WinStar 1602. Вроде бы как есть подчеркивание и мигающий черный прямоугольник. В каком то ДШ я прочитал, что есть и мигающее подчеркивание - но сколько не бился подчеркивание не мигает. Может и не стоит париться?
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения