三极管共阳极数码管

2019-03-24 19:49发布

实验板上4个数码管分别接4个三级管,三极管基极高电平时位选通,低电平时关闭,三极管分别接P2.0---P2.3,能否实现数码管同时4个不同的数字? 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
1条回答
zhenglei
2019-03-25 06:43
#include<reg51.h>
#include<intrins.h>
#define ui unsigned int
#define uc unsigned char
void delay(ui);
void inti();
sbit a4=P2^3;
sbit a3=P2^2;
sbit a2=P2^1;
sbit a1=P2^0;
uc code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
void main()
{                inti();

       
        while(1)
                {

               
                a1=0;
                P0=tab[1];
                delay(1);
                a1=1;
       
                a2=0;
                P0=tab[2];
                delay(1);
                a2=1;

                a3=0;
                P0=tab[3];
                delay(1);
                a3=1;

                a4=0;
                P0=tab[4];
                delay(1);
                a4=1;
       
                }

}

void delay(ui z)

{
ui x,y;
for(x=z;x>0;x--)
        for(y=110;y>0;y--);

}


void inti()
{
                TMOD=0x01;
                TH0=0x3c;
                TL0=0xb0;
                EA=1;
                ET0=1;
                TR0=1;

}

一周热门 更多>