28
2021
08

基于R2R电阻网络实现DAC 提供STC代码,目前已测试通过

电路图:

image.png

这里是我推荐的方式,使用多个引脚可以实现方便的输出,当然,如果引脚有限,你可以使用这个:

image.png


参考代码:

#define DAC7_PIN P17
#define DAC6_PIN P16
#define DAC5_PIN P15
#define DAC4_PIN P11
#define DAC3_PIN P12
#define DAC2_PIN P13
#define DAC1_PIN P14
#define DAC0_PIN P10
void SET_DAC(unsigned char DAC_TEMP)
{
//    unsigned char TEMP;
//    DAC_TEMP = DAC_TEMP * 5.0 / 256.0;
//    TEMP = DAC_TEMP;
    DAC0_PIN = GET_BIT(DAC_TEMP, 0);
    DAC1_PIN = GET_BIT(DAC_TEMP, 1);
    DAC2_PIN = GET_BIT(DAC_TEMP, 2);
    DAC3_PIN = GET_BIT(DAC_TEMP, 3);

    DAC4_PIN = GET_BIT(DAC_TEMP, 4);
    DAC5_PIN = GET_BIT(DAC_TEMP, 5);
    DAC6_PIN = GET_BIT(DAC_TEMP, 6);
    DAC7_PIN = GET_BIT(DAC_TEMP, 7);
}

值得注意的是,如果你希望产生高速的波形,在绘制电路板的时候要注意给信号线做等距,或者尽可能的使得信号线更短!

image.png


« 上一篇 下一篇 »

返回顶部
请先 登录 再评论,若不是会员请先 注册