我的学习板是LED和数码管接口都是P0,请问怎么样实现分别控制呢

2021-03-30 15:56:45 字数 1545 阅读 8115

1楼:匿名用户

我不是很明白你说

的意思。不是led上面有个开关嘛,玩数码管的时候,就把开关断专

开,这样led就不会属显示;玩led的时候,就把两个74hc573锁存器关了;把开关打开,这样不会有干扰了。如果你的意思是要在程序中分别控制数码管和led,那你只能在加个锁存器。没办法这开发板就是这样设计的。

2楼:能者止于至善

虽然都是p0,但是是利用74hc573作为锁存器实现动态扫描的。

简单的讲,一个573控制选内中那个数码管,称为

容位选,一个573控制选中一个数码管的哪几个段,称为段选。而动态扫描的原理就是扫描速度足够快,你就感觉不了数码管的亮灭变化,这个原理也就是以前的砖头显示器crt,也是通过快速扫描的方式实现显示的。那就不说其他了。

再说这个数码管显示,就是p0先选通哪一个数码管,然后这个数据被锁存器包保持住,p0再送显示的段码,也由锁存器保持住,等待一个很短的时间(如果时较长时间,你看到的是几个数码管跳动显示),然后再选通下一个数码管保持,再送段码保持,一直重复这个过程,数码管就不会灭了,当然,这很大部分原因是我们视觉暂留的错觉。但是应该注意在这个过程中的小问题,就是需要消影,不过所谓的消影,其实就是在切换不同的数码管时,加入一个关闭所有显示的语句而已。而关闭所有显示,就是位选全部置高(共阴数码管)。

3楼:匿名用户

控制led灯的有个j1的led开关控制,你要做流水灯的时候把那开关打开,然后对

应的i/o口拉低内就能亮了。数码管容有个74hc573控制,它是锁存器,这你查它的真值表就知道怎么用了,通过p2.7口控制该锁存器的通断,le为低的时候锁存上次给的信号,为高则是让q0-7输出随d0-7输入变化。

4楼:泽泽幺儿

不可以的 除非led和数码管中间再接一个74hc573就可以了。

51单片机学习板,我用程序可以使led发光,但是为啥数码管没有反应呢?

5楼:匿名用户

1、分清数码管是共阴还是共阳

2、单片机的输出是哪种驱动,驱动是否足够

3、p0口接数码管需要上拉电阻

6楼:烈士陵园

学习板上的数码管确定是共阳极的?

如果说接的是p1,只需要令p1=0x00,即可显示“8.”

51单片机控制的交通灯c程序,其中p1口接6个led灯模拟,p0和p2接数码管(不用位选了),p3口接按键控制 5

7楼:匿名用户

才5分,要写这么多。

写个轮廓给你自己填?

unsigned char counter;

void interrupt_star();

void main()

}void timer0() interrupt 1 //定时器,counter>19时候,就为1s

void display_time() //动态显示

8楼:匿名用户

不知道 我只是做任务 不好意思啊