nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 16 Apr 2024 08:49



Reply to topic  [ 2 posts ] 
LCD LM016L & HD44780 
Author Message
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Символьные LCD типа LM016L с контроллером HD44780 стали фактически стандартом
де-факто, как пишут в этих наших интернетах...
Attachment:
LM016L-1.gif
LM016L-1.gif [ 50.36 KiB | Viewed 3086 times ]

Материалов, как прицеплять их к PIC или Atmel в интернете полно, но есть один
нюанс: обычно код инициализации LCD примерно следующий:
Code:
void LCD_ini(void){
_delay_ms(15);                  //Ждем 15 мс
send_half_byte(0b00000011); 3h
_delay_ms(4);
send_half_byte(0b00000011); 3h
_delay_us(100);
send_half_byte(0b00000011); 3h
_delay_ms(1);
send_half_byte(0b00000010); 2h
_delay_ms(1);
send_byte(0b00101000, 0); 28h  //4бит-режим и 2 линии
_delay_ms(1);
send_byte(0b00001100, 0); 0Ch  //включаем изображение на дисплее, курсоры никакие не включаем
_delay_ms(1);
send_byte(0b00000110, 0); 06h  //курсор невидимый и будет двигаться влево
_delay_ms(1);}

Код этот повторяется от сайта к сайту, но везде упоминают, что он работает
вживую, но не работает на моделях Proteus (это правда, я проверял). :-?

Этот LCD я надумал прицепить к проекту Gigatron и решил предварительно погонять
отдельный проект с LM016L, чтобы посмотреть, как и на что влияют разные задержки.

Ну и использовал я несколько иной код инициализации LCD от автора Nibbler.
Автор подробно расписал, что к чему, и его исходник в моём архиве есть.
Этот код реально работает и в железе, и на моделях Proteus - это я тоже
проверял, поскольку вживую у меня этих индикаторов два - купил как-то
по случаю по 150 рублей - показалось недорого...

Код такой: (CMD=0) 3h,3h,3h,2h, 2Ch, 0Fh, 01h
Программа написана, что называется "в лоб", без циклов и ухищрений, поскольку
примерно так и планирую я запрограммировать Gigatron с его "хитрозадумчивой"
системой команд и при отсутствии удобного ассемблера...

Схема для тестирования очень близка к вот этой моей железке, и, в ней нет
только ввода программы через LPT.
Attachment:
LM016L.gif
LM016L.gif [ 29.53 KiB | Viewed 3086 times ]

В архиве - два проекта: первый для подбора точных интервалов времени при
заданной частоте, второй - собственно схема демонстрации работы LCD.
Также в архиве программы и справочные материалы по LM016L и идентичным.
Attachment:
LCD_LM016.zip [116.85 KiB]
Downloaded 259 times

Надеюсь, материал будет полезным, если у кого заглючит проект с таким LCD.
Сразу можно будет выяснить "кто виноват": модель LCD или что-то другое...

_________________
iLavr


05 Sep 2020 08:45
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Справочные материалы не влезли одним файлом, выложу их здесь отдельно:
Attachment:
LM016L_H.part1.rar [1.39 MiB]
Downloaded 263 times

Attachment:
LM016L_H.part2.rar [826.26 KiB]
Downloaded 271 times

_________________
iLavr


05 Sep 2020 08:53
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 2 posts ] 

Who is online

Users browsing this forum: No registered users and 5 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.