找回密码
 立即注册
查看: 27|回复: 0

STC32G144K246的DAC+OP应用 DAC1+OP1-DAC2+OP3-DAC2+OP4 同时输出3个正弦波

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:215
  • 最近打卡:2025-10-30 10:24:20

83

主题

6817

回帖

1万

积分

超级版主

积分
14618
发表于 昨天 11:02 | 显示全部楼层 |阅读模式
请直接下载"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输出
}

滤波电路:

截图202510301050009260.jpg

输出1000Hz和500Hz正弦波照片:
截图202510301056552761.jpg

输出10KHz和5KHz正弦波照片:
截图202510301057598387.jpg

输出100KHz和50KHz正弦波照片:

截图202510301058426066.jpg


程序源码:
DAC OPA输出3个正弦波.rar (67.06 KB, 下载次数: 1)


1 喜欢他/她就送朵鲜花吧,赠人玫瑰,手有余香!
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-10-31 03:23 , Processed in 0.124431 second(s), 47 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表