单片机中LED显示电路用三极管驱动电路怎么连接啊?四个数码管。

核心提示//单片机中LED显示电路用三极管驱动电路四个数码管。可以参考一下#include<reg52.h>sbit led0=P3^2;sbit led1=P3^3;sbit led2=P3^4;sbit led3=P3^5;sbit ledd=

//单片机中LED显示电路用三极管驱动电路四个数码管。可以参考一下

#include<reg52.h>

sbit led0=P3^2;

sbit led1=P3^3;

sbit led2=P3^4;

sbit led3=P3^5;

sbit ledd=P3^7;

unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

unsigned char g,s,b,d,a;

unsigned ?int num;

void delay(unsigned char x)

{

unsigned char i,j;

for(i=x;i>0;i--)

for(j=110;j>0;j--);

}?

void display()

{

P1=table[d];

led3=0;

delay(5);

led3=1;

P1=table[b];

led2=0;

delay(5);

led2=1;

P1=table[s];

led1=0;

delay(5);

led1=1;

P1=table[g];

led0=0;

delay(5);

led0=1;

}

void ont()

{

num=0;

TMOD=0x01;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

EA=1;

ET0=1;

TR0=1;

}

void main()

{

ont();

while(1)

{

if(a==20)

{

a=0;

ledd=~ledd;

num++;

d=num/1000;

b=num%1000/100;

s=num%100/10;

g=num%10;

}

display();

if(num==10000)

{

num=0;

}

} }

void time_0() interrupt 1

{

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

a++;

}

看你用什么数码管,主要有共阴极和共阳极两种数码管。

相应的就有两种驱动电路了,一般用IC驱动。

常用的7位数码管可编程驱动IC有MAX7219,MAX7221等

1位数码管通常用74HS164集成电路驱动

 
友情链接
鄂ICP备19019357号-22