BCF STATUS, Z HOUR_L, W 0x04 STATUS, Z M15 STATUS, Z HOUR_L ; ДА - ОЧИСТИТЬ МЛАДШИЙ СЧЕТЧИК ЧАСОВ
CLRF HOUR_H SET_REG_LCD2 ; ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ ВЫВОДОМ
; ТЕКУЩЕГО ВРЕМЕНИ НА ИНДИКАЦИЮ HOUR_L, W 0x0A ; СЧЕТЧИК ДОСЧИТАЛ ДО 10 STATUS, Z SET_REG_LCD2 ; НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ
; ВЫВОДОМ ВРЕМЕНИ ВКЛЮЧЕНИЯ НА ИНДИКАЦИЮ HOUR_L ; ДА - ОЧИСТИТЬ МЛАДШИЙ СЧЕТЧИК ЧАСОВ HOUR_H ; ИНКРЕМЕНТИРОВАТЬ СТАРШИЙ СЧЕТЧИК ЧАСОВ SET_REG_LCD2 ; НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ
; ВЫВОДОМ ВРЕМЕНИ ВКЛЮЧЕНИЯ НА ИНДИКАЦИЮ
;- PORTB, 6 ; НАЖАТА КНОПКА «- 1» SET_REG_LCD2 ; ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ ВЫВОДОМ
; ВРЕМЕНИ ВКЛЮЧЕНИЯ НА ИНДИКАЦИЮ
; СЧЕТЧИК ЕДИНИЦ ЧАСОВ STATUS, C HOUR_L, F ; ДЕКРЕМЕНТИРОВАТЬ МЛАДШИЙ СЧЕТЧИК ЧАСОВ STATUS, C ; ПРОИЗОШЕЛ ЗАЕМ SET_REG_LCD2 ; НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ
; ВЫВОДОМ ВРЕМЕНИ ВКЛЮЧЕНИЯ НА ИНДИКАЦИЮ STATUS, C 0x09 ; ДА - ЗАГРУЗИТЬ НАЧАЛЬНОЕ ЗНАЧЕНИЕ HOUR_L
;-
; СЧЕТЧИК ДЕСЯТКОВ ЧАСОВ HOUR_H, F ; ДЕКРЕМЕНТИРОВАТЬ СТАРШИЙ СЧЕТЧИК ЧАСОВ STATUS, C ; ПРОИЗОШЕЛ ЗАЕМ SET_REG_LCD2 ; НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ
; ВЫВОДОМ ВРЕМЕНИ ВКЛЮЧЕНИЯ НА ИНДИКАЦИЮ STATUS, C 0x02 ; ДА - ЗАГРУЗИТЬ НАЧАЛЬНЫЕ ЗНАЧЕНИЯ В СЧЕТЧИКИ
MOVWF HOUR_H 0x04
MOVWF HOUR_L SET_REG_LCD2 ; НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ
; ВЫВОДОМ ВРЕМЕНИ ВКЛЮЧЕНИЯ НА ИНДИКАЦИЮ
;-_TMR2_4 T2CON, TMR2ON ; ОСТАНОВКА ТАЙМЕРА TMR2
SET_REG_LCD2 MIN_L, W IND_0 MIN_H, W IND_1 HOUR_L, W IND_2 HOUR_H, W
MOVWF IND_3 POINT, 2 ; ВЫКЛЮЧИТЬ ТОЧКУ ВО 2-М РАЗРЯДЕ POINT, 1 ; ВКЛЮЧИТЬ ТОЧКУ В 1-М РАЗРЯДЕ INT_SOURCE ; ВЕРНУТЬСЯ К ПОИСКУ ИСТОЧНИКОВ ПРЕРЫВАНИЙ
;-
Подпрограмма обработки прерываний по входу
INT
Данная подпрограмма проверяет нажатие кнопок выбора режима. При первом нажатии кнопки включается соответствующий режим и разрешаются прерывания по входам <RB4:RB7> от кнопок «Установка часов», «Установка минут», «+1» и «-1». При повторном нажатии этой же кнопки происходит выключение соответствующего режима, запрет прерываний по входам <RB4:RB7> и, при необходимости, производится запись установленных значений в EEPROM память данных.
;-
INT_INT ; ОБРАБОТЧИК ПРЕРЫВАНИЙ ПО ВХОДУ INT
;-
BCF INTCON, INTF ; СБРОСИТЬ ФЛАГ ПРЕРЫВАНИЯ ПО ВХОДУ INT
BTFSC PORTA, 2 ; НАЖАТА КНОПКА «УСТАНОВКА ТЕМПЕРАТУРЫ»
GOTO B_TIME_START ; НЕТ - ПЕРЕХОД К ПРОВЕРКЕ НАЖАТИЯ КНОПКИ
; «УСТАНОВКА ВРЕМЕНИ ВКЛЮЧЕНИЯ»
BTFSS FLAG_R, 0 ; РЕЖИМ УСТАНОВКИ ТЕМПЕРАТУРЫ ВКЛЮЧЕН
GOTO START_UST_T ; НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ ВКЛЮЧЕНИЯ РЕЖИМА
; УСТАНОВКИ ТЕМПЕРАТУРЫ
BCF FLAG_R, 0 ; ВЫКЛЮЧИТЬ РЕЖИМ УСТАНОВКИ ТЕМПЕРАТУРЫ
BSF FLAG_R, 6 ; ВКЛЮЧИТЬ РЕЖИМ ОТОБРАЖЕНИЯ ТЕКУЩЕГО ВРЕМЕНИ
BCF INTCON, RBIE ; ЗАПРЕТИТЬ ПРЕРЫВАНИЯ ПО ВХОДАМ <RB4:RB7>
;-
; ЗАПИСЬ В EEPROM
BANC2
CLRF EEADR ; УСТАНОВКА НАЧАЛЬНОГО АДРЕСА 00h
BANC3
BTFSC EECON1, WR ; ПРОВЕРКА ОКОНЧАНИЯ ЗАПИСИ В EEPROM
GOTO $+1
BANC0
MOVF MAX_TL, W ; ЧТЕНИЕ ДАННЫХ ИЗ РЕГИСТРА MAX_TL
BANC2
MOVWF EEDATA
BANC3
BCF EECON1, EEPGD ; ЗАПИСЬ БУДЕТ ПРОИЗВОДИТЬСЯ В EEPROM
BSF EECON1, WREN ; РАЗРЕШЕНИЕ ЗАПИСИ В EEPROM
MOVLW 0x55 EECON2 0xAA EECON2
BSF EECON1, WR ; ИНИЦИАЛИЗАЦИЯ ЗАПИСИ
BCF EECON1, WREN ; ЗАПРЕТ ЗАПИСИ ВEEPROM
BANC2
INCF EEADR, F ; УВЕЛИЧИТЬ АДРЕС НА 1
BANC3
BTFSC EECON1, WR ; ПРОВЕРКА ОКОНЧАНИЯ ЗАПИСИ В EEPROM
GOTO $+1
BANC0
MOVF MAX_TH, W ; ЧТЕНИЕ ДАННЫХ ИЗ РЕГИСТРА MAX_TH
BANC2
MOVWF EEDATA
BANC3
BCF EECON1, EEPGD ; ЗАПИСЬ БУДЕТ ПРОИЗВОДИТЬСЯ В EEPROM
BSF EECON1, WREN ; РАЗРЕШЕНИЕ ЗАПИСИ В EEPROM
MOVLW 0x55 EECON2 0xAA EECON2
BSF EECON1, WR ; ИНИЦИАЛИЗАЦИЯ ЗАПИСИ
BCF EECON1, WREN ; ЗАПРЕТ ЗАПИСИ ВEEPROM
BANC0
GOTO INT_SOURCE ; ВЕРНУТЬСЯ К ПОИСКУ ИСТОЧНИКОВ ПРЕРЫВАНИЙ
;-
START_UST_T ; ПОДПРОГРАММА ВКЛЮЧЕНИЯ РЕЖИМА УСТАНОВКИ ТЕМПЕРАТУРЫ
MOVLW B'00000001' ; ВКЛЮЧИТЬ РЕЖИМ УСТАНОВКИ ТЕМПЕРАТУРЫ
MOVWF FLAG_R ; ОСТАЛЬНЫЕ ВЫКЛЮЧИТЬ Перейти на страницу: 1 2 3 4 5 6 7 8
Популярное:
Информационно-вычислительная сеть на основе архитектуры клиент-сервер, предметная область Магазин бытовой техники Компьютерная сеть обозначает наборы связанных между собой автономных компьютеров. Два компьютера называются связанными между собой, если они могут обмениваться информацией. Связь не обязательно должна осуществляться при помощи медного провода. Могут использоваться самые разнообразные средства связи, включая волоконную оптику, ...