您现在的位置是:首页 > 创新技术
CD74HC4067SM96/CD74HC4067M96/74HC4067PW/CD4067最新中文资料
智慧创新站
2025-04-23【创新技术】155人已围观
简介提供CD74HC4067SM96/CD74HC4067M96/74HC4067PW/CD4067中文资料_价格_PDF数据手册_引脚图及功能产品描述CD74HC4067SM96/CD74HC4067M96/74HC4067PW/CD4067是采用硅栅CMOS技术的数字控制式模拟开关,实现了类似于LS...
CD74HC4067SM96/CD74HC4067M96/74HC4067PW/CD4067是采用硅栅CMOS技术的数字控制式模拟开关,实现了类似于LSTTL的工作速度,而低功耗水平等同于标准CMOS集成电路。
CD74HC4067SM96/CD74HC4067M96/74HC4067PW/CD4067是数字控制模拟开关,具有低导通阻抗,低截止漏电流和内部地址译码的特征。另外,在整个输入信号范围内,导通电阻保持相对稳定。
这些模拟多路复用器/解复用器控制在供电电压范围内可能会发生变化的模拟电压。这些器件是双向开关,因此任何模拟输入均可用作输出,反之亦然。这些开关具有低导通电阻和低断态泄漏。此外,这些器件有一个使能控制,在处于高电平时将断开所有开关。模拟输入输出(Y0~Y15和Z)能够在最高VDD,最低VEE之间变化。(VDD-VEE)不会超过9V。
其主要特点如下:
●提供较宽电压范围:3V~9V
●全静态工作
●5V,9V参数额定值
●标准对称输出特性
●工作温度:-40℃to+105℃
●封装形式:SOP24/TSSOP24

逻辑电路的归属系列:4000B
通道数:16
电源电压:3V~9V
静态电流(最大值):10uA
导通电阻—最大值:400Ohms
导通电阻—最大值:270ns
导通电阻—最大值:180ns
带宽:60MHz
高电平范围(VIH):3.5V~7V
低电平范围(VIL):1.5V~3V
最大传播延迟(tpd):30ns@9V,50pF
工作温度:-40℃~+105℃

交流参数
功能框图功能框图
逻辑框图
工作原理图(单开关)
引脚图及功能引脚排列图
引脚说明
功能表
STM32控制原理和代码一开始默认使能状态,就直接通过S0-S3引脚的组合来控制C0-C15(16个通道的导通就可以了)
具体的代码思路就是把四个使能的引脚写到一个数组当中,然后用一个二维数组模拟出16个通道的情况,在用循环把4个通道的情况写入。不多说,具体看代码。
//写入到函数当中,方便MAIN中调用
voidreadMux1(intchannel)
{
intcontrolpin[4]={GPIO_PIN_12,GPIO_PIN_13,GPIO_PIN_14,GPIO_PIN_15};//这里我使用的是PB12-PB14
inti;
intmuxChannel[16][4]=
{
{0,0,0,0},//channel0
{1,0,0,0},//channel1
{0,1,0,0},//channel2
{1,1,0,0},//channel3
{0,0,1,0},//channel4
{1,0,1,0},//channel5
{0,1,1,0},//channel6
{1,1,1,0},//channel7
{0,0,0,1},//channel8
{1,0,0,1},//channel9
{0,1,0,1},//channel10
{1,1,0,1},//channel11
{0,0,1,1},//channel12
{1,0,1,1},//channel13
{0,1,1,1},//channel14
{1,1,1,1}//channel15
};
for(i=0;i4;i++)
{
HAL_GPIO_WritePin(GPIOB,controlpin[i],muxChannel[channel][i]);
}
}
//MAIN函数的调用
intmain()
{
for(j=0;j16;j++)
{
readMux(j);//调用需要配置的通道
HAL_Delay(1);//这里配置完一个通道需要进行延迟,不然通道会出现问题
}
return0;
}
出现的问题以及解决方法
因为项目的需要,需要两个模拟开关对32个通道进行循环开启,所以直接就把两个模拟开关打在同一个板子上面,并且两个使能引脚同时接地,以为没有问题,结果程序写好之后,发现两个芯片会产生干扰,一个模拟开关的通道会影响另一个模拟开关的所有通道。最后找了半天问题发现两个开关不能同时使能工作。解决方法就是把两个开关的使能引脚接入MCU,通过MCU来进行使能。
解决了两个通道相互影响的问题。大概代码如下。
PB11_ENABLE;
PB10_DISABLE;//防止对另一个通道造成影响
HAL_Delay(1);//突变的原因是因为使能之后不能立刻读取数据,需要延迟一下
for(k=0;k16;k++)
{
readMux1(k);//控制通断
HAL_Delay(1);
}
PB10_ENABLE;
PB11_DISABLE;
HAL_Delay(1);
for(j=0;j16;j++)
{
readMux1(j);//控制通断
HAL_Delay(1);
}
————————————————
版权声明:本段控制原理和代码为CSDN博主「ArthasHowie」的原创文章,遵循版权协议,转载请附上原文出处链接及本声明。
参考报价深圳市灵星芯微电子科技有限公司以低本高质的服务精神屹立于电子行业20多年
很赞哦!(76)