刚开始本人学单片机的时候,也有点疑惑。明明是学习单片机,为什么不是直接去学习单片机怎么工作的,而是去学习这些东西根本不属于单片机自身的东西呢?
学着学着才明白——先通过学习一些外设的芯片,让单片机去进行控制。之后再慢慢的去学单片机的工作原理(单片机原理)。这样循序渐进,步步为营, 放能理解的更透彻,学习起来更有兴趣。试想,只给你一块单片机芯片,之后就扔过来一本单片机原理的书,你只是看书,没能实践去操作,那是多么无聊、消极的事情啊!
废话不多说,直接上正文……
为什么我们要学习这三个芯片?因为它在许多开发板上十分常用!主要用于单片机 I/O 口的扩展。怎么这么说,相信过不了多久就会明白了!
先来看第一个芯片——74HC138
74HC138,即138译码器:
芯片资料所说,它是一款高速CMOS器件,74HC138引脚兼容低功耗肖特基TTL(LSTTL)系列,等等一系列专业复杂的术语……这些我们先不看,我们直接找到我们所需要的东西(先明白怎么去控制它)!
先来看芯片原理图:

以上便是138译码器的原理图。其中,在芯片第4、5引脚处,标识符G2A和G2B上面有一横杠,这个意思是代表此端口输出低电平有效(可见,4、5引脚连接的是GND),而第6引脚连接的VCC。
74HC138译码器可接受3位二进制加权地址输入(A,B和C),并当使能时,提供8个互斥的低有效输出(Y0~Y7)。74HC138特有3个使能输入端:两个低电平有效(G2A、G2B)和一个高有效(G1)。除非G2A和G2B置低且G1置高,否则74HC138将保持所有输出为高。

其真值表如下所示(可通过芯片手册进行查阅):

如图表下的注解所示:H—高电平,L—低电平,X—任意电平,G2(—)是代表G1A和G2B之和(其实看原理图便知,G2A和G2B是一起控制的)。
通过真值表,我们知道正确的控制方式为,G1给高电平,G2给低电平。于是,通过控制ABC三者输入的值(二进制),控制Y0-Y7的输出值(二进制)。
例如,ABC = 000,Y0-Y7 = 0111 1111 ; ABC = 101,Y0~Y7 = 1111 1011。
有一点请注意:
前面说到,138译码器是提供8个互斥(Y0-Y7,8个脚互不影响)的低电平输出,但是输出来除了被ABC地址选中的那一个,其他的都是1,这是因为芯片内部的每个输出端口前,都接有一个与非门,于是输出端电平反相了。

下面附上74HC138译码器的逻辑图:

在每一个输出端口前面,可以看到都存在一个与非门电路(简单的数电知识),我们可以在逻辑图中对ABC赋值,再去查看Y0~Y7的输出,再与真值表核对一下。

到此为止,可能已经能看出来,138译码器的功能之一了:如原理图所示,使得P2.5P2.6P2.7三个引脚,控制了8个输出!但是大家会问到,每次输出都会是7个高电平,1个低电平。这样的输出会有什么意义呢?是的,所以在下一篇的博文里,将介绍下一款芯片。

未完待续……

