用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 编辑 ]
|