Управление LCD на базе HD44780

Для понимания вопроса я решил поиграться с МЭЛТ-овским LCD экраном в одну строку на 10 символов. Первые 8 в памяти - это первая строка, последни 2, на самом деле, в памяти - вторая строка.

Прилагаю полный C исходник с демкой всех функций и комментариями. Все написано по даташиту + кое-что подсмотрено в других библиотеках. Удивительно, но ни в одной библиотеке, которые я видел (штук 7), я не увидел правильную и работающую функцию чтения текущего адреса и данных по текущему адресу. Здесь есть и функция и пример, как это можно сделать.

Используется только 4-х битный интерфейс - он сложнее, но мне это позволило использовать меньше ног МК, пока я разрабатывают другие способы. Мне это было важно, так как это экранчик 10х1 - это отладочный экран для других проектов.

Распиновка подключения внутри С исходника. Проверена работа на 1,4,12 и 16 мегагерцах. Все работает, т.е. тайминги все верные.

Исходник: mylcd.c

И вот видео работы: (avi, divx, 2.8MB)


(C)1999-2021 Артем Кучин
Email: artem@artem.ru
На письма без темы или без имени отправителя не отвечаю

При использовании материалов ссылка на сайта www.artem.ru обязательна! Автор оставляет за собой право отказать в праве использования материалов на безвозмездной основе без объяснения причин. Материалы сайта защищены законом об авторских и смежных правах.

Цена домена: 1 500 000 руб.