CD4017 IC 是一个十进制计数器,它有 10 个输出,分别代表 0 到 9 的数字。计数器在(14号引脚)每个时钟脉冲上升时增加 1。计数器达到 9 后,它会在下一个时钟脉冲时从 0 重新开始。
引脚名称 | 管脚 # | 类型 | 描述 |
---|---|---|---|
VDD | 16 | 电源电压(+3 至 +15V) | |
GND | 8 | 接地(0V) | |
Q0-Q9 | 1-7 和 9-11 | 输出 | 连接输出例如led |
CO | 12 | 输出 | 执行。十个时钟脉冲后变为高电平(级联管脚) |
CI | 13 | 输入 | 时钟禁止。忽略时钟输入高电平时芯片被禁止,一般接地 |
CLK | 14 | 输入 | 时钟输入。每次高电平则计数器加一 |
MR | 15 | 输入 | 将计数器重置为 0 |
如何使用CD4017
首先,你需要一个 3 到 15V 的电源电压。
将VDD 引脚连接到正极,将GND 引脚连接到负极。
时钟 (CLK) 14引脚每次从低电平变为高电平时,计数器都会增加一。随着计数的增加,输出引脚 (Q0-Q9) 会逐一变为高电平。第 10 个输入脉冲后,计数器会重置并再次从 0 开始。将此引脚从低电平变为高电平可增加计数器。芯片加电时Q0=高电平。
随着计数器的增加,输出引脚 Q0 至 Q9逐一升高。如果要查看引脚状态变化,请将每个引脚连接到电阻器和 LED。
时钟禁止 (CI) 引脚可禁用计数器,这样 CLK 引脚上的任何时钟脉冲都会被忽略。将此引脚设置为低电平可启用计数器。
当计数器达到 10 时,进位输出 (CO) 引脚从低电平变为高电平,然后重置回 0。该引脚保持高电平 5 个时钟脉冲,然后再次变为低电平。如果要计数高于 10,请将此引脚连接到另一个十进制计数器的时钟输入(是个串联引脚)。
CD4017 示例电路 – 运行 LED
用该芯片构建的最受欢迎的业余爱好者项目之一是运行 LED 电路。它的工作原理如下:
555 定时器设置为非稳态模式,这使其成为产生时钟信号的振荡器电路。该时钟信号进入 IC 4017 的时钟输入。每次时钟输入变为高电平时,4017 中的计数器都会增加,从而使下一个输出变为高电平。LED 连接到每个输出,因此看起来像是沿着一条线“运行”。
这是电路图:
组件列表
部分 | 价值 | 笔记 |
---|---|---|
R1、R2、R3 | 10千欧姆 | 三个标准电阻 |
C1 | 4.7 μF | 极化电容器 |
L1 至 L10 | led | 标准发光二极管 |
U1 | NE555 | 555定时器IC |
U2 | CD4017B | 4017 十进制计数器 |
注意:某些版本的 555 IC 需要在引脚 5 和地/负极之间放置一个 0.01µF 电容器。
LED 会按顺序从第一个到最后一个闪烁,然后再次从第一个开始闪烁。例如,您可以使用此技术来创建流水灯。
到达Q9后,4017会重新开始计数,从Q0重新开始。如果要限制LED的数量,只需将相应的下一个输出位连接到MR引脚即可。
例如,如果您只有 5 个 LED,则将 Q6 连接到 MR 引脚。当计数达到第 6 位时,Q6被设置成高电平,它会设置 MR 引脚并重置操作。
如何设置“运行”速度
555 定时器输出每秒变为高电平的次数就是频率 , 以赫兹 (Hz) 为单位。例如,10 Hz 表示每秒十次。这意味着 LED 每秒移动 10 个位置。
电阻器 R1 和 R2 以及电容器 C1 根据以下公式决定频率:
频率:1.44 / ((R1 + R2 + R2) * C1)
注意: R1 绝不能小于 1 kΩ,因为当引脚 7(放电)接地时可能会损坏芯片。
使用arduino uno代替ne555芯片电路图:
uno开发板程序:
// C++ code
//
void setup()
{
pinMode(3, OUTPUT);
pinMode(2, OUTPUT);
digitalWrite(3, HIGH);
}
void loop()
{
digitalWrite(3, LOW);
digitalWrite(2, HIGH);
delay(300); // Wait for 300 millisecond(s)
digitalWrite(2, LOW);
delay(300); // Wait for 300 millisecond(s)
}