5995|10

79

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

亲爱的朋友 帮我一下 74ls138 74ls47点亮数码管问题 我是新手很简单的问题我都搞不懂 帮小弟一把 谢谢 [复制链接]

小弟刚学单片机 89c52 实验板的原理图已经传上来了  我想用74ls138 74ls47  同时点亮所有的 数码管   不过74ls138说明书上  只能同时输出一个低电平这样 我只能点亮一个数码管  要同时点亮六个数码管  需要六个低电平  能不能用c语言给我编个同时点亮六个数码管的程序呀 谢谢  我没有老师自己学  希望大家能帮小弟一下 谢谢谢谢谢谢谢谢!  

#include
sbit D1=P0^0;
sbit D2=P0^1;
sbit D3=P0^2;
sbit D4a=P0^4;
sbit D5b=P0^5;
sbit D6c=P0^6;
sbit D7d=P0^7;

void main()
{

D1=1;
D2=0;
D3=0;

//以上是选择那个数码管  控制74ls138最多只能输出一个低电平所以只能点亮一数码管
D5b=0;
D6c=0;
D7d=0;
D4a=0;
//以上是控制那个数码管显示的 数字

}

反正这个程序最多只能点亮一个数码管  我希望能同时点亮六个数码管  谢谢大家了   每帖必结

最新回复

看不到图片啊....  详情 回复 发表于 2009-7-10 16:31
点赞 关注

回复
举报

73

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
74ls138 功能表
Inputs
Outputs
Enable Select
G1 G2 (Note 1) C B A YO Y1 Y2 Y3 Y4 Y5 Y6 Y7
X            H X X X H  H  H  H  H  H  H  H
L            X X X X H  H  H  H  H  H  H  H
H            L L L L L  H  H  H  H  H  H  H
H            L L L H H  L  H  H  H  H  H  H
H            L L H L H  H  L  H  H  H  H  H
H            L H L L H  H  H  H  L  H  H  H
H            L H L H H  H  H  H  H  L  H  H
H            L H H L H  H  H  H  H  H  L  H
H            L H H H H  H  H  H  H  H  H  l
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
朋友们支持一下   我太感谢!!!!!!!!!!!!!  想了好久  也搞不懂
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

4
 
你的電路只能一次點亮1個管,可以用循環顯示的方法,達到你要的效果,也就是說,循環顯示的速度快的話,看起來就跟一起點亮一樣了.希望對你有幫助!
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

5
 
太谢谢了  谢谢谢谢

能不给个例子 我是新手
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

6
 
你可以一次顯示一個,然後在顯示下一個,速度快點就可以做到,亮的東西轉快了就是一個亮圈,是人的視覺殘留效果,
例子????????????????現在找不到了,自己做吧,很容易的!
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

7
 
第一种方法:整体循环,显示内容固定(示意语法,具体请根据51语法替换)

void   main()
{
byte i;
while(1)
{
for(i=0;i<6;i++)
p0|=i;//让p0的低三位更新,因为i<6;
//D1=1;
//D2=0;
//D3=0;

//以上是选择那个数码管     控制74ls138最多只能输出一个低电平所以只能点亮一数码管
D5b=0;
  D6c=0;
  D7d=0;
D4a=0;
//以上是控制那个数码管显示的   数字
}

}
方法2:
把上面代码中的数码管选择语句移植到timer的中断中。这样显示的内容就可以单独更新,适合显示动态的输入。
 
 
 

回复

85

帖子

0

TA的资源

一粒金砂(初级)

8
 
朋友  我还有问题
#include
sbit   D1=P0^0;
sbit   D2=P0^1;
sbit   D3=P0^2;
sbit   D4a=P0^4;
sbit   D5b=P0^5;
sbit   D6c=P0^6;
sbit   D7d=P0^7;

void   main()
{

D1=1;
D2=0;
D3=0;

//以上是选择那个数码管     控制74ls138最多只能输出一个低电平所以只能点亮一数码管
D5b=0;
  D6c=0;
  D7d=0;
D4a=0;
//以上是控制那个数码管显示的   数字

}
这么编程后  一个数码管亮了  只要把串口线连在电脑上  数码管不闪烁   串口从电脑拔下就不停的闪  这是什么原因造成的  谢谢
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

9
 
从上面的代码看不出跟串口有什么关系。。。。。如果lz有条件,可以用示波器看看138和7447的信号看看是因为片选造成的不稳定还是因为显示的数据变化造成。
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

10
 
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

11
 
看不到图片啊....
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表