標(biāo)題: 數(shù)碼管用萬用表測試時能亮,但是連接導(dǎo)線不亮 [打印本頁]

作者: 那么遠97    時間: 2018-12-23 10:26
標(biāo)題: 數(shù)碼管用萬用表測試時能亮,但是連接導(dǎo)線不亮
數(shù)碼管用萬用表測試時能亮,但是連接導(dǎo)線就亮不了了,想問一下是什么原因

IMG_20181223_074125.jpg (950.6 KB, 下載次數(shù): 85)

IMG_20181223_074125.jpg

IMG_20181223_074133.jpg (1.31 MB, 下載次數(shù): 73)

IMG_20181223_074133.jpg

作者: ahshmj    時間: 2018-12-23 11:40
要看原理圖和程序。
作者: liut_text    時間: 2018-12-23 11:53
如果接線沒有問題的話,那就有可能是你程序了
作者: ssk7793    時間: 2018-12-23 15:27
請參考我發(fā)的數(shù)碼管貼子
作者: 那么遠97    時間: 2018-12-23 16:51
ahshmj 發(fā)表于 2018-12-23 11:40
要看原理圖和程序。

#include<at89x51.h>
#define uchar unsigned char
uchar code buff[ ] = {0xc0 ,0xf9 ,0xa4 ,0xb0 ,0x99 ,0x92 ,0x82 ,0xf8 ,0x80 ,0x90} ;
uchar numberl,number2,number3,display;
long number;
void main( void)
{
display =1;
TMOD = 0x01;
TH0=(65535- 50000)/256;
TL0=(65535- 50000)%256;
ET0=1;
EA=1;
TR0=1;
TMOD = TMOD|0x20;
TH1 = 0x73;
TL1 =0x73;
PCON =0;
TR1 =1;
SCON =0x00;
while(1 )
        {
    if(display==1)
     {
       numberl=number%10;
       number2=(number/10)%10;  
       number3=number/100;
       SBUF=buff[numberl];  
       while(TI==0);
       TI=0;  
       SBUF=(buff[number2]&0x7f);
       while(TI==0);  
       TI=0;
       SBUF=buff[number3];
       while(TI==0);
       TI=0;
       display =0;
     }
   }
}
void time0_int(void) interrupt 1
{
  static uchar time_nu=0;
  TR0=0;
  TH0=(65535-50000)/256;
  TL0=(65535-50000)%256;
  time_nu ++ ;
  if(time_nu==20)
    {
       display=1;
       time_nu=0;
       number++;
       if(number==1000)
       number=0;
    }
  TR0=1;
}

-5bfa284c49f5f4ff.png (453.17 KB, 下載次數(shù): 71)

-5bfa284c49f5f4ff.png

作者: 那么遠97    時間: 2018-12-23 16:52
liut_text 發(fā)表于 2018-12-23 11:53
如果接線沒有問題的話,那就有可能是你程序了

#include<at89x51.h>
#define uchar unsigned char
uchar code buff[ ] = {0xc0 ,0xf9 ,0xa4 ,0xb0 ,0x99 ,0x92 ,0x82 ,0xf8 ,0x80 ,0x90} ;
uchar numberl,number2,number3,display;
long number;
void main( void)
{
display =1;
TMOD = 0x01;
TH0=(65535- 50000)/256;
TL0=(65535- 50000)%256;
ET0=1;
EA=1;
TR0=1;
TMOD = TMOD|0x20;
TH1 = 0x73;
TL1 =0x73;
PCON =0;
TR1 =1;
SCON =0x00;
while(1 )
        {
    if(display==1)
     {
       numberl=number%10;
       number2=(number/10)%10;  
       number3=number/100;
       SBUF=buff[numberl];  
       while(TI==0);
       TI=0;  
       SBUF=(buff[number2]&0x7f);
       while(TI==0);  
       TI=0;
       SBUF=buff[number3];
       while(TI==0);
       TI=0;
       display =0;
     }
   }
}
void time0_int(void) interrupt 1
{
  static uchar time_nu=0;
  TR0=0;
  TH0=(65535-50000)/256;
  TL0=(65535-50000)%256;
  time_nu ++ ;
  if(time_nu==20)
    {
       display=1;
       time_nu=0;
       number++;
       if(number==1000)
       number=0;
    }
  TR0=1;
}
作者: 1092648746    時間: 2018-12-23 17:01
檢查一下單片機程序吧
作者: 那么遠97    時間: 2018-12-23 17:28
1092648746 發(fā)表于 2018-12-23 17:01
檢查一下單片機程序吧

就是上面我回復(fù)的那個程序,不對嗎

作者: ahshmj    時間: 2018-12-23 17:53
可能是實際接線有點問題?床怀74164的7腳接的是什么?
作者: 那么遠97    時間: 2018-12-23 20:04
ahshmj 發(fā)表于 2018-12-23 17:53
可能是實際接線有點問題?床怀74164的7腳接的是什么?

問題解決了,多謝
作者: areyouok    時間: 2018-12-23 20:49
給你一個思路,將代碼屏蔽成只亮一個位的一個段碼(比如 a 碼),順著他的軟硬件回路查一遍,這樣軟件與硬件非常單一了,就不信你整不亮。
作者: 那么遠97    時間: 2018-12-23 22:13
areyouok 發(fā)表于 2018-12-23 20:49
給你一個思路,將代碼屏蔽成只亮一個位的一個段碼(比如 a 碼),順著他的軟硬件回路查一遍,這樣軟件與硬 ...

謝謝你的回答,我知道了




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1