Декодирование ТВ ИК ДУ-сигналов используя Таймер A3


incd.w SP dec.b IRBit jnz IR_Cont IR_Comp clr.w &CCTL1 rrc.w IRData

Очистка верхушки стека

Переход —> не последний бит Отключение CCR1 12-битные IRData выровнены по правому краю

rrc.w IRData rrc.w IRData rrc.w IRData and.w #OFFFh,IRData ; Изолирование 12-бит-

; ного пакет

mov.w #GIE,0(SP) ; Декодированный байт = ак-; тивному в основной ; программе IR Cont reti

LED Disp ; Включение светодиода (Р1.0) если принятые ; ИК данные соответствуют коду команды ; «Channel+» (16)


and.w #07Fh,IRData LED_off bic.b #01h,&PlOUT LED0_tst cmp.w #Ch_up,IRData

jne LED_exit bis.b #01h,&P1OUT LED exit ret


Изолирование 7-бит­ного кода команды Выключение светодио­да

Проверка на соот­ветствие коду коман­ды «Channel+» (32)

Включение светодиода Выход из подпрограм­мы


; Используемые вектора прерываний

ORG OFFFEh
DW RESET
ORG 0FFF2h
DW TAO ISR

; Вектор сброса MSP43C

; Вектор прерывания ; от таймера Timer AC