这张是ULN2003的,ULN2803连接方法一样的 ,下面是程序:
#include
#include
sbit p10=P1^0;
sbit p11=P1^1;
sbit p12=P1^2;
#define UP 20
#define DOWN 30
#define STOP 40
/********************************************************************
延时程序
*********************************************************************/
void delay()//延时程序
{
unsigned i,j,k;
for(i=0;i<0x02;i++)
for(j=0;j<0x02;j++)
for(k=0;k<0xff;k++);
}
/********************************************************************
主函数
*********************************************************************/
main()
{
unsigned char temp;
while(1)
{
if(p10==0)
{
temp=UP;//控制正转
P2=0X00;
delay();
}
if(p11==0)
{
temp=DOWN;//控制反转
P2=0X00;
delay();
}
if(p12==0)
{
temp=STOP;//控制停止
}
switch(temp)
{
case DOWN : P2=0X01;//控制反转 //0011
delay();
delay();
P2=0X02;//0110
delay();
delay();
P2=0X04;//1100
delay();
delay();
P2=0X08;//1001
delay();
delay();
break;
case UP : P2=0X08;//控制正转
delay();
delay();
P2=0X04;
delay();
delay();
P2=0X02;
delay();
delay();
P2=0X01;
delay();
delay();
break;
case STOP ://控制停止
P2=0X00;
delay();
delay();
break;
}
}
}
这是C51,ULN2803综合应用。,驱动1.5寸的数码管电路图。至于,你说的讲解。由于最近有点忙,具体资料,还没有上传到我空间。你可以随时关注这个地方:http://hi.baidu.com/hjiannew/home
过段时间,我会传上来。这是我公司一个压力采集数显产品。值得参考参考。上面给你传的图中是其中一部分。