Работа с ЖКИ на контроллере HD44780 и его аналогах
HekuToc, Если для проверки, которую я описал выше, то там потенц вообще не нужен просто соедините вывод Vo с Vcc (или с GND, чёт я подзабыл с кем конкретно, но если перепутать, то ничего страшного не случится, дисплей просто останется пустым). А вообще потец 100к в данном случаи, не годится.
- Реклама
Очень странно, но на ноге VLCD уже есть напражение, как на ноге питания логикой. СТранно....
, на 100КОм тоже сработало. Просто область котроля меньше.AI_Disable писал(а):HekuToc, Если для проверки, которую я описал выше, то там потенц вообще не нужен просто соедините вывод Vo с Vcc (или с GND, чёт я подзабыл с кем конкретно, но если перепутать, то ничего страшного не случится, дисплей просто останется пустым). А вообще потец 100к в данном случаи, не годится.
Если не трудно, то отвечайте мне названиями буржуйских схем.
- Реклама
Для начала проверьте живы ли сами порты МК, схему промоделируйте в протеусе. Может тогда и всплывёт виновник...
Один раз тоже сглупил: пожалел 20 рублей и купил без подсветки... Единственный выход который я нашёл тогда, это подсунуть справа и слева(перпендикулярно самому ЖКИ) по два зелёных светодиода.
Фотки индикатора
- Вложения
-
- IMG_0111.jpg
- Вид сверху
- (97.58 КБ) 682 скачивания
-
- IMG_0116.jpg
- Вид снизу
- (113.55 КБ) 719 скачиваний
нет. скорее всего вы не обратили внимание что вторые знакоместа находятся по адресам 40-47.foxit писал(а):Есть ЖКИ МТС-S12100XRYHS(1x16). Подключаю по 4-ехбитной шине.
При стандартной инициализации работает только первые восемь знакомест.
Предположение, что по умолчанию он стоит в режиме 1x8.
Может ли такое быть?
Как исправить?
Ставим плюсы: )
Коды - вложением, сколько раз говорить! 
Оптимизм х (Опыт + Знания) = const
- Сообщения: 44
- Зарегистрирован: Сб июн 14, 2008 11:51:50
Скажите плиз, как грамотно осуществить перенос курсора на вторую строку?
данным куском программы помещаю курсор в левый верхний угол
после этого вывожу символ на экран, все вроде бы в порядке
но при попытке перенести курсор в левый нижний угол (40е место) кусорк пропадает и ничего не работает
(для перемещения курсора в левый нижний угол код видоизменяется на
ldi Shina,0b11000000
sbi PortB,E
out PortD,Shina
cbi PortB,E
ldi Shina,0b00000000
sbi PortB,E
out PortD,Shina
cbi PortB,E
помогите плизки. что делаю ни так? (если че 4х битный режим)
Код: Выделить всё
ldi Shina,0b10000000
sbi PortB,E
out PortD,Shina
cbi PortB,E
ldi Shina,0b00000000
sbi PortB,E
out PortD,Shina
cbi PortB,Eпосле этого вывожу символ на экран, все вроде бы в порядке
но при попытке перенести курсор в левый нижний угол (40е место) кусорк пропадает и ничего не работает
(для перемещения курсора в левый нижний угол код видоизменяется на
ldi Shina,0b11000000
sbi PortB,E
out PortD,Shina
cbi PortB,E
ldi Shina,0b00000000
sbi PortB,E
out PortD,Shina
cbi PortB,E
помогите плизки. что делаю ни так? (если че 4х битный режим)
Здравствуйте. Установка адреса второй строки DDRAM сделана. Далее, нужно дождаться BF=0 (или потерпеть > 50 мкс) и выводить информацию.
Не забываю, что при физической реализации есть дополнительные задержки и поэтому делаю немного по другому
Не забываю, что при физической реализации есть дополнительные задержки и поэтому делаю немного по другому
Код: Выделить всё
ldi Shina,0b11000000
sbi PortB,E
nop
nop
nop
out PortD,Shina
nop
nop
nop
nop
nop
cbi PortB,E
ldi Shina,0b00000000
sbi PortB,E
nop
nop
nop
out PortD,Shina
nop
nop
nop
nop
nop
cbi PortB,E
- Сообщения: 44
- Зарегистрирован: Сб июн 14, 2008 11:51:50
может это поможет.
это кусок из рабочего кода проверялось на частоте до 12МГц
rcall del065 - это просто пустая п/п с одной единственной командой ret, можно заменить на 8-10 команд nop
Код: Выделить всё
;------------------------------------------------------------------
; Подпрограмма записи команды в LCD
; код команды в tmp
;------------------------------------------------------------------
sent_cmd:
mov lcd_dat,tmp ; сохранить команду
andi tmp,0xF0 ; выключить мл.разряды
out PLCD,tmp ; выдать в порт
sbi PLCD,E ; вкл. имп записи
rcall del065 ; время записи >230ns
cbi PLCD,E ; выкл. имп записи
; время между имп. записи >500ns
mov tmp,lcd_dat ; восстановить данные
swap tmp ; поменять местами тетрады
andi tmp,0xF0 ; выключить мл.разряды
out PLCD,tmp ; выдать в порт
sbi PLCD,E ; вкл. имп записи
rcall del065 ; время записи >230us
cbi PLCD,E ; выкл. имп записи
ret
;------------------------------------------------------------------rcall del065 - это просто пустая п/п с одной единственной командой ret, можно заменить на 8-10 команд nop




