ЖК

Обсуждаем цифровые устройства...
Ответить
Родился
Аватара пользователя
Сообщения: 14
Зарегистрирован: Ср май 25, 2016 06:23:49

Сообщение tonks »

Знакомый торгаш отдал мне на барахол уймище китайских весов, и в каждых весах по 2 дисплея (3 шестизнака на плате) Управляется всё это дело по 3м пинам CS WR DA. Сначала подозревал что там сдвиговые регистры или что-то простое в таком духе, но после отключения дисплея от весов на ходу на дисплей больше ничего не выводилось, при том что проц посылает дальше дату на ЖК, это наталкивает на мысль что нужен инитиалайз... На осце удалось поймать 1ю посылку на ЖК после включения весов, жёлтый луч WR(CS) и синий DATA. Проанализировал и пробовал послать с атмени на ЖК такую же пачку, но что-то не прокатило... Скрины прикрепляю. Может кто знает, что за контроллер там китайские братья впихнули? Дисплеев таких штук 20 есть и все рабочие, хочется применить.
Вложения
IMG_22.jpg
(111.98 КБ) 598 скачиваний
IMG_20160525_072447.jpg
(112.57 КБ) 589 скачиваний
SDS00002.jpg
(55.08 КБ) 555 скачиваний
Реклама
Друг Кота
Аватара пользователя
Сообщения: 15657
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Может тут чего подскажется:
http://radiokot.ru/forum/viewtopic.php?f=2&t=89010
:dont_know:
Реклама
Родился
Аватара пользователя
Сообщения: 14
Зарегистрирован: Ср май 25, 2016 06:23:49

Сообщение tonks »

Ничего не получается с этими дисплеями... Неужели их никто не юзал? Этих же весов сломанных на любом рынке просто уйма... :?
Друг Кота
Аватара пользователя
Сообщения: 15657
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Ежли весы "реестровые" можно попросить схемку/описание у сервисников по всеовой/кассовой технике и/или у изготовителя/производителя.
Вероятность использования типового контроллера весьма высока.
Попробовать самодельный протокол из возможных вариантов.
Ни и метод тест - перехвата протокола самодельным логическим анализатором на действующем образце тех весов вполне реален.
:beer:
Реклама
Эиком - электронные компоненты и радиодетали
Родился
Аватара пользователя
Сообщения: 14
Зарегистрирован: Ср май 25, 2016 06:23:49

Сообщение tonks »

И всё же это что-то близкое к HT1621, нарвался на код на одном из польских сайтов:
$crystal = 8000000
$regfile = "m16def.dat"

Config Pinb.0 = Output
Config Pinb.1 = Output
Config Pinb.2 = Output
Config Pinb.3 = Output

Cspin Alias Portb.0
Rdpin Alias Portb.3
Wrpin Alias Portb.1
Datapin Alias Portb.2

Dim Adres As Word
Dim Dane As Word
Dim Zmienna As Word
Dim Zmiennabyte As Byte
Dim I As Byte

Do
'Bias1 / 3
Zmienna = &B1000010100100000
Reset Cspin
Shiftout Datapin , Wrpin , Zmienna , 0 , 12 , 20
Set Cspin
Waitms 20

'sysenable
Zmienna = &B1000000000100000
Reset Cspin
Shiftout Datapin , Wrpin , Zmienna , 0 , 12 , 20
Set Cspin
Waitms 20

'lcd enable
Zmienna = &B1000000001100000
Reset Cspin
Shiftout Datapin , Wrpin , Zmienna , 0 , 12 , 20
Set Cspin
Loop

Zmienna = &B1010000001111000
For I = 0 To 23 Step 1
Reset Cspin
Shiftout Datapin , Wrpin , Zmienna , 0 , 13 , 20
Set Cspin
Waitus 20
Zmienna = Zmienna + &B0000000010000000
Next I

Wait 5 'odczekam i wyczyszcze ekran

Zmienna = &B1010000000000000
For I = 0 To 23 Step 1
Reset Cspin
Shiftout Datapin , Wrpin , Zmienna , 0 , 13 , 20
Set Cspin
Waitus 20
Zmienna = Zmienna + &B0000000010000000
Next I


Wait 5
'Lcd Disable
Zmienna = &B1000000001000000
Reset Cspin
Shiftout Datapin , Wrpin , Zmienna , 0 , 12 , 20
Set Cspin
End

На дисплее хоть и разная ерунда, но уже понятно что инициализация пошла, и не всё так безнадёжно, буду теперь дальше копать.
+Очистка дисплея работает только для 2го и 3го дисплея, на первом остаётся ерунда... нужно играться с адресацией... Пощупал осцилом сигналы на работающих весах - похоже, но в отличии от примеров для 1621 посылается 3 бита (команда записи), потом 6 бит (хз) и дальше пачками по 8 бит я так понял на каждую цифру..
Реклама
Родился
Аватара пользователя
Сообщения: 14
Зарегистрирован: Ср май 25, 2016 06:23:49

Сообщение tonks »

Поборено :)) Осталось сделать знакогенератор удобный в подпрограмме. Изображение

$crystal = 8000000
$regfile = "m16def.dat"

Config Portb.0 = Output
Config Portb.1 = Output
Config Portb.2 = Output
Config Portb.3 = Output

Cspin Alias Portb.0
Rdpin Alias Portb.3
Wrpin Alias Portb.1
Datapin Alias Portb.2

Declare Sub Lcdclear
Declare Sub Lcdinit
Declare Sub Lcdoff
Dim Adres As Word
Dim Dane As Word
Dim Wr As Byte
Dim Wa As Byte
Dim Za As Byte
Dim Zb As Byte
Dim Zc As Byte
Dim Zd As Byte
Dim Ze As Byte
Dim Zf As Byte
Dim Zg As Byte
Dim Zh As Byte
Dim Zi As Byte
Dim Zj As Byte
Dim Mi As Byte
Dim Cmdx As Word
Dim I As Byte
Lcdinit
Lcdclear
'Write command
Wr = &B10100000
'Write address
Wa = &B00000000
'Digits
Za = &B01111101 ' 0
Zb = &B01100000 ' 1
Zc = &B00111110 ' 2
Zd = &B01111010 ' 3
Ze = &B01100011 ' 4
Zf = &B01011011 ' 5
Zg = &B01011111 ' 6
Zh = &B01110000 ' 7
Zi = &B01111111 ' 8
Zj = &B01111011 ' 9
Mi = &B10000010 ' - with dp

Do
'Test digits out
Reset Cspin
Waitus 100
Shiftout Portb.2 , Portb.1 , Wr , 0 , 3 , 20
Waitus 100
Shiftout Portb.2 , Portb.1 , Wa , 0 , 6 , 20
Waitus 100

Shiftout Datapin , Wrpin , Mi , 0 , 8 , 20
Waitus 20
Shiftout Datapin , Wrpin , Mi , 0 , 8 , 20
Waitus 20
Shiftout Datapin , Wrpin , Mi , 0 , 8 , 20
Waitus 20
Shiftout Datapin , Wrpin , Mi , 0 , 8 , 20
Waitus 20
Shiftout Datapin , Wrpin , Mi , 0 , 8 , 20
Waitus 20
Shiftout Datapin , Wrpin , Mi , 0 , 8 , 20
Waitus 20
Shiftout Datapin , Wrpin , Zj , 0 , 8 , 20
Waitus 20
Shiftout Datapin , Wrpin , Zi , 0 , 8 , 20
Waitus 20
Shiftout Datapin , Wrpin , Zh , 0 , 8 , 20
Waitus 20
Shiftout Datapin , Wrpin , Zg , 0 , 8 , 20
Waitus 20
Shiftout Datapin , Wrpin , Zf , 0 , 8 , 20
Waitus 20
Shiftout Datapin , Wrpin , Ze , 0 , 8 , 20
Waitus 20
Shiftout Datapin , Wrpin , Zd , 0 , 8 , 20
Waitus 20
Shiftout Datapin , Wrpin , Zc , 0 , 8 , 20
Waitus 20
Shiftout Datapin , Wrpin , Zb , 0 , 8 , 20
Waitus 20
Shiftout Datapin , Wrpin , Za , 0 , 8 , 20
Waitus 20
Set Cspin
Waitms 200
Loop



