74HC245、74HC138芯片的应用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

74HC245、74HC138芯片的应用
74HC245芯片应用
除了上期专题中讲到的三极管之外,其实还有一些驱动IC,这些驱动IC可以作为单片机的缓冲器,仅仅是电流驱动缓冲,不起到任何逻辑控制的效果,比如74HC245D这个芯片,这个芯片在逻辑上起不到什么别的作用,就是当做电流缓冲器的,我们通过查看其数据手册,74HC245稳定工作在70mA电流是没有问题的,比单片机的8个IO口大多了,所以我们可以把他接在小灯和IO口之间做缓冲,如图7-1所示
图7-174HC245功能图
从图7-1我们来分析,其中VCC和GND就不用多说了,细心的同学会发现这里有个0.1uF的去耦电容噢。

74HC245是个双向缓冲器,1引脚DIR是方向引脚,当这个引脚接高电平的时候,右
侧所有的B编号的电压都等于左侧A编号对应的电压。

比如A0是高电平,那么B0就是高电平,A1是低电平,B1就是低电平等等。

如果DIR引脚接低电平,得到的效果是左侧A 编号的电压都会等于右侧B编号对应的电压。

因为我们这个地方控制端是左侧接的是P0口,所以我们要求B等于A的状态,所以1脚我们直接接的高电平。

图7-1中还有一排电阻R10到R17是上拉电阻,这个电阻的用法我们在后边介绍。

还有最后一个使能引脚19脚OE,这个引脚上边有一横,表明是低电平有效,当接了低电平后,74HC245就会按照刚才上边说的起到双向缓冲器的作用,如果OE接了高电平,那么无论DIR怎么接,A和B的引脚是没有关系的,也就是74HC245功能不能实现出来。

从我们的电路图7-2可以看出来,我们的P0口和74HC245的A端是直接接起来的。

这个地方,有个别同学有一个疑问,就是我们明明在电源VCC那地方加了一个三极管驱动了,为何还要再加245驱动芯片呢。

这里大家要理解一个道理,电路上从正极经过器件到地,首先必须有电流才能正常工作,电路中任何一个位置断开,都不会有电流,器件也就不会参与工作了。

其次,和水流一个道理,从电源正极到负极的电流水管的粗细都要满足要求,任何一个位置的管子过细,都会出现瓶颈效应,电流在整个通路中细管处会受到限制而降低,所以在电路通路的每个位置上,都要保证足够通道足够畅通,这个245的作用就是消除单片机IO这一环节的瓶颈。

图7-2单片机和74HC245接口
7.274HC138译码器应用
在我们设计单片机电路的时候,单片机的IO口数量是有限的,有时并满足不了我们的设计需求,比如我们的STC89C52RC一共是32个IO口,但是我们为了控制更多的器件,就要使用一些外围的数字芯片,这种数字芯片由简单的输入逻辑来控制输出逻辑,比如74HC138这个三八译码器,图7-3是74HC138在我们原理图上的一个应用。

图7-374HC138应用原理图
从这个名字来分析,三八译码器,就是把3种输入状态翻译成8种输出状态。

从图7-3所看出来的,74HC138一共有1~6一共是6个输入引脚,但是其中4、5、6这三个引脚是使能引脚。

使能引脚和我们前边讲74HC245的OE引脚是一样的,这三个引脚如果不符合规定的输入要求,Y0到Y7不管你输入的1、2、3引脚是什么电平状态,总是高电平。

所以我们要想这个74HC138正常工作,ENLED那个输入位置必须输入低电平,ADDR3位置必须输入高电平,这两个位置都是使能控制端口。

这类逻辑芯片,大多都是有使能引脚的,使能符合要求了,那下面就要研究逻辑控制了。

对于数字器件的引脚,如果一个引脚输入的时候,有0和1两种状态;对于两个引脚输入的时候,就会有00,01,10,11这四种状态了,那么对于3个输入的时候,就会出现8种状态了,大家可以看下边的这个真值表——图7-4,其中输入是A2,A1,A0的顺序,输出是从Y0,Y1....Y7的顺序。

图7-474HC138真值表
从图7-4可以看出,任一输入状态下,只有一个输出引脚是低电平,其他的引脚都是高电平。

我们清楚的知道,8个LED小灯的总开关三极管Q16基极的控制端是LEDS6,也就是Y6输出一个低电平的时候,可以开通三极管Q16,从右侧的希望输出的结果,我们可以推导出我们的A2,A1,A0的输入状态应该是110,那我们再来看下原理图7-5。

图7-5点亮LED小灯整体示意图
那么我们在整体捋一遍点亮LED小灯的过程,首先看74HC138,我们要让LEDS6为低电平才能导通三极管Q16,所以ENLED=0;ADDR3=1;保证74HC138使能。

然后ADDR2=1;ADDR1=1;ADDR0=0;这样保证了三极管Q16这个开关开通,5V电源加到LED上。

而74HC245左侧是通过P0口控制,我们让P0.0引脚等于0,就是DB_0等于0,而右侧DB0等于DB_0的状态,也是0,那么这样在这一排共8个LED小灯当中,只有最右
侧的小灯和5V之间有压差,有压差就会有电流通过,有电流通过我们的LED2就会发光。

相关文档
最新文档