IrDA SIR кодер-декодер на MSP430C112


 


init_TATX

MOV #0200h,&TACTL

CLR CCTL1

MOV #0080h,&CCTLC

MOV BAUDRATE,&CCRC

MOV #00E0h,&CCTL2

MOV BAUDRATE,Rl5 SUB #006h,R15

MOV R15,&CCR2

MOV #030H,R14

BIC.B #0FFH,&P2IFG

BIS.В #020H,&P2IES

BIS.В #020H,&P2IE

MOV #020H,R13


Подготовка Timer_A (MCLK, Timer halted...) запрет прерывания от CCTL1

установка регистра управления нулевого модуля захвата/ сравнения

в регистр нулевого модуля захвата/ сравнения загружает­ся период

установка регистра управления второго модуля захвата/ сравнения —> рабочий режим

Вычитание: импульс цикла > для увеличе­ния/уменьшения - пе­реключение ! I регистр второго модуля захвата/срав­нения —> длительность импульса 6п

запуск/остановка таймера Timer_A (режим увеличения/ уменьшения)

очистка флагов преры­ваний от портов 2.x фронт IR устанавли­вает на выводе Р2.5 высокий или низкий сигнал

разрешение прерыва­ния от Р2.5 изменение фронта IR изменяет состояние на выходе Р2.5