51单片机之外设——74HC138、74HC02、74HC573讲解(一)相关推荐

  1. 51单片机之外设——74HC138、74HC02、74HC573讲解(二)

    前面提到了138译码器,在文章最末,隐约的看出来它的作用(三个 I/O 口,控制8个输出).是的,只不过那是8个具有约束条件的输出.可见,它只是我们实现 I/O 口复用的芯片之一.于是接下来将抛出第二 ...

  2. 51单片机内部外设:定时器和计数器

    定时器 51单片机的定时器属于单片机的内部资源,其电路的连接和运转均在单片机内部完成. 定时器作用: 1.用于计时系统,可实现软件计时,或者使程序每隔一固定时间完成一项操作: 2.替代长时间的for循 ...

  3. 51单片机——独立按键实验,小白讲解,相互学习

    按键介绍:         按键是一种电子开关,使用时轻轻按开关按钮就可式开关接通,当松手时,开关断开.开发板上使用的按键及内部简易图如下图: 按键管脚两端距离长的表示默认是导通状态,距离短的默认是断 ...

  4. 51单片机之外设——玩转数码管

    这篇博文,将对数码管进行介绍和驱动,与之所关联的芯片,亦是前面所讲的74HC138译码器.74HC02或非门.74HC573锁存器,所用的 I/O 口,依然是11个--P2.5P.6P2.7以及P0~ ...

  5. 51单片机内部外设:实时时钟(SPI)

    RTC引入 何为实时时钟 real time clock,真实时间,就是所谓的xx年x月x日x时x分x秒星期x RTC是SoC中一个内部外设,RTC有自己独立的晶振提供RTC时钟源,内部有一些寄存器用 ...

  6. 基于51单片机的智能空调控制系统设计(仿真+代码+原理图+报告+视频讲解)

    基于51单片机的智能空调控制系统 这里写目录标题 1 开发环境 讲解演示视频 2 功能说明介绍 3 仿真图 4 程序 4.1 工程文件 4.2 代码 5 原理图 6 元器件清单 7 视频讲解 8 资料 ...

  7. 51单片机开发系列一-51单片机开发环境搭建以及入门汇编代码

    51单片机开发系列一 51单片机开发环境搭建以及入门汇编代码 象棋小子    1048272975 1. 51单片机概述 51单片机是对所有兼容Intel 8031指令系统的单片机的统称.目前教科书基 ...

  8. 51单片机 | 如何学习单片机 | 开发板功能介绍 | 开发板使用方法 | 51单片机介绍

    文章目录 一.如何学习单片机 1.学习哪种类型的单片机 2.学习单片机的最佳方法 3.学习单片机的准备工作 4.学习单片机的常见疑问 二.开发板功能及使用介绍 1.开发板功能介绍 2.开发板使用方法 ...

  9. 51单片机入门自学方法

    学习51单片机硬件和编程基础缺一不可. 比如说基本电子元器件电阻电容.电感.三极管.按键开关.二极管等等. 再比如说模拟电路.数字电路.AD Layou软件.C语言等等知识. 很多人看到这里,还没开始 ...

最新文章

  1. 看了Linux命令的全称,顿时豁然开朗
  2. Intent 的Flag属性(Activity在栈位置的主宰者)
  3. ios - Push远程通知代码设置 DeviceToken
  4. IPSec ××× 在企业网中的应用
  5. Leetcode中单链表题总结
  6. ASP.NET .Net UCS2 加码最复杂的方法
  7. 201521123121 《Java程序设计》第14周学习总结
  8. 服务器启动报错:One or more listeners failed to start. Full details will be found in the ...
  9. extundelete反删除总结
  10. python 参数_python脚本命令行参数解析
  11. intouch负值显示0_excel表格数据为负值取0-在EXCEL表格中怎么把负数显示为0?公式怎么设置?...
  12. 20140524数据库课笔记
  13. pku2250--Compromise(最长公共子串,记录结果)
  14. 微服务学习之Ribbon【Hoxton.SR1版】
  15. linux ubuntu下网络调试助手(GUI)工具
  16. 【C】狐狸找兔子问题
  17. 看一个师兄的操作系统视频有感
  18. 深入了解示波器(八):如何选择示波器
  19. java文件加密解密实验报告_《网络信息安全技术》_实验报告_破译vigenamp#232;re_密码加密的密文...
  20. 公司章程如何设计规避股权纠纷

热门文章

  1. 阿里云已公开官宣,国产的操作系统传喜讯,倪光南期待的实现了
  2. 政府出铁腕治停车难 智能停车成良方?
  3. c++Primer5,总览与IO库和泛型算法
  4. JavaScript入门,js基础教学
  5. 综合管廊电气设计思路及分析
  6. 随便说说HP7和伏地魔的7个魂器
  7. wechat-0022,微信公众号,接收事件推送
  8. 2. MongoDB 应用与开发
  9. 【nodePort、port、targetPort、containerPort的区别】
  10. IP地址、端口Port