Микропроцессорныая система. Автоматический чайник

Дипломная работа - Компьютеры, программирование

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

К ЕДИНИЦ ЧАСОВSTATUS, CSTART_HL, F; ДЕКРЕМЕНТИРОВАТЬ МЛАДШИЙ СЧЕТЧИК ЧАСОВSTATUS, C; ПРОИЗОШЕЛ ЗАЕМSET_REG_LCD; НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ ВЫВОДОМ

; ВРЕМЕНИ ВКЛЮЧЕНИЯ НА ИНДИКАЦИЮSTATUS, C0x09; ДА - ЗАГРУЗИТЬ НАЧАЛЬНОЕ ЗНАЧЕНИЕSTART_HL

;-

; СЧЕТЧИК ДЕСЯТКОВ ЧАСОВSTART_HH, F; ДЕКРЕМЕНТИРОВАТЬ СТАРШИЙ СЧЕТЧИК ЧАСОВSTATUS, C; ПРОИЗОШЕЛ ЗАЕМSET_REG_LCD; НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ ВЫВОДОМ

; ВРЕМЕНИ ВКЛЮЧЕНИЯ НА ИНДИКАЦИЮSTATUS, C0x02; ДА - ЗАГРУЗИТЬ НАЧАЛЬНЫЕ ЗНАЧЕНИЯ В СЧЕТЧИКИ

MOVWFSTART_HH0x04

MOVWFSTART_HLSET_REG_LCD; НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ ВЫВОДОМ

; ВРЕМЕНИ ВКЛЮЧЕНИЯ НА ИНДИКАЦИЮ

;-_TMR2_2T2CON, TMR2ON; ОСТАНОВКА ТАЙМЕРА TMR2

SET_REG_LCDSTART_ML, WIND_0START_MH, WIND_1START_HL, WIND_2START_HH, W

MOVWFIND_3POINT, 2; ВЫКЛЮЧИТЬ ТОЧКУ ВО 2-М РАЗРЯДЕPOINT, 1; ВКЛЮЧИТЬ ТОЧКУ В 1-М РАЗРЯДЕINT_SOURCE; ВЕРНУТЬСЯ К ПОИСКУ ИСТОЧНИКОВ ПРЕРЫВАНИЙ

;-

; ПОДПРОГРАММА УСТАНОВКИ ВРЕМЕНИ ВЫКЛЮЧЕНИЯ_TIME; УСТАНОВКА ВРЕМЕНИ ВЫКЛЮЧЕНИЯFLAG_R, 2; РЕЖИМ УСТАНОВКИ ВРЕМЕНИ ВЫКЛЮЧЕНИЯ ВКЛЮЧЕНCURRENT_TIME; НЕТ - ПЕРЕХОД К УСТАНОВКЕ ТЕКУЩЕГО ВРЕМЕНИ

FLAG_R, 5; РЕЖИМ УСТАНОВКИ МИНУТ ВКЛЮЧЕНSET_HOUR; НЕТ - ПЕРЕХОД К УСТАНОВКЕ ЧАСОВ

PORTB, 6; НАЖАТА КНОПКА +1M10; НЕТ - ПЕРЕХОД К ПРОВЕРКЕ НАЖАТИЯ КНОПКИ - 1

 

;-

; СЧЕТЧИК ЕДИНИЦ МИНУТSTOP_ML, F; ИНКРЕМЕНТИРОВАТЬ МЛАДШИЙ СЧЕТЧИК МИНУТSTATUS, ZSTOP_ML, W; СЧЕТЧИК ДОСЧИТАЛ ДО 100x0ASTATUS, ZSET_REG_LCD1; НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ ВЫВОДОМ

; ВРЕМЕНИ ВЫКЛЮЧЕНИЯ НА ИНДИКАЦИЮSTOP_ML; ДА - ОЧИСТИТЬ МЛАДШИЙ СЧЕТЧИК МИНУТ

;-

; СЧЕТЧИК ДЕСЯТКОВ МИНУТSTOP_MH, F; ИНКРЕМЕНТИРОВАТЬ СТАРШИЙ СЧЕТЧИК МИНУТSTATUS, ZSTOP_MH, W; СЧЕТЧИК ДОСЧИТАЛ ДО 6

XORLW0x06STATUS, Z

GOTOSET_REG_LCD1; НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ ВЫВОДОМ

; ВРЕМЕНИ ВЫКЛЮЧЕНИЯ НА ИНДИКАЦИЮSTOP_MH; ДА - ОЧИСТИТЬ СТАРШИЙ СЧЕТЧИК МИНУТSET_REG_LCD1; ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ ВЫВОДОМ

; ВРЕМЕНИ ВЫКЛЮЧЕНИЯ НА ИНДИКАЦИЮ

;-

PORTB, 7; НАЖАТА КНОПКА - 1STOP_TMR2_3; ПЕРЕХОД НА ПОДПРОГРАММУ ОСТАНОВКИ ТАЙМЕРА TMR2

;-

; СЧЕТЧИК ЕДИНИЦ МИНУТSTATUS, CSTOP_ML, F; ДЕКРЕМЕНТИРОВАТЬ МЛАДШИЙ СЧЕТЧИК МИНУТSTATUS, C; ПРОИЗОШЕЛ ЗАЕМSET_REG_LCD1; НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ ВЫВОДОМ

; ВРЕМЕНИ ВЫКЛЮЧЕНИЯ НА ИНДИКАЦИЮSTATUS, C0x09; ДА - ЗАГРУЗКА НАЧАЛЬНОГО ЗНАЧЕНИЯSTOP_ML

