嵌入式硬件:可调电阻/数字电位器MAX5401
文章目录
- 背景
- 电路图
- 芯片驱动
- 驱动代码
背景
在放大电路中,我们需要增益可调,因此引入可变电阻。这里以MAX5401为例,介绍可变电阻驱动。
电路图

如上电路图所示,通过更改R1阻值,则可以更改电路放大倍数。
芯片驱动


MAX5401共有8个引脚,其中DIN和SCLK是控制引脚,其控制时序图如下:

其中控制的阻值变化是W到L的阻值,而W到H的阻值是100K减去控制的阻值。

驱动代码
void MyMAX5401::SendData(uint8_t Data)
{digitalWrite(pin_SCLK,0); digitalWrite(pin_CS,1);delayMicroseconds(1);digitalWrite(pin_CS,0);delayMicroseconds(1);//完成了片选uint8_t DataCopy = Data;for(uint8_t i = 0; i < 8; ++ i){if((DataCopy & 0X80) != 0){digitalWrite(pin_DIN,1);digitalWrite(pin_SCLK,0);delayMicroseconds(1);digitalWrite(pin_SCLK,1);delayMicroseconds(1);}else{digitalWrite(pin_DIN,0);digitalWrite(pin_SCLK,0);delayMicroseconds(1);digitalWrite(pin_SCLK,1);delayMicroseconds(1);}DataCopy <<= 1;}digitalWrite(pin_CS,1);digitalWrite(pin_SCLK,0);delayMicroseconds(1);//取消片选
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
