Как работает АОН


         

Фрагмент программы


Контроллер работает от RC генератора с частотой около 5 МГц.

На внешний вход таймера подается стабильная частота 32768 Гц, она является основой для тактовой частоты выборки сигнала.

; Рабочие переменные

F700_1 EQU 10 – массив значений корреляции для sin-ов и cos-ов частот

F700_2 EQU 11

F900_1 EQU 12

F900_2 EQU 13

F1100_1 EQU 14

F1100_2 EQU 15

F1300_1 EQU 16

F1300_2 EQU 17

F1500_1 EQU 18

F1500_2 EQU 19

F1700_1 EQU 1A

F1700_2 EQU 1B

N1 EQU 1C

N2 EQU 1D

BYTE1 EQU 1C – Первая половина эталонной константы

BYTE2 EQU 1D – Вторая половина эталонной константы

MAX_L EQU 1E

POINTER EQU 1E – Указатель на таблицу эталонных констант

CNT_SAMPL EQU 1F – Счетчик тактов

DETECT:

CLRWDT

MOVLW B'00100000' ; Внешний тактовый сигнал по перепаду 0/1

OPTION ; сигнал делится на 2

MOVLW 10H

MOVWF FSR

DET1:

CLRF INDF ; Очистить рабочие ячейки

INCF FSR

BTFSS FSR,5

GOTO DET1

CLRF FSR

MOVLW .152 ; Загрузка количества тактов в выборке

MOVWF CNT_SAMPL

; Цикл выборки. Сигнал считывается каждые 61.0325 мкс

WAIT_CIKL:

MOVF TMR0,W ; Приход внешнего сигнала определяется, когда

BTFSC STATUS,Z ; таймер принял значение отличное от нуля

GOTO WAIT_CIKL

CLRF TMR0

MOVF POINTER,W

CALL TABL ; Выборка эталонной константы

MOVWF BYTE1

INCF POINTER

MOVF POINTER,W

CALL TABL

MOVWF BYTE2

; SIG – вход сигнала

BTFSC SIG ; Если сигнал равен биту в эталоне то этот бит превратить в 0

COMF BYTE1

BTFSC SIG

COMF BYTE2

; Скоректировать размещение для нечетных по порядку констант

BTFSS CNT_SAMPL,0

GOTO DO_SUM

INCF POINTER

SWAPF BYTE1,W

ANDLW B'11110000'

MOVWF BYTE1

SWAPF BYTE2

MOVF BYTE2,W

ANDLW B'00001111'

IORWF BYTE1

DO_SUM:

; Подсчет величин корреляции

; Инкрементировать величину корреляции каждый раз, когда сигнал совпадает с эталоном

BTFSS BYTE1,7

INCF F700_1

BTFSS BYTE1,6

INCF F700_2

BTFSS BYTE1,5

INCF F900_1

BTFSS BYTE1,4

INCF F900_2

BTFSS BYTE1,3

INCF F1100_1

BTFSS BYTE1,2

INCF F1100_2

BTFSS BYTE1,1

INCF F1300_1

BTFSS BYTE1,0

INCF F1300_2



Содержание  Назад  Вперед





Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий