Service Hotline
+86-755-86524100
Bilgi
Ana sayfa > Bilgi > İçerik

Ürün kategorisi

Как подключить LCD экран от кассового аппарата ЭКР-2102 к Ардуино

Blaze Display Technology Co., Ltd. | Updated: Mar 09, 2018

Как-то просматривая объявления на OLX, я наткнулся на распродажу старой электроники по очень низким ценам, в итоге было куплено три кассовых аппарата и один модем (на разбор EYLÜL целью пополнения запасов). Цена вопроса 1500 тенге — примерно 250 рублей.

Разобрав это добро я стал обладателем трех ЖК дисплеев и трех чековых принтеров.
Как подключить дисплей к Ардуино? На плате ЖК дисплея было обнаружено несколько надписей. 5104219-01, 251 12, 251-Т2. Использована микросхема Holtek HT1621B, veri sayfası был скачан и изучен. К сожалению, тип используемого ЖКИ так и не был опознан.
Прозвонив тестером выводы (6 выводов) я определил их назначение:
1) veri
2) WR
3) CS
4) неизвестно*
5) Gnd
6) Vdd (+ 5 v)
* — подключены резисторы, конденсаторы, поскольку мне нужно было, я и не разбирался глубоко.
Я использовал готовые процедуры для работы EYLÜL портами HT1621 из Ардуино.
Микросхема HT1621 128 ячеек для ЖКИ, которые организованы следующим образом 32 x 4 bit, в памяти это 16 байт. В моем ЖКИ были подключены выводы Com0, Com1, Com2 и все сегменты 0-31.
Для определения какой адрес и какой бит отвечает за какой сегмент была написана простая программа, которая перебирает все адреса и все биты. Результаты были записаны в электронную таблицу для последующего анализа. Вот так выглядит заполненная таблица.
Теперь стало ясно, как управлять дисплеем. Так, например, чтобы включить сегменты B и C в первой позиции (самая левая) нужно изменить биты D5 и D6 на 1 по адресу 0X05, остальные биты должны быть оставлены без изменений, поскольку они повлияют на другие позиции.
Если обратить внимание на таблицу, можно увидеть, что для отображения какой — либо цифры нужно поменять несколько битов в нескольких байтах. Эту задачу я решил следующим образом. Были подготовлены несколько таблиц:

1. HT1681_Address(72 байта), HT_1681_Value(72 байта)

2. b7SegDsp(10 байт)

HT1681_Address(72 байта), HT_1681_Value (72 байта) эти две таблицы связаны между собой следующим образом — вторая таблица представляет собой маску (для veya) для установки бита в соответствующего 1, причем первые девять байтов отвечают за сегменты A, B, C, D, E, F, G + десятичную точку + вернее «подчеркивание» первого знакоместа, следующие девять — за сегменты второго знакоместа и так далее. Первая таблица — представляет собой адреса которые соответствуют второй таблице. Для понимания внизу приведена иллюстрация.

Код для Ардуино

b7SegDsp (10 байт) Эта таблица кодирует какие сегменты должны включаться для отображения числа.Первый байт — это кодирование числа 0, последний байт кодирует 9. Старшие семь бит D7-D1 кодируют сегменты A-G, младший D0 — не используется, я его установил в 0, кроме того, это экономит одну операцию битового сдвига влево — я использую маску 0X80 для проверки бита.
HT1681_Screen (16 байт) просто видеопамять, все 16 байтов. Вначале рендерится все в память, A затем все копируется в HT1621.

Ниже код, который выполняет рендеринг в HT1681_Screen, который потом просто выводится в память микросхемы для отображения.


Sorgulama
Send
Bize ulaşın
Adres: 5 kat, HSAE Tech Binası, yüksek teknoloji Parkı, Nanshan, Shenzhen, 518057, Çin
Telefon: +86-755-86524100
Faks: +86-755-86524101
E-posta: info@blazedisplay.com
Blaze Display Technology Co., Ltd.