标题: 单片机+74HC138怎么没能译码? [打印本页]

作者: 一片一城    时间: 2021-10-22 14:49
标题: 单片机+74HC138怎么没能译码?
按宋老师的”手把手教51单片机“做仿真时,74HC138未能按书中讲的进行译码,结果LEDS6不能输出低电平,也就无法使PNP管导通,点亮LED。请教各位老师了。






#include <reg52.h>   //包含特殊功能寄存器定义的头文件
sbit LED = P0^0;     //位地址声明,注意:sbit必须小写、P大写!
sbit ADDR0 = P1^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;


void main()
{
  while(1)
  {
   ENLED = 0;
   ADDR0 = 0;
   ADDR1 = 1;
   ADDR2 = 1;
   ADDR3 = 1;
   LED = 0;  //点亮小灯
  }   
}


作者: glinfei    时间: 2021-10-22 15:48
U2的6拉高,4和5低,试一试
作者: xuyaqi    时间: 2021-10-22 16:52
E1不能和E2接在一起,它俩要求电平是不一样的。
作者: 一片一城    时间: 2021-10-22 17:27
感谢沙发和板凳两位老师。

GTX的代码有问题,SXS的讲述也有问题。看来学单片机真得不容易。 下面是手把手中的与“点亮1个LED”相关的部分内容:











作者: hbcqd    时间: 2021-10-22 19:48
本帖最后由 hbcqd 于 2021-10-22 20:05 编辑
单片机+74HC138怎么没能译码?

建议:认真学习74HC138

根据这个表可以获得相应输出脚的高低。

作者: 一片一城    时间: 2021-10-22 23:09
hbcqd 发表于 2021-10-22 19:48
建议:认真学习74HC138

根据这个表可以获得相应输出脚的高低。

这个表“手把手……”书中也有同样的一份,可为什么他书中的插图与书后的附图都错了,是我理解错了?谢谢。
作者: hezhejin    时间: 2022-5-11 15:26
xuyaqi 发表于 2021-10-22 16:52
E1不能和E2接在一起,它俩要求电平是不一样的。

谁说不能接一起的   你没看资料写着么
作者: Hephaestus    时间: 2022-5-11 16:38
6脚高,使能。4脚低,使能。

你把6脚和4脚连在一起,结果就是永远无法使能。
作者: xianfajushi    时间: 2022-5-11 16:41
https://blog.csdn.net/xianfajushi/article/details/106965367

作者: Hephaestus    时间: 2022-5-11 22:46
一片一城 发表于 2021-10-22 23:09
这个表“手把手……”书中也有同样的一份,可为什么他书中的插图与书后的附图都错了,是我理解错了?谢谢 ...

书没错,沙发板凳的发言也是对的。唯一错的地方就是你在楼主位画的图。能粗心大意到你这种程度也是很难得的。
作者: 物业tuan    时间: 2022-5-13 01:09
74HC138将3位二进制(A0,A1和A2),译码成8种输出状态,并且一共有8个输出I/O,这8位输出的特点是:互斥(同时只有一位有效)、低有效(低电平表示有效,表示选中)。简单来说,74HC138实现了用3根线选择8根线(8选1)的功能。





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1