You also want to use a timer or clock to trigger the dac update, to avoid jitter
in the output waveform. An ISR can do this if its high priority, but thats not a
guarantee there will be no jitter. Only a HW process can guarantee that. There
are processors out there that can do an end to end HW solution. Not sure if PIC
can do this. Would have to have DMA. separate busses, and access to the sine
sample table.