四位七段数码管怎么接三极管做驱动电路啊,还有如何写一个c51程序实现分和秒的动态扫描啊?

核心提示第1,用NPN三极管(比如9012)做数码管列输入驱动第2,用NPN或者PNP三极管(随你选)做数码管行输入驱动第3,#include<reg52.h>#define uint unsigned int#define uchar unsig

第1,用NPN三极管(比如9012)做数码管列输入驱动

第2,用NPN或者PNP三极管(随你选)做数码管行输入驱动

第3,#include<reg52.h>

#define uint unsigned int

#define uchar unsigned char

sbit _led=P2^7;

sbit key1=P2^0;

sbit key2=P2^1;

sbit key3=P2^2;

uchar num=0,temp=0,count=0;

uchar aa;

uchar hour,min,sec;

uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

void delay(uint z);

void display(uchar a,uchar b,uchar c,uchar d,uchar e,uchar f,uchar aa);

void read_key();

void led();

void time_change();

void main()

{

P2=0xff;

hour=12;

min=0;

sec=0;

TMOD=0x11;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

TH1=(65536-50000)/256;

TL1=(65536-50000)%256;

EA=1;

ET0=1;

ET1=1;

TR0=1;

TR1=1;

aa=0xff;

while(1)

{

time_change();

display(table[hour/10],table[hour%10],table[min/10],

table[min%10],table[sec/10],table[sec%10],0xff);

}

}

如何使用单片机at89c51驱动4位8段数码管,如果用到芯片来驱动的,电路图如何连接?

PNP E接电源正,C接电阻接数码管段,B接电阻接控制端(若单片机输出为推挽结构负载能力强如avr可不加三极管直接驱动作段控制)

NPN E接地 , C接数码管位, B接电阻接控制端

看你将四位数码管接在单片机的哪一组输出口?例如51单片机一般都是四组八位输i/o口P0,P1,P2,P3口?一般P0口是三态i/o是要接上拉电阻的。其他接口是不用接上拉电阻的。上拉电阻一般选用1k~4k7都可以保证各管脚输出的电流小于500mA就可以了。?

图我传的这个图?六位数码管虽然是共阴极的?(但是不影响原理)因为他接在51单片机的三态接口上?只需接上拉电阻?(排阻)即可?。这种电路图用两个锁存器U1,U2分别控制数码管的位选和片选信号?(在读中标的WEI1-WEI6是位选信号,a-g等是段选信号)。锁存器U2,U1是同型号的?用图中的wela?和dula的(高电平和低电平)分别控制位选和段选的直通和所存。这样一组i/o口就能驱动数码管了。节省了硬件的开销。希望能帮到你!祝你好运

 
友情链接
鄂ICP备19019357号-22