嵌入式硬件:可调电阻/数字电位器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);//取消片选
}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部