А что если попробовать другую прошивку для тестера (под цветной экран)?
Вид для печати
А что если попробовать другую прошивку для тестера (под цветной экран)?
О чудо, с самой первой версией 0.8.3 (92) заработало! Но не одно, так другое, на экране какая-то полоска заметил, что и на 5110 в этом же месте не прорисовывались пиксели грешил, что на самом дисплее отошел контакт. Значит, что-то не так на основной плате тестера?
Вложение 63814
P.S. Прошил последнюю прошивку - работает, почему сразу не хотел загадка, полоска осталась.
Заметил, что иногда бывает такая проблема (чёрная заставка на экране), которая лечится при повторном подключении питания. Похоже, на линии UART где-то появляется мусорный(е) байт(ы), из-за чего платы не могут синхронизировать соединение. Раньше, при подключении по USB, такого не замечал.
А полосы на экране - похоже, брак дисплея (если они стабильно на одном месте).
Вот я чайник, полоска потому, что сверху дисплея наклеена пленка, а полоска на пленке. Транзисторы поставил как на схеме BC817 - подсветка дисплея, BC807 - пищалка, все работает. Не знаю почему у alex-z80 не работало правильно. Еще один момент, Олег, попробуйте на последней прошивке выставить sound на 0%, у вас не пропадут строчки?
Что-то давно прошивка не обновлялась.
Прошивка в процессе (медленно, но в процессе) - пока портирую дисплейный модуль на атмегу8.. Потом планирую переписывание на ассемблер базовых функций. Т.е., будет много изменений, которые внешне малозаметны.
А у кого есть микросхема TESLA МСА660 (Аналогом вроде является К174УК1) ?
https://rudatasheet.ru/microchips/k174uk1/
Хотелось бы ее проверить тестером, есть подозрение что она убивает тестер..
Andrey_Ak, тестер только для логических микросхем. Зачем ты туда втыкаешь аналоговую?
Пусть у нас микросхема со стёртой маркировкой. Каков алгоритм узнования, что оно такое.
Легко было-бы воткнуть её в сабжевый тестер, а он бы, вместо того чтобы сгореть, написал бы: "это неведомая аналоговая фигня".
Ну почему-же, тестер уже умеет и аналоговые проверять?
Скрытый текст
Операционные усилители
LM358 (LM158, LM258, LM2904), LM393 (LM193, LM293, LM2903), LM386, LM324 (LM124, LM224, LM2902)
Также тестер должен работать с другими ОУ, имеющими аналогичную цоколёвку, и работающими от источника однополярного напряжения 5В.
Оптопары
PC817, PC827, PC837, PC847, HCP2601 (6N137, HCP2611)
Прочие аналоговые микросхемы
ULN2003 (ULN2002, ULN2004)
[свернуть]
И потом, я не специально туда засунул эту микросхему,
тестировал коробочку разношерстных ИС, и там
попались две таких среди остальных логических.
Или надо было предварительно смотреть даташит на нее?
По идее, тестер не должен дохнуть от неизвестных микросхем,
т.к. микросхема может быть дохлая с замкнутыми выводами..
- - - Добавлено - - -
Тут еще вопрос, сгорел от этой ИС или просто так сгорел, статика там или еще чего..
Поэтому хотелось бы у кого есть тестер и такая микросхема, проверили ее.. :)
Аналоговые проверять действительно умеет, но только при работе с дисплеем в режиме проверки аналоговых МС. Через софт - только логику (там окно так и называется - "Logic test").
Но и гореть из-за этого тестер как бы не должен - тесты проходят быстро.
Если проверяемая ИС в ходе тестов дважды нагрелась до ожога пальца, то варианты "просто так сгорел" и "статика" выглядят сомнительными :)
Если микросхема так разогрелась в режиме без платы ключей, значит весь нагревавший её ток протекал через МК. С другой стороны, на всех выводах там токоограничивающие резисторы по 22 Ом, т.е., даже при полном КЗ ток никак не должен был превысить ~100мА.
А как долго проверялась микросхема?
Поставил в панельку, плата ключей установлена, запустил из софта тест,
галочку использования ключей установил,
в окошке написало Testing или как-то так, сижу жду, надпись не уходит,
ну подождал секунд 10-20 надпись не уходит, давай вытаскивать микросхему,
а она раскаленная..
---
Вытащил, поставил другую, точно такую-же, на этот раз галочку использования
ключей убрал, микросхема не греется, запускаю тест и тут-же она начала
раскаляться.. Вытащил..
Поставил другую обычную цифровую, которую проверял уже,
давай тестировать а она не тестируется, потом проверяю подключение,
а тестер не подключается, выключил, и после уже тестер на связь не выходит..
Потом проверил прибором все резисторы на плате - все целые..
Могу отправить эти две микросхемы убийцы, дабы проверить еще раз на живом тестере..
Гонять почту из-за пары "микросхем-убийц", наверное, не стоит - куплю их тут локально при следующем заказе.
Но думаю, что дело тут не в них.. Тест занимает парт-тройку секунд максимум, за это время ничего нагреться не должно. А тут получается, что тест завис, причём, завис именно в процессе проверки, иначе, он бы обесточил микросхему..
И без дисплея не очень понято, что же произошло..
Единственное, что приходит в голову - проблемы с питанием: оно могло просесть в момент теста, либо, было много помех по питанию, и это вызвало зависание МК. Но раз тестер питался от БП компьютера, то с питанием всё должно быть хорошо. А с USB можно снять 500мА, при том, что ток через тестирую МС частично ограничен резисторами..
Есть возможность попробовать прошить тестер?
Тут вопрос еще в том, эти две микросхемы убили тестер потому что они такие,
или потому что они обе дохлые так были...
А логов не остается при работе?
Я подряд протестировал 81 шт. TTL микросхему, потом 21 шт. CMOS, потом:
К1ЛР721 - 1 ШТ - ( НЕ ТЕСТИРУЕТСЯ / К172ЛР1 )?
К1ЛР551 - 1 ШТ / К155ЛР1
1ЛБ552 - 1 ШТ / К155ЛА2
Потом:
504НТ38 - 1 ШТ - НЕ ТЕСТИРУЕТСЯ
55СА3 - 1 ШТ - НЕ ТЕСТИРУЕТСЯ
198НТ1Б - 1 ШТ - НЕ ТЕСТИРУЕТСЯ
157УЛ1А - 1 ШТ - НЕ ТЕСТИРУЕТСЯ
193ИЕ3 - 1 ШТ - НЕ ТЕСТИРУЕТСЯ
и потом уже TESLA МСА660 2 шт.
А как тестер должен прошиваться, если он на связь не выходит?
Или через дополнительный не впаянный разъем и так-же через переходник USB-UART?
Но боюсь что и там он для прошивки на связь не выйдет..
---
Контроллер ATMega128 я уже выпаял, купил парочку новых,
сегодня планирую запаять новый контроллер..
Кстати, после замены контроллера его прошивать надо через стандартный разъем для связи,
или все-же через дополнительный не впаянный разъем?
Даже если они были дохлыми, они не должны были убивать тестер... За пару секунд теста МС не должна нагреваться..
Логов нет, их передача по UART заняла бы в разы больше времени, чем сами тесты (а для отладки есть режим пошагового выполнения).
Да, этих нет в списке поддерживаемых. А для них (и для ТТЛ/КМОП) тесты выполнялись не дольше 2-3 сек?
Да, через этот разъём. Его можно впаять (если он не будет мешаться в корпусе, или корпус не планируется), либо просто плотно прижать в момент программирования (я делаю так). Нужен программатор типа USBASP.
Это, возможно, зря... Могла просто слететь прошивка, было такое один раз... Новый контроллер всё равно придётся прошивать программатором в перый раз.
Список после слова Потом: улыбнул. :v2_dizzy_facepalm:
Да просто для тестирования тестера, взял на работу коробочку с разношерстными
микросхемами, что там лежало у меня даже не знаю и в моей базе ИС не числиться..
Ну и на работе как-бы делать нечего, вот и начал все микросхемы
из коробочки подряд тестировать.. :)
- - - Добавлено - - -
Нет, быстро выполнялись.. Задержек как и со стандартными TTL не было
Кстати говоря, тестер любит зависать на некоторых типах микросхем (особенно с включенным power module), вот например:
555ТМ9 проверяется и при PowerOFF и при PowerON
1533ТМ9 проверяется при PowerOFF, при PowerON зависание
555ЛН1 проверяется и при PowerOFF и при PowerON
1533ЛН1 проверяется и при PowerOFF и при PowerON
74AC04PC выскакивает с писком в главное меню при PowerOFF, при PowerON зависание (на Мега8515 тестере тестируется как исправная)
ЛН3 увы не имею, но парочка DM7406N зависают в обоих режимах (на Мега8515 тестере тестируется как исправная)
555ИР22 проверяется и при PowerOFF и при PowerON
1533ИР22 проверяется и при PowerOFF и при PowerON
SN74ALS373N проверяется при PowerOFF, при PowerON зависание
1533АП5 проверяется при PowerOFF, при PowerON зависание
74F244PC зависают в обоих режимах (на Мега8515 тестере тестируется как исправная)
SN74LS244N проверяется при PowerOFF, при PowerON зависание
http://i105.fastpic.ru/big/2018/0531...af0748404d.jpg
И есть у меня одна (из 12 имеющихся) хитрая 1533КП13, которая определяется как дохлая, но на Мега8515 тестере как исправная, но то такое, может она таки издыхающая, тем более выпаяна черт знает откуда, в отличие от остальных купленых новыми.
P.S. И научите меня уже проверять КР580ВВ55А, а то четыре имеющихся, снятые с рабочих машин никак не определяются в обоих режимах. Есть какие нибудь тонкости? Может им куда-то хитро нужно плюсы минусы подать?
А с этими-то что не так? :)
По остальному списку сейчас проверю, но я зависаний уже давно не видел вообще (на последних, как минимум, пяти версиях прошивки точно)...
У меги8515 8кб памяти, а у меги128 - 128кб :) Соответственно, тестов в 128мегу влазит больше, и они могут быть более детальными.
С КР580ВВ55А есть два момента:
1. это 40-ножки к корпусе с метрическим шагом, а шаг панели - дюймовый. Соответсвенно, может быть плохой контакт, особенно, если есть окислы.
2. автор тестов для КР580ВВ55А - Прусак, и он говорил, что с ними были проблемы в том, что у МС разных партий может быть разная логика работы в некоторых режимах. Но, если верно помню, в тесте проверяются только первые режимы, и там этой проблемы нет.
А вообще, если что-то не проверяется, то надо подключать к компу, запускать пошаговый отладчик и смотреть, где именно валится тест. Тем более, что исходники теста КР580ВВ55А точно есть на гитхабе.
- - - Добавлено - - -
А, торможу - типа, для одного и того же типа разные серии ведет себя по-разному.
Импорта под рукой нет, но все 1533ТМ9 и 1533АП5 у меня проверились без проблем.
Для 1533АП5 индикатор прогресса немного подвисает в начале второго прохода, но это из-за того, что микросхема "медленная". 1533ТМ9 проверяет в один проход.
- - - Добавлено - - -
А от чего питается тестер?
У кого-нибудь ещё наблюдаются зависания на последних версиях прошивки?
Я бы для начала проверил с другим, нормальным БП. Желательно, с православным трансформаторным :)
Такого рода схемки доверия не внушают (хотя, я не специалист в ИБП), да и выходные конденсаторы могли подсохнуть/вздуться (http://www.pcs-service.ru/remont-bloka-pitaniya-d-link/)
http://www.pcs-service.ru/wp-content.../03/Scheme.jpg
Внушают. Они круглосуточно роутеры/свичи питают по всему миру. ;) Да, бывают что и дохнут (как и всё на этом свете) и даже может показаться, что часто дохнут. А потому что их дофига, потому и часто. Мой кстати чиненый, я его сам и чинил. :) От этого БП вот например Himac128 весь день вчера работал и не глючил. Нормальный БП, не вижу в нём никаких проблем.
А 6В стабилитрон на выходе там к чему может быть? :) В самом роутере, поди, ещё стабилизатор на 3.3В стоит.. Но то, что Himac128 работает - это да, аргумент, согласен.. :)
Trol73, отсекать выбросы при дохлом конденсаторе. Чтобы в защиту уходил. Он, кстати, не всегда установлен.
561ЛЕ10 определяется как = ЛП4 (CMOS)
Подскажите, как запустить "тест в пошаговом отладчике" ?
Тему перечитал, так и не нашел как, в описании тестера:
http://trolsoft.ru/ru/sch/chip-tester
http://trolsoft.ru/ru/sch/ic_tester-2
так-же не нашел...
http://trolsoft.ru/content/sch/chip-...st-debuger.pngЦитата:
В меню -> Windows можно открыть одно из трёх окон тестера. "Test builder" - это редактор и отладчик тестов.
Тут можно писать, компилировать, и запускать тесты, выполняя их пошагово.
Но в этом окошке, где на картинке написано КП1, 150 я не могу выбрать нужную мне ИС, там просто пусто
-----------------------------------------------------
Потом все-же хотелось уточнить по логике работы тестера, а именно:
Допустим ставим ИС с выводами более 14, тогда для определения
типа ИС тестер должен подать питание на 7, 14 выводы, затем пройтись
по всем тестам в базе, если ИС не нашлась, тогда должен еще раз пройтись,
но уже с задержкой, если и тогда не нашлась, тогда должен подать питание
уже на 8, 16 выводы, потом пройтись по всей базе без задержки и потом
с задержкой. Если и тогда не нашлась тогда уже подает питание
на другие выводы для DIP20, 24, 28, 40
Если ставиться к примеру микросхема DIP40,
это сколько же раз на разные и не правильные выводы
подается питание, да и еще с задержками пока
тестер два раза проходиться по всей базе..
Не поплохеет ли от такого микросхемам?
Они конечно не дохнут, по крайней мере те, что уже есть в базе,
т.к. они уже проверялись..
Ну и не совсем понятен алгоритм работы платы ключей,
она так-же последовательно подает питание сначала
на 7,14 потом идет проверка по базе тестов, потом
подается питание на 8,16 и снова прогон по базе тестов,
и так-же потом питание для DIP20, 24, 28, 40 ?
- - - Добавлено - - -
Процедура конфигурирования модуля ключей должна выполняться обязательно при его первом подключении. Далее, конфигурация хранится в энергонезависимой памяти микроконтроллера. Выполнять переконфигурирование имеет смысл только при изменении схемы подключения ключей либо после обновления прошивки тестера. После конфигурации ключей тестер готов к работе.
А как в софте делается конфигурирования модуля ключей?
Мне наверно тоже надо это сделать, т.к. микроконтроллер менялся
и прошивался заново.. У меня сейчас отображаются ключи так:
http://tis.kz/temp/ic-tester/pc.jpg
- - - Добавлено - - -
Еще хотелось бы в базу добавить вот эти:
К155АП1
К155ЖЛ1
К155ИМ1
К555ИМ6
К155ИД8А
К155ЛД1
К155РУ1
К155ЛА12 в корпусе DIP16
Ну и если воообще возможно то и эти:
КР580ИК55
КР580ВИ53
К589ИК01
К589ИК02
КР559ИП1
КР559ИП2
КР559ИП3
561ЛЕ10 определяется как "ЛЕ10, ЛП4". Ложноположительное определение как ЛП4 буду исправлять, спасибо..
Да, там пусто - надо сначала загрузить файл тестов :)
Да, тестер пробегает по всем тестам в базе и прогоняет их. Поплохеть микросхеме не должно, т.к. подаваемые импульсы короткие и ток ограничен.
Кстати, существуют официально регламентированные методы проверки микросхемы прямо в схеме, без выпаивания, и там подаваемые токи больше, чем в этом тестере.
В каждом тесте на микросхему подётся питание, в зависимости. При перебирании всех МС в базе тестер также перебирает все варианты питания. При этом он не знает, какая МС установлена - DIP-8 или DIP-40, варианты перебираются все.
Это и есть экран конфигурации :) После его отображения ключи сконфигурированы.
ЖЛ1, ИМ1,ИМ6, ИД8А, ЛД1, К155ЛА12 в корпусе DIP16 - у меня нет этих микросхем, чтобы написать тесты.
С удовольствием напишу для них тесты, если у вас они есть и есть желание помочь с отладкой. Так же, возможно, что для некоторых из них я не смог найти их описания.
АП1 - эти есть, но, кажется, не смог найти на них нормального описание, либо там проблемы с написанием тестов (сейчас уже не помню)...
ИК55 - это же аналог ВВ55?
по остальным надо будет посмотреть...
Желание помочь есть, проект тестера очень замечательный и интересный,
хочется чтоб тестер умел правильно тестировать все возможные ИС..
Я бы мог дать удаленный доступ к ПК, подключенному к тестеру,
и в тестер устанавливать нужные ИС..
- - - Добавлено - - -
Попробовал написать тест для 155ЛА12 в корпусе DIP16
Вот отличия распиновки для 14 и 16 корпусов:
http://tis.kz/temp/ic-tester/la12.jpg
В тестере в качестве теста для ЛА12 используется тест ЛА3, вот он:
http://tis.kz/temp/ic-tester/la12-1.jpg
Дебуг его работает на 155ЛА12 DIP-14:
http://tis.kz/temp/ic-tester/la12-2.jpg
Переписал тест согласно выводов для корпуса DIP-16:
http://tis.kz/temp/ic-tester/la12_16-1.jpg
Дебуг его теперь работает на 155ЛА12 DIP-16:
http://tis.kz/temp/ic-tester/la12_16-2.jpg
Сам тест, чтоб не набирать:
http://tis.kz/temp/ic-tester/la12-16.rar
---
Только надо название на русском написать, например К155ЛА12 DIP-16,
а то у меня в софте русские буквы кракозябрами отображаются, кодировка не та почему-то..
- - - Добавлено - - -
Кстати, по поводу не сохранения размеров и положения окна софта после выхода:
рядом с исполняемым файлом тестера создается файл настроек settings.json
в нем есть секция:
Так вот, меняю в ней "height": 788 на "height": 600Код:"makeTesterWindow": {
"x": 34,
"y": 28,
"width": 1000,
"height": 788,
"visible": true
}
сохраняю файл, запускаю тестер, и он открывается по вертикали все-равно на 788 пикселей,
закрываю тестер, смотрю файл настроек и там снова выставляется значение 788.
точно так-же меняю значение "width": 1000 на "width": 1200
сохраняю файл, запускаю тестер, и он открывается по горизонтали все-равно на 1000 пикселей,
закрываю тестер, смотрю файл настроек и там снова выставляется значение 1000.
А если менять положение окна по значениям "x": и "y": то настройки сохраняются..
Вот какое-то описание на 155АП1, и она похоже одно и то-же что и 155ЖЛ1
http://www.155la3.ru/datafiles/k155ap1.pdf
Но что-то логику работы я так и не понял..
Попробовал написать тест для 155ИД8
http://tis.kz/temp/ic-tester/id8-3.jpg
http://tis.kz/temp/ic-tester/id8-4.jpg
Вот что получилось:
http://tis.kz/temp/ic-tester/id8-2.jpg
На микросхеме тест проходит..
http://tis.kz/temp/ic-tester/id8-1.jpg
Не понятно что делает команда SET: 1 -> 20, 21, 22, 23
если ее не ставить, то тест не проходит...
Сам тест, чтоб не набирать:
http://tis.kz/temp/ic-tester/id8.rar
- - - Добавлено - - -
А все разобрался, SET: 1 -> 20, 21, 22, 23 это подтяжка к питанию входов, можно было бы без нее исправив так:
Но так ругается на @ на входах..Код:CHIP[24] '155ID8'
POWER: -12 +24
IN: @20, @21, @22, @23
OUT: @1, @2, @3, @4, @5, @6, @7, @8, @9, @10, @11, @13, @14, @15, @16, @17, @18, @19
TEST: 0001 => 111111111101010101
TEST: 0010 => 000010010110011100
TEST: 0010 => 000010010110011100
TEST: 0011 => 001110010110011001
TEST: 0100 => 111000001101000101
TEST: 0101 => 001000000011011001
TEST: 0111 => 111111110010010101
TEST: 1000 => 000010000110011001
TEST: 1001 => 011010000110001001
TEST: 1010 => 111000111111001111
TEST: 1011 => 000000000011111100
TEST: 1100 => 111111111111111111
TEST: 1110 => 111111111111111111
TEST: 1111 => 111111111111111111
---
Да, пропустил еще этот тест:
SET: 1 -> 20, 21, 22, 23
TEST: 0000 => 000101000110101001
Подаёт 1 на все входы. Это можно было бы записать так:PHP код:SET: 1 -> 20, 21, 22, 23
Странно, что без этой команды тест не проходит..PHP код:SET: 1111
'@' введана для выходов с общим коллектором, которые надо подтягивать к питанию. Для входов это было бы лишено смысла..
Может, микросхеме не хватает питания? Надо добавить '*' чтобы тест проходил с ключами.
Ещё можно включить пошаговую отладку и замерить напряжение между 12 и 24 выводами - вероятно, оно проседает..PHP код:POWER: -12* +24*
Ну еще попытка написать тест для 155ИМ1
Вот описание ИС:
Скрытый текст
Вот нашел в сети блок-схему этой ИС:
Скрытый текст
http://tis.kz/temp/ic-tester/im1.jpg[свернуть]
Ну и попытка проверки по блочно, не знаю даже, правильно или нет..
Не совсем понимаю логику работы этой ИС
Скрытый текст
Код:CHIP[14] '155IM1'
POWER: -7 +14
IN: 8, 9, 12, 13
OUT: 10, 1
Тут проверяем работу элемента DD1
TEST: 0000 => 1?
TEST: 0100 => 1?
TEST: 1000 => 1?
TEST: 1100 => 0?
Тут проверяем работу элемента DD2
TEST: 0000 => ?1
TEST: 0001 => ?1
TEST: 0010 => ?1
TEST: 0011 => ?0
CONFIG: 11, 10, 1, 2 -> IN ; 5, 6, 4 -> OUT
Тут проверяем работу элементов DD3, DD4, первую половину DD5, первую половину DD6
TEST: 0000 => 100
TEST: 0001 => 100
TEST: 0010 => 100
TEST: 0011 => 010
TEST: 0100 => 100
TEST: 0101 => 100
TEST: 0110 => 100
TEST: 0111 => 010
TEST: 1000 => 100
TEST: 1001 => 100
TEST: 1010 => 100
TEST: 1011 => 010
TEST: 1100 => 010
TEST: 1101 => 010
TEST: 1110 => 010
TEST: 1111 => 101
CONFIG: 11, 2, 3 -> IN ; 5, 6, 4 -> OUT
Тут проверяем работу элементов DD5,6 ч.1 - вторую половину DD5, вторую половину DD6
TEST: 000 => 010
TEST: 001 => 100
TEST: 010 => 010
TEST: 011 => 100
TEST: 100 => 010
TEST: 101 => 100
TEST: 110 => 010
TEST: 111 => 100
CONFIG: 10, 1, 3 -> IN ; 5, 6, 4 -> OUT
Тут проверяем работу элементов DD5,6 ч.2 - вторую половину DD5, вторую половину DD6
TEST: 000 => 010
TEST: 001 => 100
TEST: 010 => 101
TEST: 011 => 010
TEST: 100 => 101
TEST: 101 => 010
TEST: 110 => 011
TEST: 111 => 101
[свернуть]
- - - Добавлено - - -
Плату ключей подключил в тесте, без SET: 1 -> 20, 21, 22, 23 дает ошибки теста,
причем не зависит, подключена ли плата ключей или нет. (POWER: -12* +24* / POWER: -12 +24)
Скрытый текст
А если снять внизу чекбокс SET+TEST ?
Получается, что это микросхема слишком медленная, и SET выполняет функцию задержки. Добавлю эти тесты в прошивку - тогда должны работать на втором проходе.
- - - Добавлено - - -
В тесте для ИД8:
PHP код:TEST: 0000 => 000101000110101001
TEST: 0001 => 111111111101010101
TEST: 0010 => 000010010110011100
TEST: 0010 => 000010010110011100 # двойная проверка
TEST: 0011 => 001110010110011001
TEST: 0100 => 111000001101000101
TEST: 0101 => 001000000011011001
# кажется, пропущена проверка для 0110 ?
TEST: 0111 => 111111110010010101
TEST: 1000 => 000010000110011001
TEST: 1001 => 011010000110001001
TEST: 1010 => 111000111111001111
TEST: 1011 => 000000000011111100
TEST: 1100 => 111111111111111111
# кажется, пропущена проверка для 1101 ?
TEST: 1110 => 111111111111111111
TEST: 1111 => 111111111111111111
- - - Добавлено - - -Код:CHIP[24] 'К155ИД8А'
POWER: -12 +24
IN: 20, 21, 22, 23
OUT: @1, @2, @3, @4, @5, @6, @7, @8, @9, @10, @11, @13, @14, @15, @16, @17, @18, @19
TEST: 0000 => 000101000110101001
TEST: 0001 => 111111111101010101
TEST: 0010 => 000010010110011100
TEST: 0011 => 001110010110011001
TEST: 0100 => 111000001101000101
TEST: 0101 => 001000000011011001
TEST: 0110 => 000000000111011001
TEST: 0111 => 111111110010010101
TEST: 1000 => 000010000110011001
TEST: 1001 => 011010000110001001
TEST: 1010 => 111000111111001111
TEST: 1011 => 000000000011111100
TEST: 1100 => 111111111111111111
TEST: 1101 => 111111111111111111
TEST: 1110 => 111111111111111111
TEST: 1111 => 111111111111111111
А для 155ИМ1 не смотрели мой тест, все-ли варианты проверки я учел?
http://zx-pk.ru/threads/25406-tester...l=1#post966384
Кстати, без галочки SET+TEST мой тест 155ИМ1 дает ошибки..
- - - Добавлено - - -
И вот по 155АП1 попробовать бы понять логику работы и написать тест, а я бы проверил,
Вот какое-то описание на 155АП1, и она похоже одно и то-же что и 155ЖЛ1
http://www.155la3.ru/datafiles/k155ap1.pdf
Но что-то логику работы я так и не понял.
Кстати, вроде как, по информации в сети, 155АП1 это аналог SN75113N
а если это так, вот вот блок-схема SN75113N, по ней думаю можно составить тест:
Скрытый текст
Добрый день!
Еще не смотрели мой тест по 155ИМ1 ?
Ну и хорошо-бы другими ИС тоже заняться..
Кстати, эмуляцию дисплея для ПК еще не получилось сделать?
Тест ИМ1 посмотрел. Что-то слишком сложно там с многократным переконфигурированием выводов на вход/выход.. Команда CONFIG - она нужна для микросхем, у которых одни и те же выводы могут быть и входами и выходами. А тут простая логика.
Набросал скриптик на питоне, который считает тест. Как-то так:
Скрытый текст
PHP код:#!/usr/bin/python
# -*- coding: utf-8 -*-
def _2_and_not(x1, x2):
return 0 if x1 == 1 and x2 == 1 else 1
def _2_and(x1, x2):
return 1 if x1 == 1 and x2 == 1 else 0
def _3_and(x1, x2, x3):
return 1 if x1 == 1 and x2 == 1 and x3 == 1 else 0
def _4_or(x1, x2, x3, x4):
return 1 if x1 == 1 or x2 == 1 or x3 == 1 or x4 == 1 else 0
def _3_or(x1, x2, x3):
return 1 if x1 == 1 or x2 == 1 or x3 == 1 else 0
def _not(x):
return 1 if x == 0 else 0
def dd5(x11, x12, x21, x22, x31, x32, x41, x42, x43):
a1 = _2_and(x11, x12)
a2 = _2_and(x21, x22)
a3 = _2_and(x31, x32)
a4 = _3_and(x41, x42, x43)
return _4_or(a1, a2, a3, a4)
def dd6(x11, x12, x21, x22, x31, x32):
a1 = _2_and(x11, x12)
a2 = _2_and(x21, x22)
a3 = _2_and(x31, x32)
return _not(_3_or(a1, a2, a3))
def im1(a1, a2, _a3, _a4, b1, b2, _b3, _b4, p):
dd1_out = _2_and_not(a1, a2)
dd3_in2 = _2_and(dd1_out, _a4)
dd3_out = _2_and_not(_a3, dd1_out)
dd2_out = _2_and_not(a1, b2)
dd4_in2 = _2_and(dd2_out, _b4)
dd4_out = _2_and_not(_b3, dd2_out)
dd6_out = dd6(dd4_out, p, dd3_out, p, dd4_out, dd3_out)
dd5_out = dd5(dd3_out, dd6_out, dd4_out, dd6_out, dd6_out, p, dd3_out, dd4_out, p)
_5 = '1' if dd5_out == 1 else '0'
_6 = '0' if dd5_out == 1 else '1'
_4 = '0' if dd6_out == 1 else '1'
return _5 + _6 + _4
def _bit(val, mask):
return 1 if (val & mask) != 0 else 0
def print_line(a, b, p):
a1 = _bit(a, 1)
a2 = _bit(a, 2)
a3 = _not(_bit(a, 4))
a4 = _not(_bit(a, 8))
b1 = _bit(b, 1)
b2 = _bit(b, 2)
b3 = _not(_bit(b, 4))
b4 = _not(_bit(b, 8))
in_s = str(a1) + str(a2) + str(a3) + str(a4) + ':' + str(b1) + str(b2) + str(b3) + str(b4) + ':' + str(p)
out_s = im1(a1, a2, a3, a4, b1, b2, b3, b4, p)
print 'TEST: ' + in_s + ' => ' + out_s
for p in range(0, 2):
for a in range(0, 16):
for b in range(0, 16):
print_line(a, b, p)
[свернуть]
В итоге нарисовалась таблица истинности, переложенная в тест:
Скрытый текст
PHP код:CHIP[14] 'ИМ1'
POWER: -7* +14*
IN: 8(A1), 9(A2), 10(~A3), 11(~A4), 12(B1), 13(B2), 1(~B3), 2(~B4), 3(P1)
OUT: 5(S), 6(~S), 4(P2)
TEST: 0011:0011:0 => 010
TEST: 0011:1011:0 => 010
TEST: 0011:0111:0 => 010
TEST: 0011:1111:0 => 010
TEST: 0011:0001:0 => 100
TEST: 0011:1001:0 => 100
TEST: 0011:0101:0 => 100
TEST: 0011:1101:0 => 100
TEST: 0011:0010:0 => 010
TEST: 0011:1010:0 => 010
TEST: 0011:0110:0 => 010
TEST: 0011:1110:0 => 010
TEST: 0011:0000:0 => 100
TEST: 0011:1000:0 => 100
TEST: 0011:0100:0 => 100
TEST: 0011:1100:0 => 100
TEST: 1011:0011:0 => 010
TEST: 1011:1011:0 => 010
TEST: 1011:0111:0 => 100
TEST: 1011:1111:0 => 100
TEST: 1011:0001:0 => 100
TEST: 1011:1001:0 => 100
TEST: 1011:0101:0 => 100
TEST: 1011:1101:0 => 100
TEST: 1011:0010:0 => 010
TEST: 1011:1010:0 => 010
TEST: 1011:0110:0 => 100
TEST: 1011:1110:0 => 100
TEST: 1011:0000:0 => 100
TEST: 1011:1000:0 => 100
TEST: 1011:0100:0 => 100
TEST: 1011:1100:0 => 100
TEST: 0111:0011:0 => 010
TEST: 0111:1011:0 => 010
TEST: 0111:0111:0 => 010
TEST: 0111:1111:0 => 010
TEST: 0111:0001:0 => 100
TEST: 0111:1001:0 => 100
TEST: 0111:0101:0 => 100
TEST: 0111:1101:0 => 100
TEST: 0111:0010:0 => 010
TEST: 0111:1010:0 => 010
TEST: 0111:0110:0 => 010
TEST: 0111:1110:0 => 010
TEST: 0111:0000:0 => 100
TEST: 0111:1000:0 => 100
TEST: 0111:0100:0 => 100
TEST: 0111:1100:0 => 100
TEST: 1111:0011:0 => 100
TEST: 1111:1011:0 => 100
TEST: 1111:0111:0 => 011
TEST: 1111:1111:0 => 011
TEST: 1111:0001:0 => 011
TEST: 1111:1001:0 => 011
TEST: 1111:0101:0 => 011
TEST: 1111:1101:0 => 011
TEST: 1111:0010:0 => 100
TEST: 1111:1010:0 => 100
TEST: 1111:0110:0 => 011
TEST: 1111:1110:0 => 011
TEST: 1111:0000:0 => 011
TEST: 1111:1000:0 => 011
TEST: 1111:0100:0 => 011
TEST: 1111:1100:0 => 011
TEST: 0001:0011:0 => 100
TEST: 0001:1011:0 => 100
TEST: 0001:0111:0 => 100
TEST: 0001:1111:0 => 100
TEST: 0001:0001:0 => 011
TEST: 0001:1001:0 => 011
TEST: 0001:0101:0 => 011
TEST: 0001:1101:0 => 011
TEST: 0001:0010:0 => 100
TEST: 0001:1010:0 => 100
TEST: 0001:0110:0 => 100
TEST: 0001:1110:0 => 100
TEST: 0001:0000:0 => 011
TEST: 0001:1000:0 => 011
TEST: 0001:0100:0 => 011
TEST: 0001:1100:0 => 011
TEST: 1001:0011:0 => 100
TEST: 1001:1011:0 => 100
TEST: 1001:0111:0 => 011
TEST: 1001:1111:0 => 011
TEST: 1001:0001:0 => 011
TEST: 1001:1001:0 => 011
TEST: 1001:0101:0 => 011
TEST: 1001:1101:0 => 011
TEST: 1001:0010:0 => 100
TEST: 1001:1010:0 => 100
TEST: 1001:0110:0 => 011
TEST: 1001:1110:0 => 011
TEST: 1001:0000:0 => 011
TEST: 1001:1000:0 => 011
TEST: 1001:0100:0 => 011
TEST: 1001:1100:0 => 011
TEST: 0101:0011:0 => 100
TEST: 0101:1011:0 => 100
TEST: 0101:0111:0 => 100
TEST: 0101:1111:0 => 100
TEST: 0101:0001:0 => 011
TEST: 0101:1001:0 => 011
TEST: 0101:0101:0 => 011
TEST: 0101:1101:0 => 011
TEST: 0101:0010:0 => 100
TEST: 0101:1010:0 => 100
TEST: 0101:0110:0 => 100
TEST: 0101:1110:0 => 100
TEST: 0101:0000:0 => 011
TEST: 0101:1000:0 => 011
TEST: 0101:0100:0 => 011
TEST: 0101:1100:0 => 011
TEST: 1101:0011:0 => 100
TEST: 1101:1011:0 => 100
TEST: 1101:0111:0 => 011
TEST: 1101:1111:0 => 011
TEST: 1101:0001:0 => 011
TEST: 1101:1001:0 => 011
TEST: 1101:0101:0 => 011
TEST: 1101:1101:0 => 011
TEST: 1101:0010:0 => 100
TEST: 1101:1010:0 => 100
TEST: 1101:0110:0 => 011
TEST: 1101:1110:0 => 011
TEST: 1101:0000:0 => 011
TEST: 1101:1000:0 => 011
TEST: 1101:0100:0 => 011
TEST: 1101:1100:0 => 011
TEST: 0010:0011:0 => 010
TEST: 0010:1011:0 => 010
TEST: 0010:0111:0 => 010
TEST: 0010:1111:0 => 010
TEST: 0010:0001:0 => 100
TEST: 0010:1001:0 => 100
TEST: 0010:0101:0 => 100
TEST: 0010:1101:0 => 100
TEST: 0010:0010:0 => 010
TEST: 0010:1010:0 => 010
TEST: 0010:0110:0 => 010
TEST: 0010:1110:0 => 010
TEST: 0010:0000:0 => 100
TEST: 0010:1000:0 => 100
TEST: 0010:0100:0 => 100
TEST: 0010:1100:0 => 100
TEST: 1010:0011:0 => 010
TEST: 1010:1011:0 => 010
TEST: 1010:0111:0 => 100
TEST: 1010:1111:0 => 100
TEST: 1010:0001:0 => 100
TEST: 1010:1001:0 => 100
TEST: 1010:0101:0 => 100
TEST: 1010:1101:0 => 100
TEST: 1010:0010:0 => 010
TEST: 1010:1010:0 => 010
TEST: 1010:0110:0 => 100
TEST: 1010:1110:0 => 100
TEST: 1010:0000:0 => 100
TEST: 1010:1000:0 => 100
TEST: 1010:0100:0 => 100
TEST: 1010:1100:0 => 100
TEST: 0110:0011:0 => 010
TEST: 0110:1011:0 => 010
TEST: 0110:0111:0 => 010
TEST: 0110:1111:0 => 010
TEST: 0110:0001:0 => 100
TEST: 0110:1001:0 => 100
TEST: 0110:0101:0 => 100
TEST: 0110:1101:0 => 100
TEST: 0110:0010:0 => 010
TEST: 0110:1010:0 => 010
TEST: 0110:0110:0 => 010
TEST: 0110:1110:0 => 010
TEST: 0110:0000:0 => 100
TEST: 0110:1000:0 => 100
TEST: 0110:0100:0 => 100
TEST: 0110:1100:0 => 100
TEST: 1110:0011:0 => 100
TEST: 1110:1011:0 => 100
TEST: 1110:0111:0 => 011
TEST: 1110:1111:0 => 011
TEST: 1110:0001:0 => 011
TEST: 1110:1001:0 => 011
TEST: 1110:0101:0 => 011
TEST: 1110:1101:0 => 011
TEST: 1110:0010:0 => 100
TEST: 1110:1010:0 => 100
TEST: 1110:0110:0 => 011
TEST: 1110:1110:0 => 011
TEST: 1110:0000:0 => 011
TEST: 1110:1000:0 => 011
TEST: 1110:0100:0 => 011
TEST: 1110:1100:0 => 011
TEST: 0000:0011:0 => 100
TEST: 0000:1011:0 => 100
TEST: 0000:0111:0 => 100
TEST: 0000:1111:0 => 100
TEST: 0000:0001:0 => 011
TEST: 0000:1001:0 => 011
TEST: 0000:0101:0 => 011
TEST: 0000:1101:0 => 011
TEST: 0000:0010:0 => 100
TEST: 0000:1010:0 => 100
TEST: 0000:0110:0 => 100
TEST: 0000:1110:0 => 100
TEST: 0000:0000:0 => 011
TEST: 0000:1000:0 => 011
TEST: 0000:0100:0 => 011
TEST: 0000:1100:0 => 011
TEST: 1000:0011:0 => 100
TEST: 1000:1011:0 => 100
TEST: 1000:0111:0 => 011
TEST: 1000:1111:0 => 011
TEST: 1000:0001:0 => 011
TEST: 1000:1001:0 => 011
TEST: 1000:0101:0 => 011
TEST: 1000:1101:0 => 011
TEST: 1000:0010:0 => 100
TEST: 1000:1010:0 => 100
TEST: 1000:0110:0 => 011
TEST: 1000:1110:0 => 011
TEST: 1000:0000:0 => 011
TEST: 1000:1000:0 => 011
TEST: 1000:0100:0 => 011
TEST: 1000:1100:0 => 011
TEST: 0100:0011:0 => 100
TEST: 0100:1011:0 => 100
TEST: 0100:0111:0 => 100
TEST: 0100:1111:0 => 100
TEST: 0100:0001:0 => 011
TEST: 0100:1001:0 => 011
TEST: 0100:0101:0 => 011
TEST: 0100:1101:0 => 011
TEST: 0100:0010:0 => 100
TEST: 0100:1010:0 => 100
TEST: 0100:0110:0 => 100
TEST: 0100:1110:0 => 100
TEST: 0100:0000:0 => 011
TEST: 0100:1000:0 => 011
TEST: 0100:0100:0 => 011
TEST: 0100:1100:0 => 011
TEST: 1100:0011:0 => 100
TEST: 1100:1011:0 => 100
TEST: 1100:0111:0 => 011
TEST: 1100:1111:0 => 011
TEST: 1100:0001:0 => 011
TEST: 1100:1001:0 => 011
TEST: 1100:0101:0 => 011
TEST: 1100:1101:0 => 011
TEST: 1100:0010:0 => 100
TEST: 1100:1010:0 => 100
TEST: 1100:0110:0 => 011
TEST: 1100:1110:0 => 011
TEST: 1100:0000:0 => 011
TEST: 1100:1000:0 => 011
TEST: 1100:0100:0 => 011
TEST: 1100:1100:0 => 011
TEST: 0011:0011:1 => 100
TEST: 0011:1011:1 => 100
TEST: 0011:0111:1 => 100
TEST: 0011:1111:1 => 100
TEST: 0011:0001:1 => 011
TEST: 0011:1001:1 => 011
TEST: 0011:0101:1 => 011
TEST: 0011:1101:1 => 011
TEST: 0011:0010:1 => 100
TEST: 0011:1010:1 => 100
TEST: 0011:0110:1 => 100
TEST: 0011:1110:1 => 100
TEST: 0011:0000:1 => 011
TEST: 0011:1000:1 => 011
TEST: 0011:0100:1 => 011
TEST: 0011:1100:1 => 011
TEST: 1011:0011:1 => 100
TEST: 1011:1011:1 => 100
TEST: 1011:0111:1 => 011
TEST: 1011:1111:1 => 011
TEST: 1011:0001:1 => 011
TEST: 1011:1001:1 => 011
TEST: 1011:0101:1 => 011
TEST: 1011:1101:1 => 011
TEST: 1011:0010:1 => 100
TEST: 1011:1010:1 => 100
TEST: 1011:0110:1 => 011
TEST: 1011:1110:1 => 011
TEST: 1011:0000:1 => 011
TEST: 1011:1000:1 => 011
TEST: 1011:0100:1 => 011
TEST: 1011:1100:1 => 011
TEST: 0111:0011:1 => 100
TEST: 0111:1011:1 => 100
TEST: 0111:0111:1 => 100
TEST: 0111:1111:1 => 100
TEST: 0111:0001:1 => 011
TEST: 0111:1001:1 => 011
TEST: 0111:0101:1 => 011
TEST: 0111:1101:1 => 011
TEST: 0111:0010:1 => 100
TEST: 0111:1010:1 => 100
TEST: 0111:0110:1 => 100
TEST: 0111:1110:1 => 100
TEST: 0111:0000:1 => 011
TEST: 0111:1000:1 => 011
TEST: 0111:0100:1 => 011
TEST: 0111:1100:1 => 011
TEST: 1111:0011:1 => 011
TEST: 1111:1011:1 => 011
TEST: 1111:0111:1 => 101
TEST: 1111:1111:1 => 101
TEST: 1111:0001:1 => 101
TEST: 1111:1001:1 => 101
TEST: 1111:0101:1 => 101
TEST: 1111:1101:1 => 101
TEST: 1111:0010:1 => 011
TEST: 1111:1010:1 => 011
TEST: 1111:0110:1 => 101
TEST: 1111:1110:1 => 101
TEST: 1111:0000:1 => 101
TEST: 1111:1000:1 => 101
TEST: 1111:0100:1 => 101
TEST: 1111:1100:1 => 101
TEST: 0001:0011:1 => 011
TEST: 0001:1011:1 => 011
TEST: 0001:0111:1 => 011
TEST: 0001:1111:1 => 011
TEST: 0001:0001:1 => 101
TEST: 0001:1001:1 => 101
TEST: 0001:0101:1 => 101
TEST: 0001:1101:1 => 101
TEST: 0001:0010:1 => 011
TEST: 0001:1010:1 => 011
TEST: 0001:0110:1 => 011
TEST: 0001:1110:1 => 011
TEST: 0001:0000:1 => 101
TEST: 0001:1000:1 => 101
TEST: 0001:0100:1 => 101
TEST: 0001:1100:1 => 101
TEST: 1001:0011:1 => 011
TEST: 1001:1011:1 => 011
TEST: 1001:0111:1 => 101
TEST: 1001:1111:1 => 101
TEST: 1001:0001:1 => 101
TEST: 1001:1001:1 => 101
TEST: 1001:0101:1 => 101
TEST: 1001:1101:1 => 101
TEST: 1001:0010:1 => 011
TEST: 1001:1010:1 => 011
TEST: 1001:0110:1 => 101
TEST: 1001:1110:1 => 101
TEST: 1001:0000:1 => 101
TEST: 1001:1000:1 => 101
TEST: 1001:0100:1 => 101
TEST: 1001:1100:1 => 101
TEST: 0101:0011:1 => 011
TEST: 0101:1011:1 => 011
TEST: 0101:0111:1 => 011
TEST: 0101:1111:1 => 011
TEST: 0101:0001:1 => 101
TEST: 0101:1001:1 => 101
TEST: 0101:0101:1 => 101
TEST: 0101:1101:1 => 101
TEST: 0101:0010:1 => 011
TEST: 0101:1010:1 => 011
TEST: 0101:0110:1 => 011
TEST: 0101:1110:1 => 011
TEST: 0101:0000:1 => 101
TEST: 0101:1000:1 => 101
TEST: 0101:0100:1 => 101
TEST: 0101:1100:1 => 101
TEST: 1101:0011:1 => 011
TEST: 1101:1011:1 => 011
TEST: 1101:0111:1 => 101
TEST: 1101:1111:1 => 101
TEST: 1101:0001:1 => 101
TEST: 1101:1001:1 => 101
TEST: 1101:0101:1 => 101
TEST: 1101:1101:1 => 101
TEST: 1101:0010:1 => 011
TEST: 1101:1010:1 => 011
TEST: 1101:0110:1 => 101
TEST: 1101:1110:1 => 101
TEST: 1101:0000:1 => 101
TEST: 1101:1000:1 => 101
TEST: 1101:0100:1 => 101
TEST: 1101:1100:1 => 101
TEST: 0010:0011:1 => 100
TEST: 0010:1011:1 => 100
TEST: 0010:0111:1 => 100
TEST: 0010:1111:1 => 100
TEST: 0010:0001:1 => 011
TEST: 0010:1001:1 => 011
TEST: 0010:0101:1 => 011
TEST: 0010:1101:1 => 011
TEST: 0010:0010:1 => 100
TEST: 0010:1010:1 => 100
TEST: 0010:0110:1 => 100
TEST: 0010:1110:1 => 100
TEST: 0010:0000:1 => 011
TEST: 0010:1000:1 => 011
TEST: 0010:0100:1 => 011
TEST: 0010:1100:1 => 011
TEST: 1010:0011:1 => 100
TEST: 1010:1011:1 => 100
TEST: 1010:0111:1 => 011
TEST: 1010:1111:1 => 011
TEST: 1010:0001:1 => 011
TEST: 1010:1001:1 => 011
TEST: 1010:0101:1 => 011
TEST: 1010:1101:1 => 011
TEST: 1010:0010:1 => 100
TEST: 1010:1010:1 => 100
TEST: 1010:0110:1 => 011
TEST: 1010:1110:1 => 011
TEST: 1010:0000:1 => 011
TEST: 1010:1000:1 => 011
TEST: 1010:0100:1 => 011
TEST: 1010:1100:1 => 011
TEST: 0110:0011:1 => 100
TEST: 0110:1011:1 => 100
TEST: 0110:0111:1 => 100
TEST: 0110:1111:1 => 100
TEST: 0110:0001:1 => 011
TEST: 0110:1001:1 => 011
TEST: 0110:0101:1 => 011
TEST: 0110:1101:1 => 011
TEST: 0110:0010:1 => 100
TEST: 0110:1010:1 => 100
TEST: 0110:0110:1 => 100
TEST: 0110:1110:1 => 100
TEST: 0110:0000:1 => 011
TEST: 0110:1000:1 => 011
TEST: 0110:0100:1 => 011
TEST: 0110:1100:1 => 011
TEST: 1110:0011:1 => 011
TEST: 1110:1011:1 => 011
TEST: 1110:0111:1 => 101
TEST: 1110:1111:1 => 101
TEST: 1110:0001:1 => 101
TEST: 1110:1001:1 => 101
TEST: 1110:0101:1 => 101
TEST: 1110:1101:1 => 101
TEST: 1110:0010:1 => 011
TEST: 1110:1010:1 => 011
TEST: 1110:0110:1 => 101
TEST: 1110:1110:1 => 101
TEST: 1110:0000:1 => 101
TEST: 1110:1000:1 => 101
TEST: 1110:0100:1 => 101
TEST: 1110:1100:1 => 101
TEST: 0000:0011:1 => 011
TEST: 0000:1011:1 => 011
TEST: 0000:0111:1 => 011
TEST: 0000:1111:1 => 011
TEST: 0000:0001:1 => 101
TEST: 0000:1001:1 => 101
TEST: 0000:0101:1 => 101
TEST: 0000:1101:1 => 101
TEST: 0000:0010:1 => 011
TEST: 0000:1010:1 => 011
TEST: 0000:0110:1 => 011
TEST: 0000:1110:1 => 011
TEST: 0000:0000:1 => 101
TEST: 0000:1000:1 => 101
TEST: 0000:0100:1 => 101
TEST: 0000:1100:1 => 101
TEST: 1000:0011:1 => 011
TEST: 1000:1011:1 => 011
TEST: 1000:0111:1 => 101
TEST: 1000:1111:1 => 101
TEST: 1000:0001:1 => 101
TEST: 1000:1001:1 => 101
TEST: 1000:0101:1 => 101
TEST: 1000:1101:1 => 101
TEST: 1000:0010:1 => 011
TEST: 1000:1010:1 => 011
TEST: 1000:0110:1 => 101
TEST: 1000:1110:1 => 101
TEST: 1000:0000:1 => 101
TEST: 1000:1000:1 => 101
TEST: 1000:0100:1 => 101
TEST: 1000:1100:1 => 101
TEST: 0100:0011:1 => 011
TEST: 0100:1011:1 => 011
TEST: 0100:0111:1 => 011
TEST: 0100:1111:1 => 011
TEST: 0100:0001:1 => 101
TEST: 0100:1001:1 => 101
TEST: 0100:0101:1 => 101
TEST: 0100:1101:1 => 101
TEST: 0100:0010:1 => 011
TEST: 0100:1010:1 => 011
TEST: 0100:0110:1 => 011
TEST: 0100:1110:1 => 011
TEST: 0100:0000:1 => 101
TEST: 0100:1000:1 => 101
TEST: 0100:0100:1 => 101
TEST: 0100:1100:1 => 101
TEST: 1100:0011:1 => 011
TEST: 1100:1011:1 => 011
TEST: 1100:0111:1 => 101
TEST: 1100:1111:1 => 101
TEST: 1100:0001:1 => 101
TEST: 1100:1001:1 => 101
TEST: 1100:0101:1 => 101
TEST: 1100:1101:1 => 101
TEST: 1100:0010:1 => 011
TEST: 1100:1010:1 => 011
TEST: 1100:0110:1 => 101
TEST: 1100:1110:1 => 101
TEST: 1100:0000:1 => 101
TEST: 1100:1000:1 => 101
TEST: 1100:0100:1 => 101
TEST: 1100:1100:1 => 101
[свернуть]
Если всё верно, то из 512 проверок можно будет поубирать часть, так, чтобы участвовали все выводы.
Эмуляцию дисплея по UART пока не делал (но исходники дисплея и его симулятора есть на гитхабе и там надо только заменить обмен данными через сокет на UART...)