Управление барокамерой

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

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;НАЖАТА КНОПКА "УСТАНОВКА ТЕМПЕРАТУРЫ"