Последнее время во многих организациях, а порой и дома, появились дверные замки, ключом к которым является таблетка Touch Memory фирмы DALLAS. Если Вы потеряли такой ключ, то, в отличие от простого металлического ключа, Вам никто не сделает дубликат, потому что второго, точно такого ключа, нет в природе. Все ключи, произведенные фирмой DALLAS, имеют свой уникальный номер, который никогда не повторяется. Поэтому, если Вы уже потеряли Touch Memory, помочь горю никак нельзя. Но если Вы пока её не потеряли, то можно застраховать себя от риска остаться без ключа. Благодаря тому, что дверные замки в большинстве случаев используют Touch Memory типа DS1990A, которая не имеет никаких средств защиты, её без труда можно симулировать на микроконтроллере. Поэтому, пока ещё на таблетке не стерся серийный номер, перепишите его и, внеся в ПЗУ микроконтроллера, можно будет симулировать именно этот ключ.
Принципиальная схема устройства приведена на рисунке. Схема очень проста и особых пояснений не требует. Выходом симулятора является порт микроконтроллера INT0. На нём установлена цепочка защиты, состоящая из резистора R1 и стабилитрона VD1. Питается устройство от батареи напряжением 4,5 В. Если применить микроконтроллер в корпусе SOIC, а в качестве батареи использовать три элемента типа СЦ-32, то устройство может быть очень компактным. Его можно встроить, например, в брелок.
Серийный номер Touch Memory вписывается в загрузочный файл tm_sim.bin, начиная с адреса 10H, всего 6 байт. Вводить цифры нужно в такой же последовательности, в какой они идут на корпусе Touch Memory. Например, номер может быть таким: 000002D6B41F. Седьмой байт представляет собой код семейства (family code) Touch Memory. Для DS1990A он всегда равен 01H. Другие семейства Touch Memory в полном объёме симулировать невозможно. Контрольная сумма (CRC) вычисляется программой автоматически, её вводить не надо.
Исходный текст программы приведен в файле tm_sim.asm, в файле libreg.asm содержится описание SFR 8051, необходимое для транслятора TASM 2.76.