在我们设计单片机电路的时候,单片机的 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 这个开关开通,5V 电源加到 LED 上。

而 74HC245 左侧是通过 P0 口控制,我们让 P0.0 引脚等于 0,就是 DB_0 等于 0,而右侧 DB0 等于 DB_0 的状态,也是 0,那么这样在这一排共 8 个 LED 小灯当中,只有最右侧的小灯和 5V 之间有压差,有压差就会有电流通过,有电流通过我们的 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 接一起。这样就可以透彻理解我们第二课的程序了。

74HC138三八译码器的应用相关推荐

  1. 【自学51单片机】3 -- 硬件基础知识(电容、三极管、74HC245、74HC138三八译码器)介绍和闪烁LED小灯

    目录 1.电磁干扰 2.电容介绍 3.三极管在数字电路中的应用 3.1.三极管介绍 3.2.三极管的原理 3.3.三极管的应用 4.74HC245介绍 4.1.74HC245引入 4.2.74HC24 ...

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

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

  3. 硬件使用74hc138的C语言程序,单片机74HC138三八译码器的原理及应用方法

    描述 在我们设计单片机电路的时候,单片机的 IO 口数量是有限的,有时并满足不了我们的设计需求,比如我们的 STC89C52 一共有32个 IO 口,但是我们为了控制更多的器件,就要使用一些外围的数字 ...

  4. 金沙滩51单片机74HC138 三八译码器的应用

    在我们设计单片机电路的时候,单片机的 IO 口数量是有限的,有时并满足不了我们的设计需求,比如我们的 STC89C52 一共有 32 个 IO 口,但是我们为了控制更多的器件,就要使用一些外围的数字芯 ...

  5. c语言控制单片机38译码器,单片机中 74HC138 三八译码器的应用

    在我们设计单片机电路的时候,单片机的 IO 口数量是有限的,有时并满足不了我们的设计需求,比如我们的 STC89C52 一共有32个 IO 口,但是我们为了控制更多的器件,就要使用一些外围的数字芯片, ...

  6. c语言表示三八译码器原理,单片机74HC138三八译码器的原理及应用方法

    在我们设计单片机电路的时候,单片机的 IO 口数量是有限的,有时并满足不了我们的设计需求,比如我们的 STC89C52 一共有32个 IO 口,但是我们为了控制更多的器件,就要使用一些外围的数字芯片, ...

  7. (76)译码器与编码器(三八译码器)

    (76)译码器与编码器(三八译码器) 1 文章目录 1)文章目录 2)FPGA入门与提升课程介绍 3)FPGA简介 4)译码器与编码器(三八译码器) 5)技术交流 6)参考资料 2 FPGA入门与提升 ...

  8. FPGA组合逻辑训练-三八译码器

    实验原理: 在数字电路中可以根据电路功能的不同分为,组合逻辑电路与时序逻辑电路. 组合逻辑电路在逻辑功能上的特点是任意时刻的输出仅仅取决于该时刻的输入,与电路原来的状态无关. 而时序逻辑从电路特征上看 ...

  9. 小梅哥Xilinx FPGA学习笔记2——三八译码器

    三八译码器 〇.功能介绍 1.功能描述 2.真值表 一.代码编写 1.设计文件 2.激励文件 3.仿真图 二.总结 三.课后作业 1.设计文件 2.激励文件 3.仿真图 〇.功能介绍 1.功能描述 译 ...

最新文章

  1. c语言课程设计怎么做,C语言课程设计————写下流程图! 谢谢
  2. Python入门100题 | 第073题
  3. 优化案例(part3)--Aberrance suppresse dspatio-temporal correlation filters for visual object tracking
  4. .Net Core + NGINX跳转登录时端口丢失
  5. 基于tensorflow+RNN的MNIST数据集手写数字分类
  6. matplotlib绘制李萨如图(一) 静态2D李萨如图
  7. [2018.10.20 T1] 蛋糕
  8. 微信小程序实例练习——《排班查询》
  9. EXCEL公式与函数
  10. 什么是生物特征识别?有哪些生物特征?
  11. 8.2 知识蒸馏方法概述
  12. 鸿蒙系统,鸿蒙app简易登录界面,界面开发教程
  13. 【keepass】密码管理软件keepass的安全风险分析,如何在使用keepass的过程中避免泄露数据库信息和密码?
  14. matlab找多项式最值,如何利用matlab计算最小多项式
  15. AD中 Top Solder和Top Paste的区别
  16. 2019年5月1日起安卓应用应基于API 26开发
  17. 终于有人把P2P、P2C、O2O、B2C、B2B、C2C的区别讲透了!
  18. 又一AI大牛回国任教!沈春华加盟浙江大学,曾获澳大利亚科研终身成就奖
  19. windows 下 netcat 的使用
  20. 三亚香格里拉一年一度海岛冬令营回归;三亚美高梅度假酒店将举办十周年庆典 | 全球旅报...

热门文章

  1. 新世纪五笔 形码之耻_世纪之剑
  2. 红米Android11更新时间,这些是不支持ANDROID 11更新的小米和红米手机
  3. Linux和Ubuntu的区别详解
  4. 优雅地使用eruda在移动端上调试网页
  5. 【Eclipes安装Spring插件】
  6. 基于单片机的温湿度监测报警
  7. java阳历转为阴历错了一天_Java 阴历阳历转换
  8. 一元二次方程虚根求法java_请问怎么用C语言求一元二次方程的虚根
  9. UE4 UE4使用小技巧——使用上帝视角运行游戏
  10. MPU和MMU、MPU和MCU的区别