Digitaal-analoogmuundur (inglise keeles digital to analog converter, lühend DAC) muundab digitaalsignaali analoogpingeks. AVR xmega DAC väljundpinge saab jääda vahemikku 0-võrdluspinge. DAC-i digitaalsisendi resolutsioon on 12-bitine ning töökiirus on kuni 1 miljon muundust sekundis (MSPS) kanali kohta.
Sisendpinget saab sarnaselt ADC muundurile sisestada nii 12-bitisena kui 8-bitisena. ATxmega128A1U kontrolleril on 2 DAC moodulit, mõlemal 2 kanalit, mis teeb kokku 4 DAC väljundit. Võrdluspingeks saab kasutada toitepinget AVcc, 1,00 V sisemist pinget, AREFA või AREFB analoog muunduri võrdluspinge sisendist.
Näide
Näites on toodud DACA ühe kanali seadistamine ja väärtuse seadmine. DACA CH0 on ühendatud ATxmega128A1U kontrolleril viiguga PA2.
// Käivita DACA ning DACA kanal CH0 DACA.CTRLA = (DAC_CH0EN_bm|DAC_ENABLE_bm); // Seadista DACA ühe kanali CH0 režiimi DACA.CTRLB = (DAC_CHSEL_SINGLE_gc); // Seadista DACA referents pingeks toitepinge AVcc DACA.CTRLC = (DAC_REFSEL_AVCC_gc); // Oota, kuni viimane konverteerimine on lõppenud while((DACA.STATUS & DAC_CH0DRE_bm) == 0); // Seadista DACA CH0 viigu pingeks ~2V DACA.CH0DATA = 2000;