Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 03.09.2013, 18:08  
s3w3
Частый гость
 
Аватар для s3w3
 
Регистрация: 03.09.2013
Адрес: Тьмутаракания
Сообщений: 34
Сказал спасибо: 30
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
s3w3 на пути к лучшему
По умолчанию [pic12f629] очень простая отмыка ds-1990

это не ds-1990
эмулятор ключа CYFRAL DC-2000



кондюк электролит 22 мкф, диод бери с малым падением 200-300 мВ, я брал стеклянный в SMD исполнении, ПИК в PID корпусе

в аттаче приложил оригинальную ASM прошивку с уже вбитым ключем

вот она
Код:
            list      p=12f629        ; list directive to define processor
            #include ‹p12f629.inc›    ; processor specific variable definitions

            errorlevel -302
    __CONFIG   _CP_ON & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT & _BODEN_OFF & _MCLRE_OFF


coreg       equ     0x20
delcnt      equ     0x21
cobit       equ     0x22
TM1         EQU     024H

reg0        equ     025h
reg1        equ     026h
reg2        equ     027h
reg3        equ     028h
reg4        equ     029h

shreg       equ     02Ah

            ORG     0x3FF
            ORG     0x000             ; coding begins here
            goto    RUN

            ORG        0x04
Int
            btfss  INTCON, T0IF     ; флаг прерывания по таймеру?
            return
             movlw     B'10000000'     ;прерывания по таймеру отключаем
            movwf     INTCON          ;
            bcf        INTCON, T0IF
            return
RUN
            bcf        STATUS,RP0
            movlw    b'00000111'            ;
            movwf    CMCON            ;Вsкл компаратор
            bsf        STATUS,RP0       ;
             movlw    b'00111111'        ;все порты на вход
            movwf    TRISIO            ;
            movlw    0x00            ;
            movwf    IOCB            ;
            movlw   b'10000001'        ; 
            movwf    OPTION_REG        ; 
            call    3FFh
            MOVWF   OSCCAL            ; 
             movlw     B'10100000'     ;прерывания только по таймеру
            movwf     INTCON          ;
            bcf        STATUS, RP0        ;
            clrf    GPIO              ;
Next
            btfsc    INTCON, T0IE     ;ждем заряда емкости
            goto    Next            ;
            nop

main
            bsf        STATUS,RP0       ;
            MOVLW   B'00101111'        ;переводим порт на выход
            movwf    TRISIO            ;
            bcf        STATUS, RP0        ;

            movlw 0x10                ;01 start
            movwf reg0
            movlw 0xBD                ;1-ый байт кода
            movwf reg1
            movlw 0xBB                ;2-ой
            movwf reg2
            movlw 0xBE                ;3-ий
            movwf reg3
            movlw 0xBE                ;4-ый
            movwf reg4

            bcf     GPIO      , 4
            movlw   0x04
            movwf   coreg
            movlw   reg0
            movwf   FSR

            movlw   0x04
            call    word_emu
            incf    FSR       , f

ask         movlw   0x08
            call    word_emu

            incf    FSR       , f
            decfsz  coreg     , f
            goto    ask
;            MOVLW   B'00101111'
 ;           TRIS    GPIO
            goto main

DEL50       movlw   0x10
            movwf   delcnt
del_loop    decfsz  delcnt    , f
            goto    del_loop
            RETURN

word_emu    movwf   cobit             ; ---- вывод слова (эмуляция)
            MOVF    INDF      , W
            MOVWF   shreg
bit_loop    BCF     GPIO      , 4     ; используем ra6 для выхода - вывели "0"
            CALL    DEL50             ; первые 50 мкс выводим "0"
            BTFSC   shreg     , 07    ; проверяем старший разряд
            BSF     GPIO      , 4     ; если единица, вторые 50 мкс выводим
            CALL    DEL50             ; "1"(011), в противном случае "0" (001)
            BSF     GPIO      , 4
            CALL    DEL50             ; третие 50 мкс выводим "0"
            RLF     shreg     , f
            DECFSZ  cobit     , f
            GOTO    bit_loop          ; выводим следующий бит
            BCF     GPIO      , 4     ;
            RETURN
    END
Вложения:
Тип файла: zip Emu_Cyfral.zip (1.3 Кб, 135 просмотров)
Реклама:

Последний раз редактировалось s3w3; 08.06.2016 в 22:31.
s3w3 вне форума  
Сказали "Спасибо" s3w3
basicpic (17.10.2013)
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна очень простая схема ... akula58 Электроника - это просто 24 23.12.2009 17:09


Часовой пояс GMT +4, время: 23:39.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot