60 тактов контроллера на один
BTFSS BYTE2,7
INCF F1500_1
BTFSS BYTE2,6
INCF F1500_2
BTFSS BYTE2,5
INCF F1700_1
BTFSS BYTE2,4
INCF F1700_2
DECFSZ CNT_SAMPL
GOTO WAIT_CIKL ; 60 тактов контроллера на один такт выборки. МАКСИМУМ!
;
Коррекция смещения результатов
MOVLW F700_1 ; Установит указатель на первую рабочую ячейку
MOVWF FSR
MOVLW .12
MOVWF CNT_SAMPL ;Количество циклов 12
MOVLW .76 ;Вычитать константу 152/2=76
; 5 тактов
DET4:
SUBWF INDF,F ; ( INDF - W )
BTFSS STATUS,C
COMF INDF
INCF FSR
DECFSZ CNT_SAMPL,F
GOTO DET4
; 7*12 = 84 такта
;
Вычисление и поиск пары максимальных корреляций
CLRF SAMPL_CTN
CLRF MAX_L
MOVLW B'00100000' ; Указатель частоты
MOVWF CNT_SAMPL ; Загрузить указатель частоты
; 4 такта
;
Поиск двух максимальных величин корреляции
DET5:
DECF FSR
MOVF INDF,W
DECF FSR
ADDWF INDF,F
MOVF SAMPL_CTN,W
SUBWF INDF,W ; ( [INDF] - SAMPL_CTN ) C=1 IF INDF>=SAMPL_CTN
BTFSS STATUS,C
GOTO DET6
MOVF SAMPL_CTN,W ; Сдвиг предыдущего верхнего максимума
MOVWF MAX_L ; в нижний максимум
MOVF N1,W ; Сдвиг соответствующего указателя частоты
MOVWF N2 ;
MOVF INDF,W
MOVWF SAMPL_CTN
MOVF CNT_SAMPL,W
MOVWF N1
GOTO DET7 ; Если величина попала в верхний максимум то она
DET6: ; уже не может быть записана в нижний
MOVF MAX_L,W
SUBWF INDF,W ; ( [INDF] - MAX_L ) C=1 IF INDF>=MAX_L
BTFSS STATUS,C
GOTO DET7
MOVF INDF,W
MOVWF MAX_L
MOVF CNT_SAMPL,W
MOVWF N2
DET7:
BCF STATUS,C
RRF CNT_SAMPL,F
BTFSS STATUS,C
GOTO DET5
; 22*6 = 132 такта
;
Исходя из найденных частот с максимальными величинами корреляции
;
по таблице вычисляем соответствующую цифру
MOVF N1,W
IORWF N2,F
CLRF SAMPL_COD
DET8:
MOVF SAMPL_COD,W
CALL TABL_CIPH
SUBWF N2,W ; N2 - W
BTFSC STATUS,Z
GOTO DET9
INCF SAMPL_COD
MOVF SAMPL_COD,W
XORLW .12
BTFSS STATUS,Z
GOTO DET8
MOVLW 0FFH
MOVWF SAMPL_COD
CLRF SAMPL_CTN
; 16*12 = 192 такта
DET9:
; Выход SAMPL_COD содержит цифру из диапазона 0..Bh, если 0FFh, то цифра не определена
; Максимальная продолжительность обработки цифры 417 тактов
RETLW 0
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий