Да удалить-то я могу весь твой конгениальный топик на тему "не
стреляйте в программиста, он паяет, как умеет". Но выяснилось, что
ты не только паять не умеешь (это простительно), но еще и
программист никакой. Мой код - это не лампочкой моргание, а
рекурсивный (бестабличный) генератор синуса, до 5 МГц на 40-MIPS
dsPIC33F. Внутри полный код (размером аж в 22 байта) с каментами -
обтеки и утрись :)) ; Recursive 16-bit sinewave sample generator (up to 256 samples per sine period)
; Outputs: w5, OUTPORT
; 8 clocks per sample (up to 5 MHz sinewawe can be generated with dsPIC33F @40 MIPS)
;
; (C) 2011 MBedder
sin1 = 806 ; 2^15*sin(2*pi/256)
cos1 = 32758 ; 2^15*cos(2*pi/256)
OUTPORT = LATB ; External DAC connected to this port
clr w12 ; sin 0
mov #sin1,w5 ; 2^15*sin(2*pi/256)
mov w5,w13 ; 2-tap 16-bit delay 1st stage
mov #cos1,w4 ; 2^15*cos(2*pi/256)
1:
mpy w4*w5,A ; AH = 0.5*sin(2*pi*N/256)
sac.r A,#-2,w5 ; w5 =~ 2*sin(2*pi*N/256)
sub w5,w12,w5 ; w5 = 2*sin(2*pi*N/256)-sin(2*pi*(N-2)/256)
mov w13,w12 ; w12 = sin(2*pi*(N-1)/256) (previous sample)
mov w5,w13 ; w13 = w5 (current sample)
mov w5,OUTPORT ; Write a next sinewave sample to a DAC port
bra 1b ; Loop for next iteration