在咱们规划单片机电路的时分,单片机的 IO 口数量是有限的,有时并满意不了咱们的规划需求,比方咱们的 STC89C52 一共有32个 IO 口,可是咱们为了操控更多的器材,就要运用一些外围的数字芯片,这种数字芯片由简略的输入逻辑来操控输出逻辑,比方 74HC138 这个三八译码器,图3-15是 74HC138 在咱们原理图上的一个使用。
图3-15 74HC138 使用原理图
从这个姓名来剖析,三八译码器,便是把3种输入状况翻译成8种输出状况。从图3-15所能看出来的,74HC138 有1~6一共是6个输入引脚,可是其间4、5、6这三个引脚是使能引脚。使能引脚和咱们前边讲 74HC245 的 OE 引脚是相同的,这三个引脚假如不符合规则的输入要求,Y0 到 Y7 不论你输入的1、2、3引脚是什么电平状况,总是高电平。所以咱们要想让这个 74HC138 正常作业,ENLED 那个输入方位有必要输入低电平,ADDR3 方位有必要输入高电平,这两个方位都是使能操控端口。不知道咱们是否记住咱们第二课的程序有这么两句 ENLED = 0;ADDR3 = 1;便是操控使这个 74HC138 使能的。
这类逻辑芯片,大多都是有使能引脚的,使能符合要求了,那下面就要研讨操控逻辑了。关于数字器材的引脚,假如一个引脚输入的时分,有0和1两种状况;关于两个引脚输入的时分,就会有00、01、10、11这四种状况了,那么关于3个输入的时分,就会呈现8种状况了,咱们能够看下边的这个真值表——图3-16,其间输入是 A2、A1、A0 的次序,输出是从Y0、Y1.。..。.Y7 的次序。
图3-16 74HC138 真值表
从图3-16能够看出,任一输入状况下,只要一个输出引脚是低电平,其他的引脚都是高电平。在前面的电路中咱们现已看到,8个 LED 小灯的总开关三极管 Q16 基极的操控端是 LEDS6,也便是 Y6 输出一个低电平的时分,能够注册三极管 Q16,从右侧的期望输出的成果,咱们能够推导出咱们的 A2、A1、A0 的输入状况应该是110,如图3-17。
图3-17 LED 小灯全体电路图
那么咱们再全体捋一遍点亮 LED 小灯的进程,首先看 74HC138,咱们要让 LEDS6 为低电平才干导通三极管 Q16,所以 ENLED = 0;ADDR3 = 1;确保 74HC138 使能。然后 ADDR2 =1; ADDR1 = 1; ADDR0 = 0;这样确保了三极管 Q16 这个开关注册,5 V 电源加到 LED 上。
而 74HC245 左边是经过 P0 口操控,咱们让 P0.0 引脚等于0,便是 DB_0 等于0,而右侧 DB0 等于 DB_0 的状况,也是0,那么这样在这一排共8个 LED 小灯傍边,只要最右侧的小灯和 5 V 之间有压差,有压差就会有电流经过,有电流经过咱们的 LED2 就会发光了。
74HC245 左边咱们能够看出来,是直接接到 P0 口上的,而 74HC138 的 ADDR0 ~ ADDR3接在何处呢?来看图3-18。
图3-18 显现译码与步进电机的挑选跳线
跳线是咱们今后经常会接触到的一个器材,它便是2根或许3根靠在一同的排针,然后能够用一个叫作跳线帽的东西衔接其相邻的2根针。它的效果便是起到导线的效果,咱们能够经过跳线帽来完成衔接线的切换。如图3-19。
图3-19 跳线实物图
从图中能够看出,跳线帽自身能够占2个针的方位,现在是把右侧和中心的针连到了一同,这样完成的便是图3-18中的 P1.0 和 ADDR0 衔接到一同、P1.1 和 ADDR1 接一同、P1.2 和 ADDR2 接一同、P1.3 和 ADDR3 接一同。