找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1799|回复: 10
打印 上一主题 下一主题
收起左侧

单片机+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;  //点亮小灯
  }   
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:844772 发表于 2021-10-22 15:48 | 只看该作者
U2的6拉高,4和5低,试一试
回复

使用道具 举报

板凳
ID:94031 发表于 2021-10-22 16:52 | 只看该作者
E1不能和E2接在一起,它俩要求电平是不一样的。
回复

使用道具 举报

地板
ID:678280 发表于 2021-10-22 17:27 | 只看该作者
感谢沙发和板凳两位老师。

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










回复

使用道具 举报

5#
ID:695749 发表于 2021-10-22 19:48 | 只看该作者
本帖最后由 hbcqd 于 2021-10-22 20:05 编辑
单片机+74HC138怎么没能译码?

建议:认真学习74HC138

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

使用道具 举报

6#
ID:678280 发表于 2021-10-22 23:09 | 只看该作者
hbcqd 发表于 2021-10-22 19:48
建议:认真学习74HC138

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

这个表“手把手……”书中也有同样的一份,可为什么他书中的插图与书后的附图都错了,是我理解错了?谢谢。
回复

使用道具 举报

7#
ID:954899 发表于 2022-5-11 15:26 | 只看该作者
xuyaqi 发表于 2021-10-22 16:52
E1不能和E2接在一起,它俩要求电平是不一样的。

谁说不能接一起的   你没看资料写着么
回复

使用道具 举报

8#
ID:883242 发表于 2022-5-11 16:38 | 只看该作者
6脚高,使能。4脚低,使能。

你把6脚和4脚连在一起,结果就是永远无法使能。
回复

使用道具 举报

9#
ID:332444 发表于 2022-5-11 16:41 | 只看该作者
回复

使用道具 举报

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

书没错,沙发板凳的发言也是对的。唯一错的地方就是你在楼主位画的图。能粗心大意到你这种程度也是很难得的。
回复

使用道具 举报

11#
ID:656668 发表于 2022-5-13 01:09 | 只看该作者
74HC138将3位二进制(A0,A1和A2),译码成8种输出状态,并且一共有8个输出I/O,这8位输出的特点是:互斥(同时只有一位有效)、低有效(低电平表示有效,表示选中)。简单来说,74HC138实现了用3根线选择8根线(8选1)的功能。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表