51单片机通过CD4051实现流水灯效果+Proteus仿真

51单片机通过CD4051实现流水灯效果+Proteus仿真


  • Proteus仿真效果
    在这里插入图片描述

CD4051

CD4051是一款八选一模拟开关电路,内置3个地址选择端(A0~A2),低有效的使能输入端( E),8路独立的输入/输出端(Y0~Y7)及公共输入/输出端(

Z

\overline{\text{Z}}

Z)。

  • 电路内部有8个双向模拟开关,每个开关的一端连接到独立的输入/输出(Y0~Y7)端,另一端连接到公共的输入/输出(

Z

\overline{\text{Z}}

Z)端。

  • 当 E为低电平时,通过A0~A2选择一个通路的开关处于低阻导通状态。当 E为高电平时,A0~
    A2设置无效,所有开关处于高阻关断状态。如果需要切换开关状态,就必须使用使能输入端(

Z

\overline{\text{Z}}

Z)。

  • VDD 和 VSS 是连接到数字控制输入端(A0~A2 和

Z

\overline{\text{Z}}

Z)的电源电压。(VDD-VSS)的范围是 3~18V。模拟输入输出(Y0~Y7 和

Z

\overline{\text{Z}}

Z)能够在最高 VDD,最低 VEE之间变化。VDD-VEE不会超过 9V。

  • 对于用做数字多路选择开关,VEE 和 VSS是连在一起的(通常接地)。
  • CD4051主要应用于模拟多路选择开关、数字多路选择开关及信号选通。
  • 封装形式:DIP16 / SOP16 / SSOP16 / TSSOP16

引脚功能排列

在这里插入图片描述

  • 引脚说明
    在这里插入图片描述
  • 真值表
    在这里插入图片描述
  • 电特性
    在这里插入图片描述

利用CD4051流水灯程序源码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include<reg52.h>
#include<intrins.h>

unsigned char wei[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x09};
void Delay1000ms() //@11.0592MHz
{
unsigned char i, j, k;

\_nop\_();
i = 8;
j = 1;
k = 243;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}


void main()
{
unsigned char i=0;
P1=0x00;
while(1)
{
for(;;){
P1 |= wei[i];
Delay1000ms();
P1 = 0x00;
i++;
i%=8;
}
}
}

程序源码和仿真资源

1
2
3
链接:https://pan.baidu.com/s/1jOQxfZWJ6a5nHvHpUz1ZWQ 
提取码:uy0s