74HC138的输出端只能一位为低电平,即只有一位输出有效,所以只能用于位选。
1.引脚功能
表格
名称 | 功能 |
---|---|
A、B、C端 | 输入端 |
Y0~Y7 | 输出端,低电平有效 |
E1 | 使能端,高电平有效 |
E2、E3 | 使能端,低电平有效 |
真值表
C| B |A |Y0| Y1 |Y2 |Y3 |Y4 |Y5| Y6| Y7
----|----
L| L| L| L |H |H |H |H| H |H |H
L |L |H |H |L| H |H |H |H| H |H
L| H| L |H| H |L| H| H| H| H| H
L |H| H |H |H| H |L |H| H |H| H
H| L| L |H |H| H |H |L |H| H |H
H| L| H| H |H| H |H |H |L |H |H
H| H| L |H |H |H |H |H|H |L| H
H|H| H| H |H |H| H| H| H |H|L
2.电路连接
Paste_Image.png
3.实验代码
include <reg52.h>
unsigned char numbers[]={
0x3f,
0x06,
0x5b,
0x4f,
0x66,
0x6d,
0x7d,
0x07,
0x7f,
0x6f
};
void Delay1ms()
{
unsigned char i, j;
i = 2;
j = 239;
do
{
while (--j);
} while (--i);
}
void Delayxms(unsigned int x)
{
while(x--) Delay1ms();
}
void main()
{
unsigned char i, x;
while (1)
for (i=0,x=1;i<8;i++,x++)
{
P0=numbers[x];
P2=i<<2;
Delay1ms();
P0=0x00;
}
}
}
网友评论