овка годинВ», В«Установка хвилинВ», В«+1В» і В«-1В». Якщо натиснута кнопка В«+1В» або В«-1В», відбувається запуск таймера TMR2 і перехід до установки відповідної величини (температури, часу включення, часу виключення, поточного часу). Якщо ж обидві кнопки відпущені, відбувається зупинка таймера TMR2. Натискання кнопок В«Установка годинВ» і В«Установка хвилинВ» призводить до включення відповідного режиму. p align="justify"> Лістинг підпрограми наведений нижче.
; ----------------------------------------- ------------------------ _RB ; обробника переривання по входу INTCON, RBIF ; СКИНУТИ прапор переривання по ВХОДАМ PORTB, 5 span> ; натисканні кнопки "ВСТАНОВЛЕННЯ ХВИЛИН" $ +4 FLAG_R, 5 span> ; ТАК - включити режим УСТАНОВКИ ХВИЛИН FLAG_R, 4 ; ВИМКНУТИ РЕЖИМ УСТАНОВКИ ГОДИН $ +5 PORTB, 4 ; натисканні кнопки "ВСТАНОВЛЕННЯ ГОДИН" $ +3 FLAG_R, 4 ; ТАК - включити режим УСТАНОВКИ ГОДИН span> FLAG_R, 5 ; ВИМКНУТИ РЕЖИМ УСТАНОВКИ ХВИЛИН
PORTB, 6 ; натисканні кнопки "+1" $ +2 $ +3 PORTB, 7 $ +3 T2CON , TMR2ON ; ЗАПУСК ТАЙМЕРА TMR2 DOWN_BUTT ; ПЕРЕХІД НА ПЕРЕВІРКУ стан кнопок T2CON, TMR2ON ; ЗУПИНКА ТАЙМЕРА TMR2 COUNTER INT_SOURCE ; ПОВЕРНУТИСЯ ДО ПОШУКУ джерела переривання
; ----------------------------------------- ------------------------
.10.7 Підпрограма прийому/передачі даних через USART
Ця підпрограма перевіряє дані, записані в буфер приймача USART, і, якщо вони відповідають коду запиту читання EEPROM (константа CONST_COD), читає дані з EEPROM, а потім здійснює передачу цих даних в зовнішній пристрій, використовуючи модуль USART.
; ----------------------------------------- ------------------------ _PRT ; ПІДПРОГРАМА ПРИЙОМУ/ПЕРЕДАЧІ ДАНИХ ЧЕРЕЗ USART PIE1, RCIE ; ЗАБОРОНИТИ ПЕРЕРИВАННЯ ВІД ПРИЙМАЧА USART