如何用最少的单片机端口驱动多个数码管?

如题所述

最好的办法是用串转并的芯片如74HC164或595,只要二根线就可以驱动多个数码管,且是静态的,程序也方便编制,不用象动态显示那样不停地刷新。、

附图是用PIC16单片机驱动6个数码管的PROTEUS仿真的情况,实物也运行了,没问题。理论上可以驱动无穷多个数码管,实际上用十几二十个没问题。

北航《PIC16系列单片机C程序设计与PROTEUS仿真》书中有这个完整的线路图和程序,附光盘中有所有的线路图和程序代码。

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-05-17
一片MAX7219/MAX7221可以驱动8位数码管,2片16位。只用3个I/O 前两天打错型号,但发表后一下没修改过来,现在重新更正,是MAX7219/MAX7221 给大家带来不便,非常抱歉!
具体使用方法请到http://wenku.baidu.com/view/d7248aa1b0717fd5360cdcde.html在线看或下载MAX7219/MAX7221 的datasheet的PDF看,里面挻详细的!时序、控制位代码对和要求延时准确就可以用了
如果确实不懂可以找我帮你写
第2个回答  2012-05-11
如果想硬件电路少一点可以参考下这个:我前面用了个4511,BCD码驱动(编程就很简单明了),但是没有小数点 然后在加一个74154(4-16)译码,这样P0~P3任意一个端口(8位)就可以驱动16个数码管。但是前面我买的154居然输出是乱码的,相当郁闷,由于我只用了6位数码管,我换成了138,也够用。可以参考下
也可以参考下这里:LED数码管驱动电路大全
http://wenku.baidu.com/view/7ba075c9a1c7aa00b52acbe0.html

如何用最少的单片机端口驱动多个数码管?
最好的办法是用串转并的芯片如74HC164或595,只要二根线就可以驱动多个数码管,且是静态的,程序也方便编制,不用象动态显示那样不停地刷新。、附图是用PIC16单片机驱动6个数码管的PROTEUS仿真的情况,实物也运行了,没问题。理论上可以驱动无穷多个数码管,实际上用十几二十个没问题。北航《PIC16系列...

单片机如何用有限的I\/O口来驱动4位数码管以及四个按键(I\/O口只剩1...
可以选用按键、显示接口芯片BC7281或者ZLG7290,SPI接口或者I2C接口,最多只占用4个口线。软件模拟SPI或I2C的时序。如果不允许选用接口芯片,可以用7个段选+4个位选。选用共阳极数码管,在位选的口线上通过按键、限流电阻接电源地。分时完成数码管显示和按键识别。

怎样用一个单片机控制8个数码管
如果是一个8段数码管的8个段码,直接连接8个I\/O到对应的8个段的控制端即可,通过I\/O输出高低电平控制对应的段码。如果是8个数码管,则,每个数码管的8个断码控制线并联总线到I\/O,作为数据控制。每个数码管的使能端口单独控制,或者使用进位模式,做选择控制哪一个数码管显示。

51系列单片机驱动多个数码管
595,显示星期、温度、湿度。当换另一个位时,再让这六片 595,显示某某节日的倒计时,或农历。595 用单片机的三条引线,位选,用四条。共七个引脚,即可驱动 24 位数码管。并且,仅仅是四位的动态显示,因此,毫无闪烁的现象。单片机,使用仅有 15 个 IO 引脚的 AT89C2051,即可够用。

单片机怎样用12个IO口控制4个数码管,,,
4个用作位码,8个用作段码。先将数据送至8位IO口,然后置位1个数码管,延时10ms,再送数据至8位IO口,再置位1个数码管,再延时,如此完成4个数码管显示。

单片机最小系统没有锁存器,如何控制四位数码管,如何位选
用数码管动态显示,然后就是把这四位数码管共阴或者共阳,为增加单片机的驱动能力,添四个三极管!控制这四个三极管,实现位选

请教一下,单片机数码管的问题?
采用串行方式驱动数码管,只需2个I\/O口线。可以最少占用单片机的宝贵资源。下面给出了一个驱动5个数码管的实例,可以作为参考,你用时可以去掉2个。实例说明:占用单片机串口资源的串行显示电路硬件构成如图1所示,主机采用AT89C51单片机计电路,使用软件方法,利用AT89C51单片机的两条I\/O口线P1.6和 P1...

想问下怎么用单片机控制三位数码管
通过循环扫描的方式,你可以搜一下七段译码管编程实例,这种案例很多的。主要控制是每位数字的七段译码管有一个公共极(共阴还是共阳极看你译码管),其他还有八个信号位,每个信号位控制一段LED发亮。例如共阴极,在八位信号位输出高电平,而公共极为低电平时,七段译码管就是8.,三个数码管每个时刻...

用单片机怎么实现四位数码管?
2、不用单片机,用数字电路实现很容易呀。用一片10线-4线编码器,接10个按键,输出为BCD码,再用一片74LS247,七段译码器\/驱动器,输出接一个共阳数码管即可,按几号键,数码管就显示几了。下表就是74LS147的真值表。3、LS147是优先编码器,从高位起,为0的就输出对应的编码的反码值。而其后...

我是一个新手,我想知道用单片机的P2口控制6个共阴级数码管用多少上拉...
一个LED数码管含小数点共8段,全部点亮一般需要的电流为i(i一般为100mA左右吧,具体要看你用什么数码管,有低功耗、一般亮度、高亮、超高亮的,驱动电流都不一样),还需要看下每根口线是否能提供这么大的电流吸收能力,再看数码管压降u是多少,则上拉电阻R=(Vcc-u)\/i,其中Vcc为电源电压。还...

相似回答