MOVLW .10 ;ПУСТО.
CALL SEG ;ЗАПОЛНИМ РЕГИСТРЫ ИНДИКАЦИИ.
MOVWF R1 ;
MOVWF R2 ;
MOVWF R8 ;
BTFSS FLAG,6 ;
GOTO $+6 ;
MOVLW .11 ;ПРОЧЕРК СРЕДНИЙ.
CALL SEG ;
MOVWF R5 ;
BCF FLAG,6 ;
GOTO $+5 ;
MOVLW .12 ;ПРОЧЕРК НИЖНИЙ.
CALL SEG ;
MOVWF R5 ;
BSF FLAG,6 ;
MOVFW ML ;
CALL SEG ;
MOVWF R3 ;
MOVFW MH ;
CALL SEG ;
MOVWF R4 ;
MOVFW HL ;
CALL SEG ;
MOVWF R6 ;
MOVFW HH ;
CALL SEG ;
MOVWF R7 ;
BSF FLAG,1 ;ВКЛЮЧИМ РЕЖИМ ЧАСОВ.
CLRF ZPT ;
RETURN ;
INDT
BTFSS PORTA,KY;ЕСЛИ КНОПКА НАЖАТА,
CALL T00 ;ТО ИДЕМ ОБНУЛЯТЬ ТАЙМЕР.
MOVFW TCL ;ЗАПОЛНИМ РЕГИСТРЫ ИНДИКАЦИИ
CALL SEG ;МИНУТ И СЕКУНД ПРАВЫХ ЧАСОВ.
MOVWF R1 ;
MOVFW TCH ;
CALL SEG ;
MOVWF R2 ;
MOVFW TML ;
CALL SEG ;
MOVWF R4 ;
MOVFW TMH ;
CALL SEG ;
MOVWF R5 ;
MOVLW .11 ;ПРОЧЕРК.
CALL SEG ;
MOVWF R3 ;
MOVWF R6 ;
MOVFW THL ;
CALL SEG ;
MOVWF R7 ;
MOVFW THH ;
CALL SEG ;
MOVWF R8 ;
BCF FLAG,1 ;РЕЖИМ ЧАСЫ ВЫКЛЮЧЕН.
BCF FLAG,7 ;НЕТ УСТАНОВКИ.
RETURN ;
INDU
MOVLW .10 ;ПУСТО.
CALL SEG ;ЗАПОЛНИМ РЕГИСТРЫ ИНДИКАЦИИ.
MOVWF R1 ;
MOVWF R2 ;
MOVWF R3 ;
MOVWF R7 ;
MOVWF R8 ;
MOVFW COI ;
CALL SEG ;
MOVWF R6 ;
MOVFW DEI ;
CALL SEG ;
MOVWF R5 ;
MOVFW EDI ;
CALL SEG ;
MOVWF R4 ;
BSF ZPT,4 ;
RETURN ;
;===================================================
; 20. РАСПРЕДЕЛИТЕЛЬ.
;===================================================
PAC
BTFSS FLAG1,1 ;ЖДЕМ 1 СЕКУНДУ.
GOTO $-1 ;
CALL ADP ;
CALL KHOP ;НА ПРОВЕРКУ КНОПОК.
CALL IND ;НА ИНДИКАЦИЮ.
BCF FLAG1,1 ;
GOTO PAC ;ПОВТОРИМ.
;=====================================================
; 21. УСТАНОВКА ВРЕМЕНИ.
;=====================================================
YC0
INCF ML,1 ;УВЕЛИЧИМ ЕДИНИЦЫ МИНУТ.
MOVLW .10 ;НЕ БОЛЕЕ 9.
SUBWF ML,0 ;
SKPNC ;ЕСЛИ БОЛЬШЕ ИЛИ РАВНО 10,
CLRF ML ;ТО ОБНУЛИМ.
RETURN
YC1
INCF MH,1 ;УВЕЛИЧИМ ДЕСЯТКИ МИНУТ.
MOVLW .6 ;НЕ БОЛЕЕ 5.
SUBWF MH,0 ;
SKPNC ;ЕСЛИ БОЛЬШЕ ИЛИ РАВНО 6,
CLRF MH ;ТО ОБНУЛИМ.
RETURN
YC2
INCF HL,1 ;УВЕЛИЧИМ ЕДИНИЦЫ ЧАСОВ.
MOVLW .10 ;НЕ БОЛЕЕ 9.
SUBWF HL,0 ;
SKPNC ;
CLRF HL ;ЕСЛИ БОЛЬШЕ, ТО ОБНУЛИМ.
MOVFW HH ;ПЕРЕКОДИРУЕМ В ДВОИЧНЫЙ
CALL DEBIN ;КОД ДЕСЯТКИ.
ADDWF HL,0 ;ПРИБАВИМ ЕДИНИЦЫ
MOVWF HOU ;ДВОИЧНОЕ ЗНАЧЕНИЕ НЕ ДОЛЖНО
ADDLW -18H ;ПРЕВЫШАТЬ - 24.
SKPC ;ЕСЛИ БОЛЬШЕ ИЛИ РАВНО 24,
RETURN
CLRF HOU ;ТО ОБНУЛИМ ЧАСЫ ДВОИЧНЫЕ
CLRF HL ;И РАЗРЯДЫ СТАРШИЙ
CLRF HH ;И МЛАДШИЙ.
RETURN
YC3
INCF HH,1 ;УВЕЛИЧИМ ДЕСЯТКИ ЧАСОВ.
MOVLW .3 ;НЕ БОЛЕЕ 2.
SUBWF HH,0 ;
SKPNC ;
CLRF HH ;ЕСЛИ БОЛЬШЕ, ТО ОБНУЛИМ.
MOVFW HH ;ПЕРЕКОДИРУЕМ В ДВОИЧНЫЙ
CALL DEBIN ;КОД ДЕСЯТКИ.
ADDWF HL,0 ;ПРИБАВИМ ЕДИНИЦЫ
MOVWF HOU ;И ПОЛУЧИМ ДВОИЧНОЕ ЧИСЛО.
ADDLW -18H ;
SKPC ;ЕСЛИ БОЛЬШЕ ИЛИ РАВНО 24,
RETURN
CLRF HOU ;ТО ОБНУЛИМ ЧАСЫ ДВОИЧНЫЕ
CLRF HL ;И РАЗРЯДЫ СТАРШИЙ
CLRF HH ;И МЛАДШИЙ.
RETURN ;ВЕРНЕМСЯ.
YCE
CLRF CL ;ОБНУЛЕНИЕ.
CLRF CH ;
CLRF ML ;
RETURN ;
;======================================================
END
;====================================================== Перейти на страницу: 5 6 7 8 9 10
Советуем почитать:
Аппаратно-технологическое обеспечение производства литературно-драматических радиовещательных программ Данный раздел моей работы должен описать процесс создания литературно-драматических радиовещательных программ. Под вышесказанным стоит понимать не только радио-спектакль, но и очень ...
Основные положения регламента любительской радиосвязи Украины Регламент любительской радиосвязи Украины разработан в соответствии с Регламентом Радиосвязи Международного Союза Электросвязи, законом Украины "Про связь", рекомендациями Межд ...
Содержание кабеля под воздушным давлением Все магистральные и межстанционные кабели емкостью от 100 пар и более устанавливают под постоянное избыточное воздушное давление. Это делают во избежание проникновения влаги и дл ...