Библиотека Компэла


Глава 3.


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


 


       
 
 
   

mov.w #OUTMOD0+CCIE,&CCTLC TX Wait tst.w BitCnt

add.w #Bitime,&CCRC

bis.w #0100h, RXTXData

rla.w RXTXData

mov.w #10,BitCnt

jnz TX_Wait ret


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

TXD = 1 = idle Ожидание окончания передачи


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


add.w #Bitime,&CCRC

UART_TX bic.w #OUTMOD2,&CCTLC

rra.w RXTXData

jc TX_Test

TX_Space bis.w #OUTMOD2,&CCTLC

TX_Test dec.w BitCnt

jnz TX_Next

bic.w #CCIE,&CCTLC

TX Next reti


Время до следующего бита

Принятие единицы LSB сдвигается в бит переноса

Переход —> бит = 1 Прием нуля Все биты переданы (приняты)? Следующий бит? Все биты переданы/ приняты, блокировка прерываний.


TAX ISR ; Подпрограмма обработки прерываний ; от CCR1-4 и по переполнению


add.w &TAIV,PC

reti


; Добавление к регист-

; ру таймера Timer A

; вектора смещения

; CCR0 не является

; источником


Библиотека Компэла


f& Texas