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

 

NUM ASCIR rrc.b R15 ; 1. и 3 . пропускаются
    rrc.b R15  
    rrc.b R15  
    rrc.b R15  
NUM ASCIA and.b #0fh,R15   2. и 4.
          пропускаются
    add.b #030h,R15    
    cmp.b #03ah,R15    
    jlo NUM End    
    add.b #039,R15    
NUM End mov.b Rl5,RXTXData   загрузка
          буфера пере-
/         датчика
/ ТХ Byte ; Подпрограмма передачи байта из буфера
    RXTXData при помощи CCRO UART  
Текущее состояние счетчика ТА Некоторая пауза перед первым битом Добавление единично-

mov.w &TAR,&CCRC add.w #Bitime,&CCRC bis.w #0100h, RXTXData

го стопового бита в RXTXData

rla.w RXTXData
mov.w #10,BitCnt

Добавление нулевого стартового бита Загрузка счетчика битов, 8 бит данных + SP

mov.w #OUTMOD0+CCIE, &CCTL0 ; TXD = 1 = idle TX Wait tst.w BitCnt

jnz ret

Ожидание окончания передачи

TX Wait

TA0_ISR ; Буфер RXTXData содержит данные для UART.


add.w #Bitime,&CCRC


; Интервал до следую-; щего бита