Оглавление:

Плата адаптера HD44780 с ЖК-дисплеем на I2C для Bus Pirate: 9 шагов
Плата адаптера HD44780 с ЖК-дисплеем на I2C для Bus Pirate: 9 шагов

Видео: Плата адаптера HD44780 с ЖК-дисплеем на I2C для Bus Pirate: 9 шагов

Видео: Плата адаптера HD44780 с ЖК-дисплеем на I2C для Bus Pirate: 9 шагов
Видео: I2C-адаптер для дисплеев на HD44780 2024, Июль
Anonim
Плата адаптера HD44780 с ЖК-дисплеем на I2C для Bus Pirate
Плата адаптера HD44780 с ЖК-дисплеем на I2C для Bus Pirate
Плата адаптера HD44780 с ЖК-дисплеем на I2C для Bus Pirate
Плата адаптера HD44780 с ЖК-дисплеем на I2C для Bus Pirate

Дешевые символьные ЖК-дисплеи на базе чипсета HD44780 бывают разных размеров: 2x16, 4x20 и т. Д. Эти дисплеи имеют два стандартных режима интерфейса: 4-битный и 8-битный параллельный. 8 бит требует в общей сложности 11 строк данных, 4 бит требует 7 (6 только для записи). Некоторые ЖК-дисплеи поддерживают дополнительный режим последовательной передачи данных, например, VFD, о котором я рассказывал в Hack a Day. ЖК-дисплеи HD44780 обычно представляют собой компоненты на 5 В с отдельным источником для подсветки. Bus Pirate имеет только пять выводов ввода / вывода, устойчивых к 5 В, поэтому мы сделали небольшую плату адаптера с достаточным количеством выводов для управления ЖК-дисплеем. Bus Pirate управляет платой адаптера через библиотеку интерфейса ЖК-дисплея. Продолжайте читать о плате адаптера символьного ЖК-дисплея Bus Pirate HD44780 и библиотеке интерфейсов. У меня могут быть печатные платы, комплекты или собранные комплекты, произведенные Seeed Studio примерно за 15 долларов, включая доставку по всему миру, подробнее здесь. Я не мог включить некоторые элементы форматирования и таблицы HTML в Instructable, вы можете увидеть исходный пост в Dangerous Prototypes блог.

Шаг 1. Аппаратное обеспечение

Аппаратное обеспечение
Аппаратное обеспечение
Аппаратное обеспечение
Аппаратное обеспечение
Аппаратное обеспечение
Аппаратное обеспечение

Обзор В этой статье мы расскажем о плате адаптера I2C для ЖК-дисплеев на базе HD44780. Мы демонстрируем это с помощью универсального последовательного интерфейса Bus Pirate. Исходный код Bus Pirate для библиотеки интерфейса HD44780 на основе I2C является общественным достоянием, поэтому его можно бесплатно адаптировать к вашим собственным проектам. Аппаратное обеспечение Полноразмерное изображение схемы [PNG]. Схема и печатная плата были разработаны с помощью бесплатной версии Cadsoft Eagle. Файлы дизайна можно скачать с Bus Pirate SVN. Перед использованием платы адаптера не забудьте сверить техническое описание вашего ЖК-дисплея с распиновкой адаптера. Не все ЖК-дисплеи одинаковы. ИС расширителя ввода-вывода PCF8574 Это простая микросхема расширителя ввода-вывода на 8 устройств, управляемая через двухпроводной интерфейс I2C. Интерфейс I2C доступен из заголовка JP1. PCF8574 работает от 2,5 до 5 вольт. Контакты ввода / вывода работают при напряжении питания, поэтому, если мы подадим на них 5 вольт, он соединит с ЖК-дисплеем 5 вольт. C1 (0,1 мкФ) отделяет ИС от колебаний в источнике питания. Один вывод PCF8574 управляет 3-миллиметровым светодиодом (LED1) через токоограничивающий резистор R2 (1000 Ом). Светодиод загорается, указывая на успешное соединение между Bus Pirate и адаптером. PCF8574 не может обеспечить достаточный ток для питания светодиода, поэтому мы запитываем светодиод от 5-вольтного источника питания и переключаем землю. ЖК-дисплей Плата адаптера взаимодействует с символьным ЖК-дисплеем на основе HD44780 в режиме 4-битного параллельного интерфейса. 4-битные контакты интерфейса - RS, RW, EN и D4-D7 - подключены к семи контактам ввода / вывода PCF8574. Нам нравится использовать штекерный разъем 0,1 дюйма для подключения адаптера к ЖК-дисплею, обычно вы можете прислонить ЖК-дисплей к контактам, чтобы создать достаточный контакт для быстрой проверки. Подстроечный резистор R1 (10 кОм) обеспечивает напряжение регулировки контрастности на контакте 3 Мы не подключили контакты подсветки, потому что существует так много разных стилей подсветки. Подача питания для светодиодной подсветки может повредить экран, для которого требуется отрицательное напряжение. заголовок JP2. Мы предоставили второй вывод питания для подключения подтягивающих резисторов Bus Pirate. Печатная плата Схема и печатная плата были разработаны с помощью бесплатной версии Cadsoft Eagle. Файлы дизайна можно загрузить с Bus Pirate SVN. односторонняя конструкция со сквозными отверстиями с одной перемычкой (показана красным). У нас могут быть печатные платы, комплекты или собранные комплекты, произведенные Seeed Studio примерно за 15 долларов, включая доставку по всему миру, подробнее здесь. Список деталей Стоимость деталей (все й однооборотный подстроечный резистор / потенциометр C10,1 мкФ / 10 В + R110000 (10 кОм), резистор 6 мм R21000 (1 кОм), 1/4 Вт, светодиод LED 13 мм (T1), красный JP1 + JP20.1 "вилка, 5 контактов IC1PCF8574N, 8 бит Расширитель ввода-вывода I2C DIP16ICS116-контактный DIP-разъем для IC1I не может включать некоторые элементы форматирования и таблицы HTML в инструкциях, вы можете увидеть исходную публикацию в блоге Dangerous Prototypes.

Шаг 2: Подключения

Подключения
Подключения

Устройство: HD44780 символьный ЖК-экран. Шина: 4-битная параллельная, с платой адаптера PCF8574 I2C. Требования к питанию: 5 вольт. Ссылки: пример таблицы данных [PDF], справочник команд HD44780, ЖК-экран HD44780 uber-site. Заполните журнал сеанса Bus Pirate для этой демонстрации. Мы разработал адаптер для ЖК-библиотеки универсального последовательного интерфейса Bus Pirate, но он будет работать со всем, что поддерживает протокол I2C. Взгляните на исходный код Bus Pirate для примера реализации I2C-> HD44780. Подключите Bus Pirate к плате адаптера, как показано в таблице. В таблице также показаны необработанные соединения с микросхемой PCF8574, если вы следуете без платы адаптера. Подключите адаптер к источнику питания, достаточному для ЖК-дисплея, обычно 5 вольт. Для соединения I2C между адаптером и Bus Pirate требуются подтягивающие резисторы от 2 до 10 кОм. Вот дополнительная информация о взаимодействии смешанного напряжения с подтягиваниями и подтягивающих резисторах на плате Bus Pirate. Я не мог включить некоторые элементы форматирования и HTML-таблицы в Instructable, вы можете увидеть исходный пост в блоге Dangerous Prototypes.

Шаг 3: Шаг 1. Библиотека установки

Шаг 1. Настроить библиотеку
Шаг 1. Настроить библиотеку

Интерфейс Мы рассмотрели конструкцию адаптера и то, как подключить его к Bus Pirate, теперь, наконец, пора написать что-нибудь на ЖК-дисплее. HiZ> m <<11 <<1 <<W <

p <<2 <<v <<< получить отчет о напряжении МОНИТОР НАПРЯЖЕНИЯ: 5 В: 4.9 | 3,3 В: 3,3 | VPULLUP: 5.0 <<Нажмите "m" в терминале Bus Pirate и выберите ЖК-библиотеку. В настоящее время он поддерживает только ЖК-дисплеи HD44780 с использованием адаптера PFC8574, описанного в первой половине этой статьи (вариант 1). Включите источники питания (большая буква «W») и подтягивающие резисторы (меню «p»). Проверьте монитор напряжения (меню «v») и убедитесь, что повышающее напряжение (Vpullup) составляет около 5 вольт.

Шаг 4: Шаг 2. Сброс и инициализация

Шаг 2. Сброс и инициализация
Шаг 2. Сброс и инициализация
Шаг 2. Сброс и инициализация
Шаг 2. Сброс и инициализация

В этой таблице представлены однобайтовые команды, управляющие ЖК-дисплеем HD44780, вот подробный справочник. Эти команды можно вводить из командной строки Bus Pirate, но для большинства из них мы сделали макросы, чтобы сэкономить время. ЖК-дисплей> (0) <<< показать меню макроса0. Макро-меню <<< this menu1. LCD Reset << <сбросить ЖК-дисплей 2. Ввести ЖК-дисплей <<< сбросить и инициализировать ЖК-дисплей 3. Очистить ЖК-дисплей <<< очистить ЖК-дисплей, вернуть курсор на 04. Положение курсора например: (4: 0) <<< установить положение курсора5. Записать тестовый текст <<Macro 0 отображает меню макросов для любого режима Bus Pirate. LCD> (2) <<< инициализировать макрос LCD Строки дисплея: 1. 1 <<< однострочный дисплей 2. Несколько <<2 'RESET <<< макрос 2 включает последовательность сброса INIT <<Макрос инициализации ЖК-дисплея (2) настраивает экран для режима 4-битного интерфейса, включает отображение курсора и устанавливает несколько других полезных параметров. Настройте количество строк дисплея, выберите 1 для однострочного дисплея или 2 для всех остальных дисплеев. После инициализации экран должен быть чистым, а в углу должен быть виден курсор. Если это не сработало, проверьте соединение I2C, подтягивающие резисторы и источник питания, затем попробуйте еще раз. ЖК-дисплеи HD44780 необходимо сбросить с помощью специальной последовательности сигналов, прежде чем их можно будет инициализировать для режима 4-битного или 8-битного интерфейса. Макрос 1 создает эту последовательность. Макрос 2 включает последовательность сброса, поэтому нет необходимости использовать макрос 1 перед макросом 2.

Шаг 5: Шаг 3. Запишите тестовые символы

Шаг 3. Запишите тестовые символы
Шаг 3. Запишите тестовые символы
Шаг 3. Запишите тестовые символы
Шаг 3. Запишите тестовые символы

ЖК-дисплей> (6:80) <<Макрос записи чисел заполняет ЖК-дисплей номерами тестов от 0 до 9. Число после двоеточия сообщает Bus Pirate, сколько тестовых номеров нужно записать, мы используем 4x20LCD, поэтому мы записываем 80 чисел, чтобы заполнить его. Обратите внимание, что курсор заканчивается в позиции 0 под первым '0'. LCD> (7:80) <<Макрос символов записи заполняет ЖК-дисплей символами ASCII, введите количество после двоеточия. Обратите внимание, что первая линия продолжается на третьей, третья на второй и вторая на последней. Символы не являются непрерывными, потому что ЖК-дисплеи символов не переходят от одной строки к другой. Мы поговорим об этом чуть позже.

Шаг 6: Шаг 4. Очистите ЖК-дисплей

Шаг 4. Очистить ЖК-дисплей
Шаг 4. Очистить ЖК-дисплей

ЖК-дисплей> (3) <<Макрос очистки ЖК-дисплея отправляет команду HD44780, которая стирает экран и возвращает курсор в первую позицию. Вы также можете выполнить любую из этих операций без макросов, см. Таблицу команд в начале этого раздела. Введите '[0b1' в Bus Pirate, чтобы установить интерфейс в командный режим ([) и отправить команду очистки экрана HD44780 (0b00000001) без макроса.]

Шаг 7: Шаг 5. Введите текст

Шаг 5. Введите текст
Шаг 5. Введите текст
Шаг 5. Введите текст
Шаг 5. Введите текст

LCD> (8) <<< вставить пользовательский текст Введите текст для вставки в позицию курсора. HD44780 LCD demo <<После очистки ЖК-дисплея на шаге 4 курсор находится в первом блоке. Мы также могли бы установить его с помощью макроса (4: 0), который перемещает курсор к первому символу. Макрос вставки текста в курсор запрашивает ввод текста, а затем копирует его на ЖК-дисплей, когда вы нажимаете клавишу ввода. LCD> (4: 0x40) <& lt

LCD> (8) <<< вставить текст Введите текст для вставки в позицию курсора. Bus Pirate v2go <<Запись во вторую строку немного сложнее, на самом деле она начинается с символа 64 на ЖК-дисплее 4x20. Если вы продолжите писать с конца строки 1 (символ 20), вы окажетесь в начале третьей строки! На этой странице есть хорошая коллекция карт памяти для большинства размеров символьных ЖК-дисплеев. Сначала мы помещаем курсор во вторую строку (4: 0x40). Затем макрос 'вставить текст' захватывает наш ввод и копирует его на ЖК-дисплей. ЖК-дисплей> (4: 0x14) (8) (4: 0x54) (8) <<< синтаксис нескольких макросов Введите текст для вставки в позицию курсора. Прошивка v2.0 + <<< мы ввели это Введите текст для вставки в позицию курсора.Bus Pirate принимает несколько макросов в одной строке, поэтому весь экран может быть записан одновременно. Мы написали последние две строки одной строкой синтаксиса. Мы могли бы использовать '(3) (4: 0) (8) (4: 0x40) (8) (4: 0x14) (8) (4: 0x54) (8) ', чтобы очистить ЖК-дисплей и записать все четыре строки с помощью одной синтаксической записи.

Шаг 8: Шаг 6. Чтение с ЖК-дисплея

Шаг 6. Чтение с ЖК-дисплея
Шаг 6. Чтение с ЖК-дисплея

Плата адаптера Bus Pirate и ЖК-дисплея может считывать данные с ЖК-дисплея. Мы прочитаем текст, который мы написали на экране (DDRAM), но вы также можете прочитать настройки и пользовательский символьный RAM (CGRAM), установив правильный адрес. LCD> [0b10000000 '' '<<< установить указатель чтения' ' '] HD44780 RS LOW, COMMAND MODE <<< нижний вывод выбора регистра CMD WRITE: 0x80 <<Сначала мы говорим Bus Pirate отправить данные в регистр команд ЖК-дисплея ([). Затем мы используем команду set DDRAM address (0b1xxxxxxx), чтобы установить указатель чтения на начало DDRAM (xxxxxxx = 0000000).] LCD>] rrrrrrr <<< чтение памяти данныхHD44780 RS HIGH, DATA MODE <<< выбор регистра вывод highREAD: 0x48 <<< 'H'READ: 0x44 <<<' D'READ: 0x34 <<< '4'READ: 0x34 <<<' 4'READ: 0x37 <<< '7'READ: 0x38 < << '8'READ: 0x30 <<<' 0'LCD> Наконец, скажите Bus Pirate прочитать из памяти данных (]), а затем прочитать несколько байтов (rrrrrrr). Мы получили «HD44780», текст, который мы написали на экране на шаге 5. Вы также должны иметь возможность использовать ярлык r: 7 для чтения семи байтов, но он не работает в текущей прошивке - мы исправим это до следующий выпуск.

Шаг 9: делать больше

Делать больше
Делать больше

Дайте общее описание шага Символьный ЖК-адаптер HD44780 - удобный аксессуар для Bus Pirate. Его можно использовать для быстрого тестирования или более сложной логической разработки. Помимо ЖК-дисплеев, восемь контактов ввода-вывода 2,5-5 В могут быть полезны для других приложений Bus Pirate с большим количеством контактов. У нас могут быть печатные платы, комплекты и т. Д. или собранные комплекты, произведенные Seeed Studio примерно за 15 долларов, включая доставку по всему миру, подробнее здесь. Я не мог включить некоторые элементы форматирования и таблицы HTML в Instructable, вы можете увидеть исходный пост в блоге Dangerous Prototypes.

Рекомендуемые: