Страница 1 из 1

ЖК

Добавлено: Ср май 25, 2016 06:42:22
tonks
Знакомый торгаш отдал мне на барахол уймище китайских весов, и в каждых весах по 2 дисплея (3 шестизнака на плате) Управляется всё это дело по 3м пинам CS WR DA. Сначала подозревал что там сдвиговые регистры или что-то простое в таком духе, но после отключения дисплея от весов на ходу на дисплей больше ничего не выводилось, при том что проц посылает дальше дату на ЖК, это наталкивает на мысль что нужен инитиалайз... На осце удалось поймать 1ю посылку на ЖК после включения весов, жёлтый луч WR(CS) и синий DATA. Проанализировал и пробовал послать с атмени на ЖК такую же пачку, но что-то не прокатило... Скрины прикрепляю. Может кто знает, что за контроллер там китайские братья впихнули? Дисплеев таких штук 20 есть и все рабочие, хочется применить.

Re: ЖК

Добавлено: Ср май 25, 2016 10:14:21
BOB51
Может тут чего подскажется:
http://radiokot.ru/forum/viewtopic.php?f=2&t=89010
:dont_know:

Re: ЖК

Добавлено: Ср май 25, 2016 21:05:25
tonks
Ничего не получается с этими дисплеями... Неужели их никто не юзал? Этих же весов сломанных на любом рынке просто уйма... :?

Re: ЖК

Добавлено: Чт май 26, 2016 05:43:34
BOB51
Ежли весы "реестровые" можно попросить схемку/описание у сервисников по всеовой/кассовой технике и/или у изготовителя/производителя.
Вероятность использования типового контроллера весьма высока.
Попробовать самодельный протокол из возможных вариантов.
Ни и метод тест - перехвата протокола самодельным логическим анализатором на действующем образце тех весов вполне реален.
:beer:

Re: ЖК

Добавлено: Чт май 26, 2016 06:12:56
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 бит я так понял на каждую цифру..

Re: ЖК

Добавлено: Чт май 26, 2016 13:58:10
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

Re: ЖК

Добавлено: Чт май 26, 2016 14:24:39
BOB51
Лучше не код, а диаграммы выкладывать.
8)

Re: ЖК

Добавлено: Чт май 26, 2016 16:06:14
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 к плюсу.

Re: ЖК

Добавлено: Чт май 26, 2016 18:21:37
BOB51
Гымм... смутно... В той теме, что выше указывал мы более дотошно данные выкладывали, хотя также "по-любительски". 8)
А на Денпровес обратиться?
У них также вариант подобных дисплеев применяется...
:roll:

Re: ЖК

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

Изображение

Re: ЖК

Добавлено: Вт май 31, 2016 05:37:08
BOB51
Пока макет "под руками"...
На диапазон допустимого изменения питающего напряжения глянь - от 5 вольтей и до... сохраняет контраст? (не подсветку, а только контраст - подсветка там вроде не должна поддерживать пониженное питание).
Весьма интересно данные узнать (для копилки инфы).
:roll:

Re: ЖК

Добавлено: Вт май 31, 2016 11:15:30
tonks
Уже при 4.5 плохо видно, но на плате есть резистор, по дефолту 15К, можно подогнать контраст, вечером попробую на 3.3В подсадить дисплей.

Re: ЖК

Добавлено: Вт май 31, 2016 14:19:19
BOB51
Подкрутка неинтересно... Ибо - ВРУЧНУЮ... На тех, что от старых кассовых аппаратов никаких круток - чей-то в самом блочке самоподстраиваемое.
Ну да и на том спасибки!
8)

Re: ЖК

Добавлено: Ср июн 01, 2016 11:06:11
tonks
а мне норм ибо только на 5В буду их юзать) теперь нужно утилизировать)
Изображение

Re: ЖК

Добавлено: Ср июн 01, 2016 11:14:27
BOB51
НЯММ!!!...
:hunger: