Раньше использованные карточки можно было обменять на почте, но теперь, с введением в оборот одноразовых карточек, все изменилось После того как карточка закончилась, ее можно только выбросить или положить в коллекцию. Но не спешите выбрасывать использованную карточку. Она еще может послужить в качестве электронного ключа или пароля для ваших программ Микросхема в телефонной карточке имеет 8 выводов, но реально используются только 5. Однако можно обойтись только четырьмя Посмотрите на микросхему: самый большой по площади контакт — "земля"
Саму микросхему подключаем к ПК при помощи параллельного порта. Для этого требуется переходник, схема которого показана на рис.2. Подавая необходимые данные в порт 378h (базовый адрес LPT1), можно прочитать данные", записанные в микросхему. Это делается через бит 7 порта 379h. Нас интересуют только первые четыре байта данных, т.к. остальные содержат OOh. Первый прочитанный байт должен быть равен 7Вh. Три следующих — различны для разных карточек. Следует заметить, что информация, записанная в микросхему, постоянна и никогда не изменяется, т.е. не зависит от оставшегося количества минут
Ниже приведен текст программы, читающей информацию из карточки. Program TeleCard; uses crt; Const; Copyright=;'(С) Филютич Алексей, 1997'; Var; i,j,dat: byte; Data: array [0..3] of byte; {————————}; Function ReadCard:byte; var; S:byte; begin; asm ; mov dx,379h ; in a1,dx ; mov c1,7 ; shr a1,c1 ; mov S,a1 ; end;; ReadCard:=S; end;; {——————————————}; Procedure WriteData (A: byte) ;assembler; asm; mov a1,A; mov dx, 37Bh; out dx,a1 ; end;; {————————————}; Procedure Next; {Увеличить адрес}; begin; Delay (1) ; WriteData (0); WriteData (2) ; WriteData (0); end; {——————————————} Procedure Reset; {Сброс микросхемы в исходное состояние} var A:byte; begin WriteData (0); {Сброс} WriteData (1); WriteData (3); WriteData(l); WriteData (0); for a:=0 to 9 do Next WriteData(0); {Сброс} WriteData(1); WriteData (3); WriteData (1); WriteData (0); end; {-------------------} Function Dec2Hex (value:byte): string; Function d2h (value:byte): char; begin case value of 0..9 : d2h:=chr(value+$30); 10..15 : d2h:=chr(value+$37); end; end; begin Dec2Hex:=d2h(value diy $10) + d2h (value and $0F) end;
Begin Reset {Читаем первые четыре байта} for i:=0 to 3 do begin dat:=0; for j:=0 to 7 do begin dat:=dat+(ReadCard sh1 (7-j)); Next; end; Data[i] :=dat; end; Reset; If Data(0]<>$7B then begin writeln('Карточка повреждена'); Halt; end; write('Данные из карточки:') ; for i:=0 to 3 do begin write(Dec2Hex(Data[i]:3); end; writeln; End.
Электронный ключ, сделанный из карточки, можно использовать в качестве пароля в системах шифровки данных, ключа для запуска программ и т.д. Всех заинтересовавшихся данным вопросом автор приглашает к диалогу. РАДИОЛЮБИТЕЛЬ 11/97, с.9
Сайт Пан-Ас, сайт самоделок - на сайте есть все, что можно сделать своими руками: поделки, самоделки, украшения, детские поделки. Сделай их сам, своими руками и получи от этого настоящее удовольствие.