Курсовая работа: Термостат
T19: SETB P2.5 ;включение нагревателя
CLR P2.4 ;выключение вентилятора
SJMP NOCORRECT ;переход на метку NEXT
NEXT: INC R7 ;настройка на проверку следующего датчика
СJNER7, #1000B, NOCORRECT ;R7 = 8
MOV R7, #0H ;переход на нулевой датчик
NOCORRECT: POP ACC ;извлечение аккумулятора из стека
RETI
START: MOV TMOD, #00000001B ;настройка таймера 0: 16 битный таймер
MOV TH0, #11111111B ;"настройка" таймера 0
MOV TL0, #11101010B ;на нужное время срабатывания (1 раз за 20 мкс)
SETB TCON.4 ;пуск таймера 0
SETB IE.7 ;снятие блокировки прерываний
SETB IE.1 ;разрешение прерываний от таймера 0
TEMP: CLR IE.7 ;блокировка прерываний
MOV A, P2 ;считывание значения Р2
ANL A, #11111000B ;"обнуление" кода номера датчика
ADD A, R7 ;добавление "свежего" кода
MOV P2, A ;обновление информации
SETB IE.7 ;снятие блокировки прерываний
MOV R5, #1101011B ;код 21 градуса по Цельсию
CLR C ;сброс бита заёма
SJMP TEMP ;переход на метку TEMP
END ;конец программы