2003驱动LED数码管的问题

2019-03-24 21:11发布

用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 编辑 ] 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
仙猫
2019-03-25 06:57
共阳数码管则显然错了,请看2003的内部电路图,它只能将公共脚拉低,共阴才能这么做。

一周热门 更多>