用74HC164串转并和2003驱动~四个一位的LED数码管,为什么数码管怎么也不亮呢?~~我用其它开发板数码管是亮的,但是用这块板数码管就显示不了了~~
~那个开发板用的是74HC595~驱动用了四个PNP三极管~~~请各位大虾们帮帮忙..~
下面是显示部分的函数:
void SPI_init(void)
{
DDRB=0xFF;
SPCR=(1<<SPE)|(1<<MSTR)|(1<<SPR1)|(1<<SPR0);
SEI();
}
void display(unsigned int temp0,unsigned char temp1)
{
unsigned char i;
if (temp0>9999)
{
temp0=9999;
}
for(i=0;i<4;i++)
{
led_buf
=temp0%10;
temp0=temp0/10;
}
dp=temp1;
}
#pragma interrupt_handler Int_TCCR1A: 13
void Int_TCCR1A(void) {
unsigned char temp;
static unsigned char i;
pORTB|=0xF0;
if(i==3)
{
pORTB&=~(1<<pB6);
}
if(i==2)
{
pORTB&=~(1<<pB5);
}
if(i==1)
{
pORTB&=~(1<< pB4);
}
if(i==0)
{
pORTB&=~(1<< pB7);
}
temp = led_buf % 16;
temp=disp[temp];
if (dp==i)
{ /*显示小数点*/
SPDR=temp&0x7F;
}
else
{
SPDR=temp;
}
i++;
if (i>3)
{
i=0;
}
}
[
本帖最后由 myzanyu 于 2010-12-21 19:00 编辑 ]
此帖出自
小平头技术问答
1、电路不全(左边被截掉了)。
2、型号不全(不知数码管是共阴共阳,参数也无法查)。
3、到底是74HC164还是LS164?图上画的是LS,而LS的拉电流能力极弱,难以点亮LED。
4、只看出ULN2003输入不应串电阻(已内置)。
[ 本帖最后由 仙猫 于 2010-12-21 19:52 编辑 ]一周热门 更多>