BCF INTCON,2;СБРАСЫВАЕМ ФЛАГ ПРЕРЫВАНИЯ ОТ TMR0.
RETFIE ;ВОЗВРАТ ИЗ ПРЕРЫВАНИЯ.
;=============================================
; 13. ПОДСЧЕТ ВРЕМЕНИ.
;=============================================
S1
BTFSC FLAG1,5 ;
GOTO $+8 ;
BTFSS FLAG1,4 ;
GOTO $+6 ;
BTFSC PORTC,0 ;СМЕНА ВКЛЮЧЕНИЯ ЗУММЕРА.
GOTO $+3 ;
BSF PORTC,0 ;ВКЛЮЧИМ СИГНАЛ.
GOTO $+2 ;
BCF PORTC,0 ;
MOVLW .9 ;ЕСЛИ УЖЕ 9 СЕКУНД,
SUBWF CL,0 ;
BC SH ;ИДЕМ НА СРАВНЕНИЕ ДЕСЯТКОВ СЕКУНД.
INCF CL,1 ;ИНАЧЕ ПРИБАВИМ ЕДИНИЦУ.
RETURN
SH
CLRF CL ;ОБНУЛИМ СЕКУНДЫ.
MOVFW CH ;ЕСЛИ ДЕСЯТКИ СЕКУНД
ADDLW -5H ;РАВНЫ 5,
BZ MIL ;ИДЕМ СРАВНИВАТЬ МИНУТЫ.
INCF CH,1 ;ИНАЧЕ УВЕЛИЧИМ ДЕСЯТКИ СЕКУНД.
RETURN
MIL
CLRF CH ;ОБНУЛИМ ДЕСЯТКИ СЕКУНД.
MOVFW ML ;ЕСЛИ ЕДИНИЦЫ МИНУТ
ADDLW -9H ;РАВНЫ 9,
BZ MIH ;ИДЕМ СРАВНИВАТЬ ДЕСЯТКИ.
INCF ML,1 ;ИНАЧЕ УВЕЛИЧИМ МИНУТЫ.
RETURN
MIH
BSF FLAG1,4 ;ПРОШЛО 10 МИНУТ КУРСОР ВЫКЛЮЧАЕТСЯ.
BCF FLAG,7 ;НЕТ УСТАНОВКИ.
CLRF KYPC ;НЕТ КУРСОРА.
CLRF ML ;ОБНУЛИМ ЕДИНИЦЫ МИНУТ.
MOVFW MH ;ЕСЛИ ДЕСЯТКИ МИНУТ
ADDLW -5H ;РАВНЫ 5,
BZ HOL ;ИДЕМ СРАВНИВАТЬ ЧАСЫ.
INCF MH,1 ;ИЛИ УВЕЛИЧИМ ДЕСЯТКИ МИНУТ.
RETURN
HOL
BCF FLAG1,5 ;НАПОМИНАНИЕ ОБ АВАРИИ НАПРЯЖЕНИЯ.
CLRF MH ;ОБНУЛИМ ДЕСЯТКИ МИНУТ.
MOVFW HH ;ЕСЛИ ДЕСЯТКИ ЧАСОВ
ADDLW -2H ;РАВНЫ 2,
BZ HL4 ;ПРОВЕРИМ ЕДИНИЦЫ ЧАСОВ.
MOVFW HL ;ЕСЛИ ЕДИНИЦЫ ЧАСОВ РАВНЫ 9,
ADDLW -9H ;
BZ $+3 ;УВЕЛИЧИМ ДЕСЯТКИ ЧАСОВ.
INCF HL,1 ;ИЛИ УВЕЛИЧИМ ЕДИНИЦЫ ЧАСОВ.
RETURN
CLRF HL ;
INCF HH,1 ;
RETURN
HL4
MOVFW HL ;ЕСЛИ ЕДИНИЦЫ ЧАСОВ
ADDLW -3H ;РАВНЫ 3,
BZ HOH ;ИДЕМ ОБНУЛЯТЬ.
INCF HL,1 ;ИЛИ ПРИБАВИМ ЕДИНИЦУ.
RETURN
HOH
CLRF HL ;
CLRF HH ;ОБНУЛИМ ДЕСЯТКИ ЧАСОВ.
RETURN ;
;=============================================
; 14. ТАЙМЕР.
;=============================================
TAIM
BSF FLAG,5 ;СЛЕДУЮЩАЯ ОСТАНОВКА ТАЙМЕРА.
MOVLW .9 ;ЕСЛИ УЖЕ 9 СЕКУНД,
SUBWF TCL,0 ;
BC $+3 ;ИДЕМ НА СРАВНЕНИЕ ДЕСЯТКОВ СЕКУНД.
INCF TCL,1 ;ИНАЧЕ ПРИБАВИМ ЕДИНИЦУ.
RETURN
CLRF TCL ;ОБНУЛИМ СЕКУНДЫ.
MOVFW TCH ;ЕСЛИ ДЕСЯТКИ СЕКУНД
ADDLW -5H ;РАВНЫ 5,
BZ $+3 ;ИДЕМ СРАВНИВАТЬ МИНУТЫ.
INCF TCH,1 ;ИНАЧЕ УВЕЛИЧИМ ДЕСЯТКИ СЕКУНД.
RETURN
CLRF TCH ;ОБНУЛИМ ДЕСЯТКИ СЕКУНД.
MOVFW TML ;ЕСЛИ ЕДИНИЦЫ МИНУТ
ADDLW -9H ;РАВНЫ 9,
BZ $+3 ;ИДЕМ СРАВНИВАТЬ ДЕСЯТКИ.
INCF TML,1 ;ИНАЧЕ УВЕЛИЧИМ МИНУТЫ.
RETURN
CLRF TML ;ОБНУЛИМ ЕДИНИЦЫ МИНУТ.
MOVFW TMH ;ЕСЛИ ДЕСЯТКИ МИНУТ
ADDLW -5H ;РАВНЫ 5,
BZ $+3 ;УВЕЛИЧИМ ЧАСЫ.
INCF TMH,1 ;ИЛИ УВЕЛИЧИМ ДЕСЯТКИ МИНУТ.
RETURN
CLRF TMH ;ОБНУЛИМ ДЕСЯТКИ МИНУТ.
MOVFW THL ;ЕСЛИ ЕДИНИЦЫ ЧАСОВ РАВНЫ 9,
ADDLW -9H ;
BZ $+3 ;УВЕЛИЧИМ ДЕСЯТКИ ЧАСОВ.
INCF THL,1 ;ИЛИ УВЕЛИЧИМ ЕДИНИЦЫ ЧАСОВ.
RETURN
CLRF THL ;ОБНУЛИМ ЧАСЫ.
MOVFW THH ;ЕСЛИ ДЕСЯТКИ ЧАСОВ РАВНЫ 9,
ADDLW -9H ;
BZ $+3 ;ОБНУЛИМ.
INCF THH,1 ;ИЛИ УВЕЛИЧИМ ДЕСЯТКИ ЧАСОВ.
RETURN
CLRF THH ;
RETURN
T00
BTFSS FLAG,5 ;
GOTO $+4 ;
BCF FLAG,2 ;ТАЙМЕР ВЫКЛЮЧЕН.
BCF FLAG,5 ;СЛЕДУЮЩЕЕ ВКЛЮЧЕНИЕ ТАЙМЕРА.
RETURN ;
CLRF TCL ;ВСЕ ОБНУЛЯЕМ.
CLRF TCH ;
CLRF TML ;
CLRF TMH ;
CLRF THL ;
CLRF THH ;
BSF FLAG,2 ;ВКЛЮЧИМ ТАЙМЕР.
RETURN
;===================================================
; 15. АЦП - ПРЕОБРАЗОВАНИЯ (ИЗМЕРЕНИЕ ВХОДНЫХ ВЕЛИЧИН).
;===================================================
ADP
MOVLW B'10000001' ;СИНХРОНИЗАЦИЯ ОТ RC
MOVWF ADCON0 ;ГЕНЕРАТОРА, ВХОД 0, ВКЛЮЧЕНИЕ АЦП (YBX).
CALL ZAD ;
BSF ADCON0,1 ;ВКЛЮЧИМ ПРЕОБРАЗОВАНИЕ.
BTFSC ADCON0,1 ;ОЖИДАЕМ ЗАВЕРШЕНИЯ
GOTO $-1 ;ПРЕОБРАЗОВАНИЯ. Перейти на страницу: 3 4 5 6 7 8 9 10
Советуем почитать:
Идентификация технологических объектов управления Объективные закономерности, присущие процессам переработки информации, обусловливают аналогию функциональных структур человека-оператора и управляющего устройства любого типа. Эта аналог ...
Проект компьютерной сети для коммерческого предприятия НордСофт Вхождение России в мировое информационное пространство влечет за собой широчайшее использование новейших информационных технологий, и в первую очередь, компьютерных сетей. При этом резк ...
Разработка микропроцессорной системы управления объектом Микропроцессорная система (далее МПС) предназначена для управления некоторыми объектами. Рисунок 1 - Структурная схема связи МПС с внешними объектами. Согласно рисунку ...