В продолжении предыдущей статьи по подключению и запуску дисплея от кассового аппарата «Меркурий 130К», решил также запустить дисплей от кассы «Элвес-Микро-К».
Дисплей выглядит следующим образом.
На плате дисплея имеется маркировка «UTC STC030801DLGY-E», но даташита на дисплей найти не удалось. Сердцем дисплея является контроллер Holtek HT1621, кристалл которого установлен на плату и залит компаундом. Даташит на контроллер без проблем нашёлся в Интернете.
Дисплей примечателен тем, что подключается по последовательной шине (SPI), а также имеет подсветку и звуковую индикацию. Управление подсветкой и звуковым сигналом происходит путём отправки специальных команд контроллеру дисплея, при этом не требуется подключать дополнительные провода. Подсветку можно только включать и отключать, регулировка яркости не предусмотрена. Частоту звукового сигнала можно выбирать: 2 кГц либо 4 кГц. Для общения с дисплеем использовалась программная реализация последовательного интерфейса. Распиновку дисплея я взял из схемы кассового аппарата. Дисплей был подключен к микроконтроллеру по следующей схеме.
Дисплейная память в контроллере HT1621 представлена в виде 32 адресов, по 4 бита в каждом адресе. Первым делом я записал по всем адресам логические «1», чтобы зажечь все сегменты и понять, какую информацию способен отображать дисплей.
Затем путём перебора всех адресов и битов каждого адреса, была составлена карта сегментов, где я обозначил соответствие адреса и бита для включения каждого сегмента. Первая цифра обозначает адрес сегмента в памяти, вторая цифра — битовую маску для включения сегмента.
Но так как работать с 4-битными данными неудобно, я объединил каждые 2 адреса вместе, получив 16 адресов по 8 бит, и сделал новую карту сегментов.
Далее была написана небольшая библиотека для работы с дисплеем. Исходный код можно скачать в конце статьи. В библиотеке имеется базовый набор функций для отображения цифр, чисел, и символов. На фотографиях ниже можно ознакомиться с примерами отображения на дисплее.
Пример отображения беззнакового числа.
Пример отображения цифр и символов.
Пример отображения чисел с разделителем.