STC32G144K246的DAC+OP应用 DAC1+OP1-DAC2+OP3-DAC2+OP4 同时输出3个正弦波
请直接下载"obj"里面的"DAC.hex"测试, 下载时选择主频48MHz。3个DAC同时输出正弦波,输出正弦波最高频率大约200KHz(DAC+运放的带宽决定),波形漂亮!
DAC1+OP1从P0.7输出正弦波,P0.5(OP1负输出入端)要悬空。输出接一阶RC滤波(3K+220pF)送示波器通道1。
DAC2+OP3从P7.4输出正弦波,P7.1(OP3负输出入端)要悬空。输出接一阶RC滤波(3K+220pF)送示波器通道2。
DAC2+OP4从P4.0输出正弦波,P6.5(OP4负输出入端)要悬空。输出接一阶RC滤波(3K+220pF)送示波器通道3。
输出正弦波可自行决定,我给的数据是500Hz ~100KHz。
//主循环
while(1) //循环40T, 采样1.2MHz@48MHz, 3MHz@120MHz
{
//sum1 += 22; //1000Hz, N = fx * 65536/3000000 = fx*1024/46875
//sum2 += 11; //500Hz
//sum1 += 218; //10KHz
//sum2 += 109; // 5KHz
sum1 += 2185;//100KHz
sum2 += 1092;// 50KHz
//主循环
while(1) //循环40T, 采样1.2MHz@48MHz, 3MHz@120MHz
{
//sum1 += 22; //1000Hz, N = fx * 65536/3000000 = fx*1024/46875
//sum2 += 11; //500Hz
//sum1 += 218; //10KHz
//sum2 += 109; // 5KHz
sum1 += 2185;//100KHz
sum2 += 1092;// 50KHz
DAC1_DAT = T_SineTable[(u8)(sum1 >>8)];
DAC1_CR= 0x41; //刷新DAC1输出
DAC2_DAT = T_SineTable[(u8)(sum2 >>8)];
DAC2_CR= 0x41; //刷新DAC2输出
}
滤波电路:
输出1000Hz和500Hz正弦波照片:
输出10KHz和5KHz正弦波照片:
输出100KHz和50KHz正弦波照片:
程序源码:
页:
[1]