F280049C有兩個12bit的可編程DAC內核,除了能產生DC電壓外,還可以產生多種AC波形,例如正弦波、方波、三角波等。每個DAC都有如下特點:
- 可選參考源,分爲內部參考源(參考電壓可選爲1.65V、2.5V)、外部參考源
- DAC輸出增益可編程
- DAC輸出可同步(DAC輸出同步主要是應用在斜波發生器中)
DAC的內部結構框圖如下所示:
(1)DAC初始化配置
初始化代碼如下所示:
void InitDACa(void)
{
EALLOW;
AnalogSubsysRegs.ANAREFCTL.bit.ANAREFA2P5SEL = 1;
AnalogSubsysRegs.ANAREFCTL.bit.ANAREFASEL = 0;
// AnalogSubsysRegs.ANAREFCTL.bit.ANAREFB2P5SEL = 1;
// AnalogSubsysRegs.ANAREFCTL.bit.ANAREFBSEL = 0;
// AnalogSubsysRegs.ANAREFCTL.bit.ANAREFC2P5SEL = 1;
// AnalogSubsysRegs.ANAREFCTL.bit.ANAREFCSEL = 0;
DacaRegs.DACCTL.bit.DACREFSEL = 1;
DacaRegs.DACOUTEN.bit.DACOUTEN = 1;
EDIS;
DELAY_US(10);
DacaRegs.DACVALS.bit.DACVALS = 0;
}
配置步驟:
- 使能DAC時鐘(一般默認外設時鐘都是開啓的,可以在InitSysCtrl()函數中配置)
- 設置DAC參考源(選擇內部2.5V電壓參考,參考源的設置在模擬子系統外設中配置,如上例程所示)
- DAC輸出使能
(2)DAC輸出配置
直接往DACVALS寄存器中填值,DAC就可以輸出。代碼如下所示:
DacaRegs.DACVALS.bit.DACVALS = 1638;
F280049C的DAC配置完整程序已打包上傳到CSDN博客,需要的可以自行下載。下載鏈接如下:
https://download.csdn.net/download/fanxianyan1993/11980462
提問方式:有啥不懂的可以隨時向我提問哈,掃描下方二維碼我會在第一時間給大家回覆的哈,謝謝。