这节课我们来介绍一下单刀多路开关的使用,芯片型号74HC4051,该芯片的主要功能是1路输入8路选择输出,或者倒就女蒿鸳置8路选择输入,1路输出,实际就是单选芯片,下面我们来看一下芯片的外观。
这是一个标准的16脚(贴片型)集成块。
该芯片的引脚顺序:
我们来了解一下这款芯片的使用方法:
1、首先我们打来Proteus电路仿真软件,按下图添加如下原件:
2、绘制如下电路图:
3、电路已经绘制好了,下面我们使用4051通过控制ABC端口的8种组合,来让LED自动循环点亮起来:在这里我们要说明一下,ABC端口的控制码,总共有8种变化,000、001、010、011,100,101、110,111,这8中变化正好能够代表开关的8种不同状态,下面我们打开Keil uv4软件,输入如下代码:
#include <reg51.h>
#define uint8_t unsigned char
#define uint16_t unsigned int
sbit a = P2^0; // 定义ABC驱动口
sbit b = P2^1;
sbit c = P2^2;
void LedDisPlay(void); // 函数声明
void SEGDelayTime(uint16_t Time);
void SEGDelayTime(uint16_t Time) // LED闪烁间隔时间
{
uint16_t i = 0;
uint16_t j = 0;
for(i=0;i<Time;i++)
{
for(j=0;j<255;j++)
{
;;
}
}
}
void LedDisPlay(void)
{
uint8_t i = 0;
for(i=0;i<8;i++)
{
P2 = i;
SEGDelayTime(200);
}
}
void main(void) // 数码管显示主函数
{
while(1)
{
LedDisPlay();
}
}
4、我们回到Proteus软件,双击CPU将刚刚生成的HEX文件装入CPU中,如何生成HEX文件在第一节如何成为过硬的硬件工程师-之初识单片机中有详细介绍,这里我们不再重复说明了,大家可以参考第一节来做。装好HEX文件后,我们运行来看一下效果:
大家看,LED等是不是在循环闪烁呢?其实,这节课的目的不是在于教大家怎么点亮LED,而是让大家知道单刀8路开关的作用,任意时刻只有路是接通的,这就叫单选,好的,这节课就讲到这里,希望大家多多练习,祝大家学习中找到快乐~~~~~~~~~~~~~~~~~~~~~~~~~~~我们下节课再见!!!