74HC138 三八译码器的应用
三八译码器,就是把 3 种输入状态翻译成 8 种输出状态。从图所能看出来的74HC138 有 1~6 一共是 6 个输入引脚,但是其中 4、5\6 这三个引脚是使能引脚。使能引脚和我们前边讲 74HC245 的 OE 引脚是一样的,这三个引脚如果不符合规定的输入要求,Y0 到 Y7 不管你输入的 1、2、3 引脚是什么电平状态,总是高电平。所以我们要想让这个74HC138正常工作,ENLED那个输入位置必须输入低电平,ADDR3位置必须输入高电平,这两个位置都是使能控制端口。ENLED = 0;ADDR3 = 1;就是控制使这个 74HC138 使能的。
74HC138 真值表:
代码如下:
#include
sbit led=P0^0;
sbit ADDR0=P2^0;
sbit ADDR1=P2^1;
sbit ADDR2=P2^2;
sbit ADDR3=P2^3;
sbit ENLED=P2^4;
void main()
{
int i;
ADDR0=0;
ADDR1=1;
ADDR2=1;
ADDR3=1;
ENLED=0;
while(1)
{
led=0;
for(i=0;i<30000;i++);
led=1;
for(i=0;i<30000;i++);
}
}
首先看 74HC138,我们要让 LED为低电平才能导通三极管 ,所以 ENLED = 0;ADDR3 = 1;保证 74HC138 使能。然后 ADDR2 =1; ADDR1 = 1; ADDR0 = 0;这样保证了三极管 这个开关开通,5V 电源加到 LED 上。控制P0^0为0,那么这样在这一排共 8 个 LED 小灯当中,只有最右侧,的小灯和 5V 之间有压差,有压差就会有电流通过,有电流通过我们的 LED就会发光了。