Зарегистрирован: Вт сен 30, 2008 09:23:14 Сообщений: 209 Откуда: Краснодарский край
Рейтинг сообщения:0
У меня вот так
set_cursor: ;Установка курсора в указанный адрес
rcall set_adress
ldi temp,0b00001110
Здесь подчеркивание. но если я ставлю 0b00001111
появляется мигающее знакоместо.
push temp
swap temp
andi temp,0b00001111
ori temp,0b00010000
out lcd,temp
cbi lcd,e ;строб
pop temp
andi temp,0b00001111
ori temp,0b00010000
out lcd,temp
cbi lcd,e
rcall delay40mks
clr temp
out lcd,temp
ret
Зарегистрирован: Вт сен 30, 2008 09:23:14 Сообщений: 209 Откуда: Краснодарский край
Рейтинг сообщения:0
Мега 16, кварц 4.096 Мгц
;PortC0 = lcd(0) = 4 = нулевой (младший) бит 4-х битного режима
;PortC1 = lcd(1) = 5 = первый бит 4-х битного режима
;PortC2 = lcd(2) = 6 = второй бит 4-х битного режима (
;PortC3 = lcd(3) = 7 = третий (старший) бит 4-х битного режима
;PortC4 = lcd(4) = E = разрешение чтения/записи
;PortC5 = lcd(5) = R = выбор режима чтения/записи
;PortC6 = lcd(6) = A = адресный сигнал, выбор адрес/данные ("1"-данные, "0"-адрес)
;PortC7 = lcd(7) = x = сюда у меня ничего не подключено
Карма: 2
Рейтинг сообщений: 11
Зарегистрирован: Пт май 23, 2008 19:32:22 Сообщений: 2401 Откуда: Россия, Волгоград
Рейтинг сообщения:0 Медали: 1
начнем с того что выводить строб одновременно с данными - это не правильно
Код:
ori temp,0b00010000 out lcd,temp
есть такой параметр tAS - время предустановки команды
+ мин время импульса стробирования - 0,23 мкс при Fo=16 МГц
у вас импульс будет 0,0625 мкс, что меньще допустимого
см. ДШ
_________________ Чем дальше, тем больше становлюсь занудой...
Зарегистрирован: Вт сен 30, 2008 09:23:14 Сообщений: 209 Откуда: Краснодарский край
Рейтинг сообщения:0
Хммм.... Надо подумать... И почитать тоже. Хотя странно... статический курсор выводится же.И мигающее знакоместо... Может действительно не хватает задержки для того чтобы контроллер ЖК переварил эту команду...
Зарегистрирован: Вт сен 30, 2008 09:23:14 Сообщений: 209 Откуда: Краснодарский край
Рейтинг сообщения:0
Блин. Не моргает подчеркивание!!! Я уже отдельный строб замутил по всем правилам - пофигу. Просто выводится но не моргает. Может он вобще не моргает? Но я собирал таймер по книге Заеца, он в коде для курсора делает все те же приседания что и я - там моргает. Че за финя.....
Зарегистрирован: Вс янв 07, 2007 01:45:48 Сообщений: 491 Откуда: Российская Федерация, будь она неладна...
Рейтинг сообщения:0
KS0066 от SUMSUNG например.
_________________ Научить нельзя, можно научиться. Пифагор. Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Зарегистрирован: Вс янв 07, 2007 01:45:48 Сообщений: 491 Откуда: Российская Федерация, будь она неладна...
Рейтинг сообщения:0
Цитата:
самсунгов у нас в природе нет
А какие есть?
_________________ Научить нельзя, можно научиться. Пифагор. Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
собрал вечерком схемку, прошил всё работало ... утром продолжаю работать, вдруг экран погас ... (питания подсветки не подавалось, просто исчезла индикация) ... 3 нога была кинута на землю через 2К (выявлено эксперементальным путём) ... замыкаю на землю - индикатор включется (всё в чёрных квадратиках - полная засветка), размыкаю, оставляя только 2К - работает некоторое время, показывая информацию, потом опять гаснет ... постепенно время работы сокращалось ... сейчас замыкаю 3 ногу на землю, отпускаю - на долю секунды проглядываются буквы, потом опять всё гаснет нафигх
переменника под рукой нет ... но порог отключения находится где-то между 700 и 1К ...
Ну вот чё за нафиг, а?
ЗЫ: контроллер и память индикатора работают нормально - траблы только с отображением, то есть с контрастностью - она то на полную, то выключена ... индикатор новый, только из магазина ...
PS2: нашёл подстроечный резистор ... ёмана ... поймать границу вкл-выкл практически нереально ... вроде начинает работать, потом хряк - опять отключается ..
Зарегистрирован: Вт сен 30, 2008 09:23:14 Сообщений: 209 Откуда: Краснодарский край
Рейтинг сообщения:0
У меня было такое. Первая причина: Подсветка жрет болше чем указано производителем - т.е. не хватает питания. Отключить ее нафиг (временно).
Вторая причина: плохой пропай проводов или сами провода. Обычно когда собираешь все быстро - не сильно озадачиваешься материаллами. Как всегда ставишь то, что под рукой. Мож сопля где какая.
Черные квадраты при включении говорят о том, что ЖКИ не успел запуститься а МК уже начал инициализацию. А если есть проблемы с проводами то инициализация вобще уходит в космос. Кстати Протеус этого не замечает, ему и контрастность и задерка переж включение побоку. А когда собираешь девайс начинаеь париться.
У меня было так. Включаю - черные квадраты, нажмаю кнопку Reset все запускается.
Вылечил тем что перед инициализацией сделал задержку?
оказалось до банальности просто - оба резистора оказались битыми ... купил в магазинчике сегодня новый на 20К переменник - всё заработало как часы ... во всяком случае два часа работает стабильно.
переход на С прошёл совершенно безболезненно путём использования библиотеки lcd.h ... с первого раза заработал подсоединённый по схеме в визарде CodeVision WH1602 ... объём кода, что характерно, не намного больше, чем аналогичная байда на ассемблере.
Странно только, что CodeVision не разумеет подключения по порту D. Ну и фиг с ним - на В тоже нормально работает по 4 битам ...
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения