Itnewsrussia.ru

Анализ современных технологий

Подпрограмма двоично-десятичной коррекции

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

Популярное:

Информационно-вычислительная сеть на основе архитектуры клиент-сервер, предметная область Магазин бытовой техники Компьютерная сеть обозначает наборы связанных между собой автономных компьютеров. Два компьютера называются связанными между собой, если они могут обмениваться информацией. Связь не обязательно должна осуществляться при помощи медного провода. Могут использоваться самые разнообразные средства связи, включая волоконную оптику, ...