Открыть Электронные книги
Категории
Открыть Аудиокниги
Категории
Открыть Журналы
Категории
Открыть Документы
Категории
;================================================================================
; ПП задержек, использующихся в процедуре инициализации термодатчика.
;================================================================================
PAUSE_3 bsf IntCon,7 ; РАЗРЕШЕНИЕ ПРЕРЫВАНИЙ.
movlw .36 ; 500 -> 22,2 х 5 = 111 мц .36
movwf Reg_1 ; K=4/90=0,0444
goto $+4
PAUSE_4 bsf IntCon,7 ; РАЗРЕШЕНИЕ ПРЕРЫВАНИЙ.
movlw .18 ; 250 -> 11 x 5 = 55 мц .18
movwf Reg_1
;================================================================================
; ПП задержек, использующихся в процедуре инициализации термодатчика.
;================================================================================
PAUSE_3 bsf IntCon,7 ; РАЗРЕШЕНИЕ ПРЕРЫВАНИЙ.
movlw .200 ;
movwf Reg_1 ;
goto $+4
PAUSE_4 bsf IntCon,7 ; РАЗРЕШЕНИЕ ПРЕРЫВАНИЙ.
movlw .200 ;
movwf Reg_1
5
ПП инициализации термодатчика выглядит так:
;################################################################################
; НИЖНЯЯ "ОБСЛУГА" 2-й СТРАНИЦЫ.
;################################################################################
; ПП инициализации термодатчика.
;================================================================================
; Установка на линии DQ 1.
;-----------------------------------
DQ_INIT call PIN_HI ; Установка вывода в высокоимпедансное
; состояние: за счет подтягивающего резистора,
; на линии устанавливается 1.
;-----------------------------------
; Установка на линии DQ 0.
;-----------------------------------
call PIN_LO ; Установка на линии DQ нуля.
;-----------------------------------
; Задержка.
;-----------------------------------
bcf PCLATH,3 ; Выбор 1-й страницы.
call PAUSE_3 ; Переход в ПП задержки.
call PAUSE_3 ; Переход в ПП задержки.
call PAUSE_3 ; Переход в ПП задержки.
call PAUSE_3 ; Переход в ПП задержки.
bsf PCLATH,3 ; Выбор 2-й страницы.
;-----------------------------------
; Установка на линии DQ 1.
;-----------------------------------
call PIN_HI ; Установка вывода в высокоимпедансное
; состояние: за счет подтягивающего резистора,
; на линии устанавливается 1.
;-----------------------------------
; Задержка 70 мкс.
;-----------------------------------
movlw .116 ;
call PAUSE_X1 ; Задержка.
;--------------------------------------------------------------------------------
; Определение наличия (или нет) отклика на импульс сброса.
;--------------------------------------------------------------------------------
btfsc PortC,DQ ; На линии DQ 0 или 1 (отклик есть или нет)?
bsf Flag,1 ; Если отклика нет (1), то флаг наличия
; термодатчика поднимается.
; Если отклик есть (0), то флаг наличия
; термодатчика остается опущенным и программа
; исполняется далее.
;-----------------------------------
; Задержка.
;-----------------------------------
bcf PCLATH,3 ; Выбор 1-й страницы.
call PAUSE_4 ; Переход в ПП задержки.
call PAUSE_4 ; Переход в ПП задержки.
bsf PCLATH,3 ; Выбор 2-й страницы.
return ; Возврат по стеку.
;WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
;================================================================================
6
; ПП задержек, использующихся в процедуре инициализации термодатчика.
;================================================================================
PAUSE_3 bsf IntCon,7 ; РАЗРЕШЕНИЕ ПРЕРЫВАНИЙ.
movlw .200 ;
movwf Reg_1 ;
;################################################################################
; НИЖНЯЯ "ОБСЛУГА" 2-й СТРАНИЦЫ.
;################################################################################
; ПП инициализации термодатчика.
;================================================================================
DQ_INIT ........................
...................................
;-----------------------------------
; Задержка.
;-----------------------------------
bcf PCLATH,3 ; Выбор 1-й страницы.
call PAUSE_3 ; Переход в ПП задержки.
call PAUSE_3 ; Переход в ПП задержки.
call PAUSE_3 ; Переход в ПП задержки.
call PAUSE_3 ; Переход в ПП задержки.
bsf PCLATH,3 ; Выбор 2-й страницы.
;-----------------------------------
...................................
...................................
;-----------------------------------
; Задержка.
;-----------------------------------
bcf PCLATH,3 ; Выбор 1-й страницы.
call PAUSE_3 ; Переход в ПП задержки.
call PAUSE_3 ; Переход в ПП задержки.
bsf PCLATH,3 ; Выбор 2-й страницы.
return ; Возврат по стеку.
;WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
7
рабочей точки программы, на момент возникновения факта короткого замыкания, в
"зоне" разрешения прерываний (это плюс).
В данном случае, я "сработал по максимуму" (задержки выставлены с запасом.
Гарантия отсутствия "бяки"), но при желании, величины задержек можно и уменьшить
либо путем уменьшения количества их вызовов, либо путем уменьшения числовых
значений времязадающих констант.
8
"Практикум по конструированию устройств на PIC контроллерах" http://ikarab.narod.ru E-mail: karabea@lipetsk.ru