標(biāo)題: 用單片機(jī)制作的數(shù)碼管測試器 [打印本頁]

作者: ztzp    時間: 2023-12-12 21:51
標(biāo)題: 用單片機(jī)制作的數(shù)碼管測試器
前幾年制作過一個“直連”方式的數(shù)碼管測試器,最近突發(fā)奇想,想用單片機(jī)再次制作一個數(shù)碼管測試器,這個測試器要充分利用單片機(jī)功能,用多種方式對數(shù)碼管進(jìn)行測試,比如,先逐段點亮,然后再從0~9分別顯示,周而復(fù)始。
用“Proteus 8”設(shè)計了電路原理圖(PNP管驅(qū)動共陰數(shù)碼管)。

考慮到庫存有大量的拆機(jī)P-MOS管(型號為:A7SHB),所以,又設(shè)計了采用P-MOS管驅(qū)動的電路。

NPN管驅(qū)動共陽LED數(shù)碼管電路原理圖:

經(jīng)實驗,共陽數(shù)碼管不需要三極管放大,直接通過I/O口驅(qū)動即可。由于單片機(jī)有多余的I/O口,所以共陰、共陽數(shù)碼管合并在一起,共陰由P2口驅(qū)動,共陽由P3口驅(qū)動。

單片機(jī)采用“STC15F2K08S2”,該單片機(jī)有內(nèi)部RC振蕩器,可以省略外部晶振。
用面包板搭電路,運行正常。



用“立創(chuàng)”的EDA設(shè)計了PCB板:

焊接完成后的成品:

局部展示:

第一次焊接0402的電阻,這可能是我能焊接的最小電阻了。
LED數(shù)碼管測試實例(0.56寸共陰數(shù)碼管)。

LED數(shù)碼管測試實例(1寸共陽數(shù)碼管)。


代碼:
  1. #include <STC15.h>
  2. #include <intrins.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. void Delay1ms( uint k );
  6. uchar da = 0xFE; //11111110
  7. uchar code table[] ={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; //共陽段碼
  8. void main()
  9. {
  10.      while(1)
  11.      {
  12.           uchar i = 0;
  13.           for( i=0; i<8; i++ ) //依次顯示各段:a~h
  14.           {
  15.                P2 = da; //共陰
  16.                P3 = da; //共陽             Delay1ms(500);
  17.                da = _crol_( da,1 );
  18.           }
  19.   
  20.           for( i=0; i<10; i++ ) //依次顯示數(shù)字:0~9
  21.           {
  22.                P2 = table[i];
  23.                P3 = table[i];
  24.                Delay1ms(500);
  25.           }
  26.      }
  27. }
  28. void Delay1ms( uint n )  <a>//@12.000MHz</a>
  29. {
  30.      uint k;
  31.      for( k=0; k<n; k++ )
  32.     {
  33.         unsigned char data i, j;
  34.          i = 12;
  35.         j = 169;
  36.        do
  37.       {
  38.            while (--j);
  39.       } while (--i);
  40.     }
  41. }
復(fù)制代碼


作者: wangxiangtan    時間: 2023-12-13 12:00
學(xué)習(xí)了,共陽極和共陰極的段碼是一樣的嗎老哥
作者: ztzp    時間: 2023-12-13 12:26
wangxiangtan 發(fā)表于 2023-12-13 12:00
學(xué)習(xí)了,共陽極和共陰極的段碼是一樣的嗎老哥

是一樣的,因為共陽是I/O口直接驅(qū)動,低電平LED亮;共陰通過PNP管(或P-MOS管)驅(qū)動,還是低電平LED亮。
作者: mengsiu    時間: 2023-12-13 17:19
共陽的數(shù)碼管雖然可以在單片機(jī)上直接點亮,但并不建議這么做。畢竟大量電流流經(jīng)單片機(jī)并不是什么好事,尤其是測試大尺寸數(shù)碼管的時候。
作者: ztzp    時間: 2023-12-13 19:55
mengsiu 發(fā)表于 2023-12-13 17:19
共陽的數(shù)碼管雖然可以在單片機(jī)上直接點亮,但并不建議這么做。畢竟大量電流流經(jīng)單片機(jī)并不是什么好事,尤其 ...

你說的對,當(dāng)時就只想到點亮數(shù)碼管,沒有想這么多,今后會注意到這個問題的。
作者: lmn2005    時間: 2023-12-14 08:17
插座還得分共陽和共陰嗎?
作者: ztzp    時間: 2023-12-14 20:29
lmn2005 發(fā)表于 2023-12-14 08:17
插座還得分共陽和共陰嗎?

插座要分的,如果不分,你有什么好的方法?
我能想到的是用一個開關(guān),通過I/O口判斷高低電平,從而決定共陽和共陰。
作者: ztzp    時間: 2023-12-14 20:33
lmn2005 發(fā)表于 2023-12-14 08:17
插座還得分共陽和共陰嗎?

想了想,覺得還是要分開,因為驅(qū)動的管子極性不同,同一個插座,電路會變得很復(fù)雜。
作者: 51hei**1140    時間: 2023-12-15 19:21
單片機(jī)是用什么工具焊的呢,焊臺、熱風(fēng)器嗎,什么型號的呢
作者: ztzp    時間: 2023-12-15 22:12
51hei**1140 發(fā)表于 2023-12-15 19:21
單片機(jī)是用什么工具焊的呢,焊臺、熱風(fēng)器嗎,什么型號的呢

是用“黃花907”調(diào)溫烙鐵,溫度大約300℃左右。
烙鐵頭是這個樣子:


作者: bxyyhan    時間: 2023-12-23 20:31
我是用74HC164做的,不需要區(qū)分共陽共陰,用IC鎖緊座更方便,用鋰電池供電,拿著也方便。

Snapshot000000.jpg (61.58 KB, 下載次數(shù): 129)

Snapshot000000.jpg

作者: ztzp    時間: 2023-12-25 23:51
bxyyhan 發(fā)表于 2023-12-23 20:31
我是用74HC164做的,不需要區(qū)分共陽共陰,用IC鎖緊座更方便,用鋰電池供電,拿著也方便。

其實我也有鎖緊插座,沒想到利用它來做,這個接觸良好。
為什么要用兩個插座呢?




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