//. Использование внутренних функций, периферийных блоков...
Значение в CCR3 не изменяется для формирования постоянного уровня
incd R15
and #03Fh,R15
mov Sine Tab(R15)
add #04h,R14
and #0FFh,R14 mov R14,&TBCCR2
reti
Инкремент указателя в R15 to для следующего значения в таблице синуса
Инкремент двойной, т.к. значения в таблице двухбайтовые Операция лог. «И» с числом 03Fh даёт счётчик по модулю 32 для указания на значения в таблице ,&TBCCR1
Загрузить следующее значение синуса в CCR1
Инкрементировать значение «пилы» Изменение шага в R14 приведёт к изменению частоты «пилы» Исключим лишние биты Загрузим новое значение пилы в CCR2 возврат, прерывания разрешены
г COMMON | INTVEC ; Вектора | прерываний MSP430xl4x |
Г ORG | TIMERBO VECTOR | |
DW | ТВ ISR | ; Прерывание от CCIFGL |
ORG | RESET VECTOR | |
DW | RESET | ; POR, внеш. Reset, |
; Watchdog |
END