Sub Lcdinit
'Bias
Cmdx = &B1000010010100000
Reset Cspin
Shiftout Datapin , Wrpin , Cmdx , 0 , 12 , 20
Set Cspin
Waitms 20

'sysenable
Cmdx = &B1000000000100000
Reset Cspin
Shiftout Datapin , Wrpin , Cmdx , 0 , 12 , 20
Set Cspin
Waitms 20

'lcd enable
Cmdx = &B1000000001100000
Reset Cspin
Shiftout Datapin , Wrpin , Cmdx , 0 , 12 , 20
Set Cspin
End Sub



Sub Lcdclear
Cmdx = &B1010000000000000
For I = 0 To 23 Step 1
Reset Cspin
Shiftout Datapin , Wrpin , Cmdx , 0 , 13 , 20
Set Cspin
Waitus 20
Cmdx = Cmdx + &B0000000010000000
Next I
End Sub

Sub Lcdoff
'Lcd Disable
Cmdx = &B1000000001000000
Reset Cspin
Shiftout Datapin , Wrpin , Cmdx , 0 , 12 , 20
Set Cspin
End Sub

End
Реклама
Друг Кота
Аватара пользователя
Сообщения: 15657
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Лучше не код, а диаграммы выкладывать.
8)
Родился
Аватара пользователя
Сообщения: 14
Зарегистрирован: Ср май 25, 2016 06:23:49

Сообщение tonks »

Тут всё просто, инициализация:
Тянем CS на землю.
Настройка контраста и COM, для этого шлём 12 бит 100001001010
если контраст плохой, стоит поиграться с 11м битом (0=bias 1/2, 1=bias 1/3)
Если не отображается часть сегментов, нужно играться с COM (8 и 9 бит):
2 COM - 00
3 COM - 01
4 COM - 10
Врубаем осцилятор, шлём 12 бит 100000000010
Включение дисплея, шлём 12 бит 100000000110
Нуу и дальше 16 8`битных пачек у меня получилось (щупал осцилографом на рабочих весах)
тоесть 7 сегментов и точка, 1й бит точка, 2-8 сегменты. Чип сам плюсует адрес памяти для символов после каждой 8бит пачки.
Тянем CS к плюсу.
Друг Кота
Аватара пользователя
Сообщения: 15657
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Гымм... смутно... В той теме, что выше указывал мы более дотошно данные выкладывали, хотя также "по-любительски". 8)
А на Денпровес обратиться?
У них также вариант подобных дисплеев применяется...
:roll:
Родился
Аватара пользователя
Сообщения: 14
Зарегистрирован: Ср май 25, 2016 06:23:49

Сообщение tonks »

Я думаю что это именно и есть HT1621, команды все совпадают, о нём уже написано достаточно. Делаю лабораторный БП в корпусе мини ATX, отрезал 3й дисплей и врезал в заглушку си-ди рома, развожу печатку регулятора напряжения на МК

Изображение
Друг Кота
Аватара пользователя
Сообщения: 15657
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Пока макет "под руками"...
На диапазон допустимого изменения питающего напряжения глянь - от 5 вольтей и до... сохраняет контраст? (не подсветку, а только контраст - подсветка там вроде не должна поддерживать пониженное питание).
Весьма интересно данные узнать (для копилки инфы).
:roll:
Родился
Аватара пользователя
Сообщения: 14
Зарегистрирован: Ср май 25, 2016 06:23:49

Сообщение tonks »

Уже при 4.5 плохо видно, но на плате есть резистор, по дефолту 15К, можно подогнать контраст, вечером попробую на 3.3В подсадить дисплей.
Друг Кота
Аватара пользователя
Сообщения: 15657
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Подкрутка неинтересно... Ибо - ВРУЧНУЮ... На тех, что от старых кассовых аппаратов никаких круток - чей-то в самом блочке самоподстраиваемое.
Ну да и на том спасибки!
8)
Родился
Аватара пользователя
Сообщения: 14
Зарегистрирован: Ср май 25, 2016 06:23:49

Сообщение tonks »

а мне норм ибо только на 5В буду их юзать) теперь нужно утилизировать)
Изображение
Друг Кота
Аватара пользователя
Сообщения: 15657
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

НЯММ!!!...
:hunger:
Ответить

Вернуться в «Цифровая техника»