【手把手教你学习51单片机】74HC138 三八译码器的应用

注:本文章转载自《手把手教你学习51单片机》!因转载需要原文链接,故无法选择转载!
如若侵权,请联系我进行删除!上传至网络博客目的为了记录自己学习的过程的同时,同时能够帮助其他一同学习的小伙伴!

74HC138 三八译码器的应用

在我们设计单片机电路的时候,单片机的IO口数量是有限的,有时满足不了我们的设计需求,比如我们的STC89C52一共有32个IO口,但是我们为了控制更多的器件,就要使用一些外围的数字芯片,这种数字芯片由简单的输入逻辑来控制输出逻辑,比如74HC138这个三八译码器,图11是74HC138在我们原理图上的应用:
11
从这个名字来分析,三八译码器,就是把三种输入状态翻译成8种输出状态。从图11所能看出来,74HC138有16一共是6个输入引脚,但是其中4,5,6这三个引脚是使能引脚。使能引脚和我们前边讲74HC245的OE引脚是一样的,这三个引脚如果不符合规定的输入要求,Y0Y7不管你输入的1,2,3引脚是什么电平状态,总是高电平。所以我们要想让这个74HC138正常工作,ENLED那个输入位置必须是低电平,ADDR3位置必须输入高电平,这两个位置都是使能控制端口。不知道大家是否记得我们第二课的程序有这么两句ENLED = 0;ADDR3 = 1;就是控制使这个74HC138使能的。
这类逻辑芯片,大多都是有使能引脚的,使能符合要求了,那下面就要研究控制逻辑了。对于数字器件的引脚,如果一个引脚输入的时候,有0和1两种状态;对于两个引脚输入的时候,就会有00,01,10,11这四种状态了,那么对于3个输入的时候,就会出现8种状态,大家可以看下面的真值表——图12,其中输入是A2,A1,A0的顺序,输出是从Y0~Y7的顺序。
12
从图12可以看出,任一输入状态下,只有一个输出引脚是低电平,其他的引脚都是高电平。在前面的电路中我们已经看到,8个LED小灯的总开关三极管Q16基极的控制端是LEDS6,也就是Y6输出一个低电平时,可以开通三极管Q16,从右侧的希望输出的结果,我们可以推导出我们的A2,A1,A0的输入状态应该是110,如图13
13
那么我们再整体捋一遍点亮LED小灯的过程,首先看74HC138,我们要让LEDS6为低电平才能导通三极管Q16,所以

ENLED = 0;
ADDR3 = 1;

保证74HC138使能。然后

ADDR2 = 1;ADDR1 = 1;ADDR0 = 0;

这样就保证了三极管Q16这个开关开通,电源加到LED上。
而74HC245左侧是通过P0口控制,我们让P0.0引脚等于0,就是DB_0等于0,而右侧DB0等于DB_0的状态,也是0,那么这样在这一排共8个LED小灯当中,只有最右侧的小灯和5V之间有压差,有压差就会有电流通过,有电流通过我们的LED2就会发光了。
74HC245左侧我们可以看出来,是直接接到P0口上的,而74HC138的ADDR0~ADDR3接在何处呢?我们来看图14:
14
跳线是大家以后会经常接触到的一个器件,它就是两根或者三根靠在一起的排针,然后可以用一个叫做跳线帽的东西连接其相邻的两根针。它的作用就是起到导线的作用,我们可以通过跳线帽来实现连接线的切换。如图15:
15
从图中可以看出,跳线帽本身可以占2个针的位置,现在是把右侧和中间的针连到了一起,这样实现的就是图14中的P1.0和ADDR0连接到一起,P1.1和ADDR1连接到一起,P1.2和ADDR2连接到一起,P1.3和ADDR3连接到一起。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值