Управление барокамерой
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
p>;-----------------------------------------------------------------PORTB,6;НАЖАТА КНОПКА "-1"STOP_TMR2_3;ПЕРЕХОД НА ПОДПРОГРАММУ ОСТАНОВКИ ТАЙМЕРА TMR2
;СЧЕТЧИК ЕДИНИЦ ЧАСОВSTATUS,CSTOP_HL,F;ДЕКРЕМЕНТИРОВАТЬ МЛАДШИЙ СЧЕТЧИК ЧАСОВSTATUS,C;ПРОИЗОШЕЛ ЗАЕМSET_REG_LCD1;НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ ВЫВОДОМ
;ВРЕМЕНИ ВЫКЛЮЧЕНИЯ НА ИНДИКАЦИЮSTATUS,C0x09;ДА - ЗАГРУЗИТЬ НАЧАЛЬНОЕ ЗНАЧЕНИЕSTOP_HL
;----------------------------------------------------------------
;СЧЕТЧИК ДЕСЯТКОВ ЧАСОВSTOP_HH,F;ДЕКРЕМЕНТИРОВАТЬ СТАРШИЙ СЧЕТЧИК ЧАСОВSTATUS,C;ПРОИЗОШЕЛ ЗАЕМSET_REG_LCD1;НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ ВЫВОДОМ
;ВРЕМЕНИ ВЫКЛЮЧЕНИЯ НА ИНДИКАЦИЮSTATUS,C0x02;ДА - ЗАГРУЗИТЬ НАЧАЛЬНЫЕ ЗНАЧЕНИЯ В СЧЕТЧИКИ
MOVWFSTOP_HH0x04STOP_HL
GOTOSET_REG_LCD1;НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ ВЫВОДОМ
;ВРЕМЕНИ ВЫКЛЮЧЕНИЯ НА ИНДИКАЦИЮ
;-----------------------------------------------------------------_TMR2_3T2CON,TMR2ON;ОСТАНОВКА ТАЙМЕРА TMR2
SET_REG_LCD1STOP_ML,WIND_0STOP_MH,WIND_1STOP_HL,WIND_2STOP_HH,W
MOVWFIND_3POINT,2;ВЫКЛЮЧИТЬ ТОЧКУ ВО 2-М РАЗРЯДЕPOINT,1;ВКЛЮЧИТЬ ТОЧКУ В 1-М РАЗРЯДЕINT_SOURCE;ВЕРНУТЬСЯ К ПОИСКУ ИСТОЧНИКОВ ПРЕРЫВАНИЙ
;-----------------------------------------------------------------
;ПОДПРОГРАММА УСТАНОВКИ ТЕКУЩЕГО ВРЕМЕНИ_TIME;УСТАНОВКА ТЕКУЩЕГО ВРЕМЕНИFLAG_R,2;РЕЖИМ УСТАНОВКИ ТЕКУЩЕГО ВРЕМЕНИ ВКЛЮЧЕНINT_SOURCE;ВЕРНУТЬСЯ К ПОИСКУ ИСТОЧНИКОВ ПРЕРЫВАНИЙ
FLAG_R,5;РЕЖИМ УСТАНОВКИ МИНУТ ВКЛЮЧЕНSET_HOUR;НЕТ - ПЕРЕХОД К УСТАНОВКЕ ЧАСОВ
PORTB,6;НАЖАТА КНОПКА "+1"M13;НЕТ - ПЕРЕХОД К ПРОВЕРКЕ НАЖАТИЯ КНОПКИ "-1"
;-----------------------------------------------------------------
;СЧЕТЧИК ЕДИНИЦ МИНУТMIN_L,F;ИНКРЕМЕНТИРОВАТЬ МЛАДШИЙ СЧЕТЧИК МИНУТSTATUS,ZMIN_L,W;СЧЕТЧИК ДОСЧИТАЛ ДО 100x0ASTATUS,ZSET_REG_LCD2;НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ ВЫВОДОМ
;ТЕКУЩЕГО ВРЕМЕНИ НА ИНДИКАЦИЮMIN_L;ДА - ОЧИСТИТЬ МЛАДШИЙ СЧЕТЧИК МИНУТ
;----------------------------------------------------------------
;СЧЕТЧИК ДЕСЯТКОВ МИНУТMIN_H,F;ИНКРЕМЕНТИРОВАТЬ СТАРШИЙ СЧЕТЧИК МИНУТSTATUS,ZMIN_H,W;СЧЕТЧИК ДОСЧИТАЛ ДО 6
XORLW0x06
BTFSSSTATUS,ZSET_REG_LCD2;НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ ВЫВОДОМ
;ТЕКУЩЕГО ВРЕМЕНИ НА ИНДИКАЦИЮMIN_H;ДА - ОЧИСТИТЬ СТАРШИЙ СЧЕТЧИК МИНУТSET_REG_LCD2;НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ ВЫВОДОМ
;ТЕКУЩЕГО ВРЕМЕНИ НА ИНДИКАЦИЮ
;-----------------------------------------------------------------
PORTB,7;НАЖАТА КНОПКА "-1"STOP_TMR2_4;ПЕРЕХОД НА ПОДПРОГРАММУ ОСТАНОВКИ ТАЙМЕРА TMR2
;-----------------------------------------------------------------
;СЧЕТЧИК ЕДИНИЦ МИНУТSTATUS,CMIN_L,F;ДЕКРЕМЕНТИРОВАТЬ МЛАДШИЙ СЧЕТЧИК МИНУТSTATUS,C;ПРОИЗОШЕЛ ЗАЕМSET_REG_LCD2;НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ ВЫВОДОМ
;ТЕКУЩЕГО ВРЕМЕНИ НА ИНДИКАЦИЮSTATUS,C0x09;ДА - ЗАГРУЗКА НАЧАЛЬНОГО ЗНАЧЕНИЯMIN_L
;----------------------------------------------------------------
;СЧЕТЧИК ДЕСЯТКОВ МИНУТMIN_H,F;ДЕКРЕМЕНТИРОВАТЬ СТАРШИЙ СЧЕТЧИК МИНУТSTATUS,C;ПРОИЗОШЕЛ ЗАЕМSET_REG_LCD2;НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ ВЫВОДОМ
;ТЕКУЩЕГО ВРЕМЕНИ НА ИНДИКАЦИЮSTATUS,C0x05;ДА - ЗАПИСАТЬ НАЧАЛЬНОЕ ЗНАЧЕНИЕMIN_HSET_REG_LCD2;НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ
;ВЫВОДОМ ВРЕМЕНИ ВКЛЮЧЕНИЯ НА ИНДИКАЦИЮ
;-----------------------------------------------------------------
FLAG_R,4;РЕЖИМ УСТАНОВКИ ЧАСОВ ВКЛЮЧЕНSTOP_TMR2_4;ПЕРЕХОД НА ПОДПРОГРАММУ ОСТАНОВКИ ТАЙМЕРА TMR2
;-----------------------------------------------------------------PORTB,6;НАЖАТА КНОПКА "+1"M14;НЕТ - ПЕРЕХОД К ПРОВЕРКЕ НАЖАТИЯ КНОПКИ "-1"
_HOUR
;СЧЕТЧИКИ ЧАСОВHOUR_L,F;ИНКРЕМЕНТИРОВАТЬ МЛАДШИЙ СЧЕТЧИК ЧАСОВSTATUS,ZHOUR_H,W;СТАРШИЙ СЧЕТЧИК ДОСЧИТАЛ ДО 20x02STATUS,ZM15;НЕТ - ПЕРЕХОД НА ПРОВЕРКУ МЛАДШЕГО СЧЕТЧИКА
BCFSTATUS,ZHOUR_L,W0x04STATUS,ZM15STATUS,ZHOUR_L;ДА - ОЧИСТИТЬ МЛАДШИЙ СЧЕТЧИК ЧАСОВ
CLRFHOUR_HSET_REG_LCD2;ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ ВЫВОДОМ
;ТЕКУЩЕГО ВРЕМЕНИ НА ИНДИКАЦИЮHOUR_L,W0x0A;СЧЕТЧИК ДОСЧИТАЛ ДО 10STATUS,ZSET_REG_LCD2;НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ
;ВЫВОДОМ ВРЕМЕНИ ВКЛЮЧЕНИЯ НА ИНДИКАЦИЮHOUR_L;ДА - ОЧИСТИТЬ МЛАДШИЙ СЧЕТЧИК ЧАСОВHOUR_H;ИНКРЕМЕНТИРОВАТЬ СТАРШИЙ СЧЕТЧИК ЧАСОВSET_REG_LCD2;НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ
;ВЫВОДОМ ВРЕМЕНИ ВКЛЮЧЕНИЯ НА ИНДИКАЦИЮ
;-----------------------------------------------------------------PORTB,6;НАЖАТА КНОПКА "-1"SET_REG_LCD2;ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ ВЫВОДОМ
;ВРЕМЕНИ ВКЛЮЧЕНИЯ НА ИНДИКАЦИЮ
;СЧЕТЧИК ЕДИНИЦ ЧАСОВSTATUS,CHOUR_L,F;ДЕКРЕМЕНТИРОВАТЬ МЛАДШИЙ СЧЕТЧИК ЧАСОВSTATUS,C;ПРОИЗОШЕЛ ЗАЕМSET_REG_LCD2;НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ
;ВЫВОДОМ ВРЕМЕНИ ВКЛЮЧЕНИЯ НА ИНДИКАЦИЮSTATUS,C0x09;ДА - ЗАГРУЗИТЬ НАЧАЛЬНОЕ ЗНАЧЕНИЕHOUR_L
;----------------------------------------------------------------
;СЧЕТЧИК ДЕСЯТКОВ ЧАСОВHOUR_H,F;ДЕКРЕМЕНТИРОВАТЬ СТАРШИЙ СЧЕТЧИК ЧАСОВSTATUS,C;ПРОИЗОШЕЛ ЗАЕМSET_REG_LCD2;НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ
;ВЫВОДОМ ВРЕМЕНИ ВКЛЮЧЕНИЯ НА ИНДИКАЦИЮSTATUS,C0x02;ДА - ЗАГРУЗИТЬ НАЧАЛЬНЫЕ ЗНАЧЕНИЯ В СЧЕТЧИКИ
MOVWFHOUR_H0x04HOUR_L
GOTOSET_REG_LCD2;НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ
;ВЫВОДОМ ВРЕМЕНИ ВКЛЮЧЕНИЯ НА ИНДИКАЦИЮ
;-----------------------------------------------------------------_TMR2_4T2CON,TMR2ON;ОСТАНОВКА ТАЙМЕРА TMR2
SET_REG_LCD2MIN_L,WIND_0MIN_H,WIND_1HOUR_L,WIND_2HOUR_H,W
MOVWFIND_3POINT,2;ВЫКЛЮЧИТЬ ТОЧКУ ВО 2-М РАЗРЯДЕPOINT,1;ВКЛЮЧИТЬ ТОЧКУ В 1-М РАЗРЯДЕINT_SOURCE;ВЕРНУТЬСЯ К ПОИСКУ ИСТОЧНИКОВ ПРЕРЫВАНИЙ
;-----------------------------------------------------------------
2.10.5 Подпрограмма обработки прерываний по входу INT
Данная подпрограмма проверяет нажатие кнопок выбора режима. При первом нажатии кнопки включается соответствующий режим и разрешаются прерывания по входам и, при необходимости, производится запись установленных значений в EEPROM память данных.
;-----------------------------------------------------------------
INT_INT;ОБРАБОТЧИК ПРЕРЫВАНИЙ ПО ВХОДУ INT
;-----------------------------------------------------------------
BCFINTCON,INTF;СБРОСИТЬ ФЛАГ ПРЕРЫВАНИЯ ПО ВХОДУ INT
BTFSCPORTA,2;НАЖАТА КНОПКА "УСТАНОВКА ТЕМПЕРАТУРЫ"