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条回答
仙猫
1楼-- · 2019-03-25 04:13

1、电路不全(左边被截掉了)。

2、型号不全(不知数码管是共阴共阳,参数也无法查)。

3、到底是74HC164还是LS164?图上画的是LS,而LS的拉电流能力极弱,难以点亮LED。

4、只看出ULN2003输入不应串电阻(已内置)。

[ 本帖最后由 仙猫 于 2010-12-21 19:52 编辑 ]
myzanyu
2楼-- · 2019-03-25 04:32
不好意思,~~~1)左边部分是另外三个LED数码管,接法是一样的~~~2)是共阳的数码管~~~3)实际上用的是74HC164.....4)我试过把电阻换成上拉了,,但是还是不行~~~我串了电阻可以驱动5V的直流小电机,应该没问题吧..?

[ 本帖最后由 myzanyu 于 2010-12-21 20:06 编辑 ]
仙猫
3楼-- · 2019-03-25 06:57
共阳数码管则显然错了,请看2003的内部电路图,它只能将公共脚拉低,共阴才能这么做。
myzanyu
4楼-- · 2019-03-25 07:56
 精彩回答 2  元偷偷看……

一周热门 更多>