51单片机连接12位七段数码管,如何驱动(用三极管)?

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-08-30
51单片机连接9位七段数码管,如何驱动(用三极管)?

4*4键盘2个I/O口动态输入,9个LED用4个I/O控制位码,4个I/O控制段码,用译码器吧。动态扫描,利用视觉差可以同时显示的。

用三极管,锁存器,专用数码管驱动器等都行,数码管的共位数是有限的,当位数高于一定数量显示看起来不在那么连续,一般使用最好不要超过8位(动态显示)

我给你个4LED的,懒得画图了。要增加管子的数量,把HC138换成HC154就可以了,其余不用变。用3片共阳4X七段数码管,可以节省接线。ULN2003的驱动能力是500mA,所以肯定没问题。这是成品的使用电路



你这样连接,因为是共阴极数码管,所以就是用4-16译码器控制数码管的阴极端。采用PNP型三极管,比如9012或者8550。我就说一位的连接方式,其他11位都一样连接。4-16输出端---4.7k电阻---三极管基极,三极管集电极接地,发射极接数码管共阴极。
8位段选最好接1K上拉电阻接至+5V。
虽然没有给你提供图纸,但是应该说的很明白了吧。

注意要加延时,以匹配段选。否则会出现错位的现象。



我觉得用三极管驱动可能使电路变得复杂,调试起来也比较麻烦,还是考虑一下MAX7219/MAX7221,一块芯片就可以驱动8位数码管了。还可以级连。驱动程序写起来也很简单。

s51/52可以直接驱动led数码管,我实验过!

  • 用51单片机怎么驱动12V共阳数码管?
    答:用ULN2803接数码管的阴极。将PNP三极管8550接入阳极。--发射极接+12V,--集电极接数码管公共阳极,--基极用I/O口进行控制。但是,这时基极需要的控制电压,超出了单片机I/O口的输出能力。所以,基极和I/O口之间,还应该接入一个NPN型的三极管,或者用ULN2803也可。电路如下,本人已经使用多年,效果...
  • 51单片机p0口接数码管abcdefg可以直接连接吗、 那另外一边1234是接什...
    答:你这可能是一个四位的数码显示[指可显示四个(位)数字的],如果是那字母就是由最上一横开始顺时钟方向转最后中间的每段(共七段再加小数点,55555555你这好象没有,要不就是你打了漏了"Dp")引出脚,1234分别是每一个位的公共引出脚,单片机上最好选用这公共脚是接正极电源上的,这叫共阳,反则反之....
  • 51单片机数码管从1显示到12
    答:MOV R2,A ;取编码暂存R2 ANL A,#0FH ;取编码的低4位 MOV P2,A ;编码低4位为个位,送到P2 MOV A,R2 ;编码再次从暂存处放回A SWAP A ;高低4位交换 ANL A,#0FH ;取编码的高4位 MOV P0,A ;送往P0口 CALL DYTIME;调用一段延时 INC DPTR CLR A DJNZ R3,LOOP 显示1到12,共12次 D...
  • 51单片机控制3位7段共阴数码管
    答://51单片机控制3位7段共阴数码管 p0口控制 abcdefg dp ,//p2.0-p2.2控制123位,---注意:没有用P2.3。//要使其间隔1S分别显示123,231,321,213...无限循环 //下列程序,经过仿真,符合要求。include <reg52.h> define uchar unsigned char sbit bit1 = P2^0;sbit bit2 = P2^...
  • 51系列单片机驱动多个数码管
    答:当换另一个位时,再让这六片 595,显示星期、温度、湿度。当换另一个位时,再让这六片 595,显示某某节日的倒计时,或农历。595 用单片机的三条引线,位选,用四条。共七个引脚,即可驱动 24 位数码管。并且,仅仅是四位的动态显示,因此,毫无闪烁的现象。单片机,使用仅有 15 个 IO 引脚的...
  • 求51单片机的C程序,就是键盘控制这个一位七段数码管,按键按1按下数码管...
    答:51单片机的C程序,4*4键盘控制这个八位七段数码管。可以参考一下 include<reg51.h> define uchar unsigned char uchar temp;int key1,key,disbuf;// 此表为 LED 的字模 0 1 2 3 4 5 6 7 8 9 a b c d e f unsigned char code LED7Code[] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D...
  • 求51单片机同时控制流水灯和蜂鸣器七段数码管,分别用3个开关控制,流水...
    答:我这有两个以前写好的数码管显示程序及左右流水灯程序,但是是分开的,你自己再修改下吧,把两个合到一起,再加入按键就可。include<reg52.h> define uchar unsigned char define uint unsigned int uchar num;uchar code table[]={ 0xC0,0XF9,0X24,0X30,0X19,//0,1,2,3,4 0X12,0X02,...
  • 51单片机如何让一个数码管闪烁而其他数码管一直保持亮的状态不受影响...
    答:下面是4位数码管闪烁程序:uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77};//七段码表 modtable={ {0,0,0,0},{1,0,0,0},{0,1,0,0},{0,0,1,0},{0,0,0,1} ,{1,1,1,1} } //5种模式4个数码管,所以表格为5*4 //4个0...
  • 用51单片机程序显示3位7段数码管,求具体程序
    答:假设为共阴极数码管,驱动输入端接单片机P1口,共阴极接P2口的0.1.2.脚。我的程序如下,当前显示数字123 include <reg52.h> typedef unsigned char uint8;typedef unsigned int uint16;typedef long int uint32;code uint8 number[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f...
  • 51单片机怎么让数码管显示学号?用汇编语言
    答:数码管显示数字的码型由数码管的数据脚a~dp决定,图2为数码管的笔段分布图,由于是共阴极的,所以当a~dp为高电平时相应的笔段会亮,电路中P1.0~P1.7分别接数码管的a.b.c.d.e.f.g.dp,得到0~9这10个数字的码型如表1所示。图2 数码管的笔段分布图 引脚P0.7P0.6P0.5P0.4P0....