Здравствуйте. Подскажите как переводить курсор на ЖКИ на вторую (и другие) строку в двустрочном (более 2 строк) дисплее. Пробовал на примере программы термометра вывести на вторую строку статически данные - ничего не получается. Получилось лишь методом научного тыка поставить 24 пробела, если не ошибаюсь, до окончания первой строки и тогда курсор сам перешел на вторую :). Но ведь это не выход. Буду очень благодарен.
Хочу модернизировать схему на два или более термометров. Когда получится, выложу на общее обозрение.
Здравствуйте. При использовании LCD с драйвером HD44780 или его клонов обращение ко 2-й строке
осуществляется записью адреса DDRAM равного C0h, где 80h обращение к адресному пространству
DDRAM + 40h адрес начала второй строки.
https://radioded.ru/index.php?option=com_docman&task=doc_download&gid=3&Itemid=34
Сапсибо за ответ, уже нашел :)
Подскажите чем отличается 4-битный режим подключения ЖКИ от 8-битного? Есть ли в последнем преимущество?
Заранее благодарен.
Подскажите чем отличается 4-битный режим подключения ЖКИ от 8-битного?
Для 8-битного режима надо восемь проводов для линий D0...D7 тогда как для 4-битного только четыре провода для линий D4...D7. В последнем информационный байт передаётся двумя ниблами по 4 бита, т.е. байт делится пополам и передаётся.
Есть ли в последнем преимущество?
Конечно! Экономия проводов и ножек микроконтроллера.
Еще раз здравствуйте. Столкнулся с проблемой: собрал прошивку контроллера, очень долго отмучал ее протеусом, вроде заработало. Собрал схему - нифига, в чем может быть дело?
Бывало пару раз после прошивки выскакивает на дисплее только статический текст и то только первой строки и все. Питание выключил, затем включил пропало.
Пробовал просто текст загонять на все строки: выводит все, но тоже как то через раз и контрастность знакомества спадает сверху вниз (т.е. верхние точки сивола темные, а к низу светлеют).
Вот привожу исходники (код комбинирован из разных программ, но хотелось бы наладить работу, перед тем как там приводить все к читабельному виду) и схему в протеусе. Подскажите в чем проблема. Уже и с fuse bit намаялся. Прошиваю Code Vision 1.25.
http://depositfiles.com/files/77r2vqjv3
О еще забыл: ЖКИ использую RC1604A.
Здравствуйте.
ИМХО, попробуйте временно заблокировать поддержку состояния "red LED", т.к. при инициализации при первом обращении; function set, DL=0, N=1, F=0:
; data length = 4 bits
; number of display lines = 4
; font = 5x7
ldi r16, 0b00101000
rcall write_lcd_ir
на выходе получается ерунда.
И, главное, неустойчивая работа индикатора получается из-за слишком маленьких времен. Дайте успокоиться шине данных, сигналам управления.out LCD_PORT, r17 ; upper 4 bits (E low)
out LCD_PORT, r18 ; upper 4 bits (E high)
out LCD_PORT, r17 ; upper 4 bits (E low)
out LCD_PORT, r19 ; lower 4 bits (E low)
out LCD_PORT, r20 ; lower 4 bits (E high)
out LCD_PORT, r19 ; lower 4 bits (E low)
AVR-ка отрабатывает очень быстро, а драйвер LCD видимо не всегда успеваетout LCD_PORT, r17 ; upper 4 bits (E low)
RCALL PAUSE_RET
out LCD_PORT, r18 ; upper 4 bits (E high)
RCALL PAUSE_RET
out LCD_PORT, r17 ; upper 4 bits (E low)
RCALL PAUSE_RET
out LCD_PORT, r19 ; lower 4 bits (E low)
RCALL PAUSE_RET
out LCD_PORT, r20 ; lower 4 bits (E high)
RCALL PAUSE_RET
out LCD_PORT, r19 ; lower 4 bits (E low)
PAUSE_RET:
RET
to: akl
Спасибо. Будем пробовать.