;-

; СЧЕТЧИК ДЕСЯТКОВ МИНУТSTOP_MH, F; ДЕКРЕМЕНТИРОВАТЬ СТАРШИЙ СЧЕТЧИК МИНУТSTATUS, C; ПРОИЗОШЕЛ ЗАЕМSET_REG_LCD1; НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ ВЫВОДОМ

; ВРЕМЕНИ ВЫКЛЮЧЕНИЯ НА ИНДИКАЦИЮSTATUS, C0x05; ДА - ЗАПИСАТЬ НАЧАЛЬНОЕ ЗНАЧЕНИЕSTOP_MHSET_REG_LCD1; НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ ВЫВОДОМ

; ВРЕМЕНИ ВЫКЛЮЧЕНИЯ НА ИНДИКАЦИЮ

;-

FLAG_R, 4; РЕЖИМ УСТАНОВКИ ЧАСОВ ВКЛЮЧЕНSTOP_TMR2_3; ПЕРЕХОД НА ПОДПРОГРАММУ ОСТАНОВКИ ТАЙМЕРА TMR2

;-PORTB, 6; НАЖАТА КНОПКА +1M11; НЕТ - ПЕРЕХОД К ПРОВЕРКЕ НАЖАТИЯ КНОПКИ - 1

 

; СЧЕТЧИКИ ЧАСОВSTOP_HL, F; ИНКРЕМЕНТИРОВАТЬ МЛАДШИЙ СЧЕТЧИК ЧАСОВSTATUS, ZSTOP_HH, W; СТАРШИЙ СЧЕТЧИК ДОСЧИТАЛ ДО 20x02STATUS, ZM12; НЕТ - ПЕРЕХОД НА ПРОВЕРКУ МЛАДШЕГО СЧЕТЧИКА

BCFSTATUS, ZSTOP_HL, W0x04STATUS, ZM12STATUS, ZSTOP_HL; ДА - ОЧИСТИТЬ МЛАДШИЙ СЧЕТЧИК ЧАСОВ

CLRFSTOP_HHSET_REG_LCD1; НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ ВЫВОДОМ

; ВРЕМЕНИ ВЫКЛЮЧЕНИЯ НА ИНДИКАЦИЮSTOP_HL, W0x0A; СЧЕТЧИК ДОСЧИТАЛ ДО 10STATUS, ZSET_REG_LCD1; НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ ВЫВОДОМ

; ВРЕМЕНИ ВЫКЛЮЧЕНИЯ НА ИНДИКАЦИЮSTOP_HL; ДА - ОЧИСТИТЬ МЛАДШИЙ СЧЕТЧИК ЧАСОВSTOP_HH; ИНКРЕМЕНТИРОВАТЬ СТАРШИЙ СЧЕТЧИК ЧАСОВSET_REG_LCD1; ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ ВЫВОДОМ

; ВРЕМЕНИ ВЫКЛЮЧЕНИЯ НА ИНДИКАЦИЮ

;-PORTB, 6; НАЖАТА КНОПКА - 1STOP_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_HH0x04

MOVWFSTOP_HLSET_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; НАЖАТА КНОПКА +1M13; НЕТ - ПЕРЕХОД К ПРОВЕРКЕ НАЖАТИЯ КНОПКИ - 1

 

;-

; СЧЕТЧИК ЕДИНИЦ МИНУТMIN_L, F; ИНКРЕМЕНТИРОВАТЬ МЛАДШИЙ СЧЕТЧИК МИНУТSTATUS, ZMIN_L, W; СЧЕТЧИК ДОСЧИТАЛ ДО 100x0ASTATUS, ZSET_REG_LCD2; НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ ВЫВОДОМ

; ТЕКУЩЕГО ВРЕМЕНИ НА ИНДИКАЦИЮMIN_L; ДА - ОЧИСТИТЬ МЛАДШИЙ СЧЕТЧИК МИНУТ

;-

; СЧЕТЧИК ДЕСЯТКОВ МИНУТMIN_H, F; ИНКРЕМЕНТИРОВАТЬ СТАРШИЙ СЧЕТЧИК МИНУТSTATUS, ZMIN_H, W; СЧЕТЧИК ДОСЧИТАЛ ДО 6

XORLW0x06STATUS, Z

GOTOSET_REG_LCD2; НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ ВЫВОДОМ

; ТЕКУЩЕГО ВРЕМЕНИ НА ИНДИКАЦИЮMIN_H; ДА - ОЧИСТИТЬ СТАРШИЙ СЧЕТЧИК МИНУТSET_REG_LCD2; НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ ВЫВОДОМ

; ТЕКУЩЕГО ВРЕМЕНИ НА ИНДИКАЦИЮ

;-

PORTB, 7; НАЖАТА КНОПКА - 1STOP_TMR2_4; ПЕРЕХОД НА ПОДПРОГРАММУ ОСТАНОВКИ ТАЙМЕРА TMR2

;-

; СЧЕТЧИК ЕДИНИЦ МИНУТSTATUS, CMIN_L, F; ДЕКРЕМЕНТИРОВАТЬ МЛАДШИЙ СЧЕТЧИК МИНУТSTATUS, C; ПРОИЗОШЕЛ ЗАЕМSET_REG_LCD2; НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ ВЫВОДОМ

; ТЕКУЩЕГО ВРЕМЕНИ НА ИНДИКАЦИЮSTATUS, C0x09; ДА - ЗАГРУЗКА НАЧАЛЬНОГО ЗНАЧЕНИЯMI