找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2777|回復(fù): 10
打印 上一主題 下一主題
收起左側(cè)

采用單片機(jī)+74HC164的數(shù)碼管測(cè)試儀制作 附程序

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:95809 發(fā)表于 2023-12-23 21:32 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
單片機(jī)采用8腳的STC15F104W單片機(jī),驅(qū)動(dòng)5個(gè)74HC164輪流點(diǎn)亮數(shù)碼管的段位,夾具用的是2個(gè)40腳的夾緊座,方便測(cè)試使用。供電采用的是鋰電池供電,采用TP4033作為電池的充電和升壓。已經(jīng)用了2年了,很方便。

制作出來的數(shù)碼管測(cè)試儀實(shí)物圖如下:


電路原理圖如下:


單片機(jī)數(shù)碼管測(cè)試儀源程序如下:
  1. #include "CNT.H"
  2. #include "STC15.H"

  3. uchar_t dl = 0;        //當(dāng)前點(diǎn)亮段 0-39
  4. bit led_zt = 0;        //當(dāng)前共陽或共陰燈亮
  5. bit bzw = 0;


  6. void Timer0Init(void)                //400微秒@30.000MHz
  7. {
  8.         AUXR |= 0x80;        //定時(shí)器時(shí)鐘1T模式
  9.         TMOD &= 0xF0;        //設(shè)置定時(shí)器模式
  10.         TL0 = 0x20;                //設(shè)置定時(shí)初值
  11.         TH0 = 0xD1;                //設(shè)置定時(shí)初值
  12.         TF0 = 0;                //清除TF0標(biāo)志
  13.         ET0 = 1;
  14.         TR0 = 1;                //定時(shí)器0開始計(jì)時(shí)
  15. }


  16. void LED1_Dl(void)        //共陰燈亮
  17. {
  18.         P34 = 1;        
  19.         P35 = 0;
  20. }
  21. void LED2_Dl(void)        //共陽燈亮
  22. {
  23.         P34 = 0;        
  24.         P35 = 1;
  25. }
  26. void KS_Init(void)
  27. {
  28.         P30 = 1;
  29.         P31 = 1;
  30.         P33 = 0;

  31.         LED1_Dl();
  32.         Timer0Init();                //400微秒@30.000MHz
  33. }
  34. void Delay15ms()                //@33.000MHz
  35. {
  36.         uchar_t i, j, k;
  37.         
  38.         i = 2;
  39.         j = 226;
  40.         k = 126;
  41.         do
  42.         {
  43.                 do
  44.                 {
  45.                         while (--k);
  46.                 } while (--j);
  47.         } while (--i);
  48. }
  49. void main(void)
  50. {
  51.         KS_Init();
  52.         EA = 1;
  53.         while(1)
  54.         {
  55.         
  56.         }
  57. }
  58. void Timer0_Rountine(void) interrupt 1
  59. {
  60.         //硬件清零
  61.         uchar_t x;
  62.         P34 = ~P34;
  63.         P35 = ~P35;
  64.         if(led_zt==0)        //共陰
  65.         {
  66.                 for(x=0;x<40;x++)
  67.                 {
  68.                         if(dl == x)
  69.                                 P30 = 0;
  70.                         else
  71.                                 P30 = 1;
  72.                         
  73.                         P31 = 0;        //上升沿
  74.                         P31 = 1;
  75.                 }
  76.         }
  77.         else
  78.         {
  79.                 for(x=0;x<40;x++)
  80.                 {
  81.                         if(dl == x)
  82.                                 P30 = 1;
  83.                         else
  84.                                 P30 = 0;
  85.                         
  86.                         P31 = 0;        //上升沿
  87.                         P31 = 1;
  88.                 }
  89.         }
  90.         dl++;
  91.         if(dl>=40)
  92.         {
  93.                 dl = 0;
  94.         }
  95. }
復(fù)制代碼

原理圖: 無
仿真: 無
代碼: 代碼.7z (17.42 KB, 下載次數(shù): 22)

評(píng)分

參與人數(shù) 1黑幣 +90 收起 理由
admin + 90 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏4 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:1064915 發(fā)表于 2023-12-24 08:41 | 只看該作者
if(led_zt==0)        //共陰
是如何判斷的?
回復(fù)

使用道具 舉報(bào)

板凳
ID:1067504 發(fā)表于 2024-3-31 18:39 來自觸屏版 | 只看該作者
共陰共陽怎么識(shí)別,還有數(shù)碼管的位和段是怎么識(shí)別的?
回復(fù)

使用道具 舉報(bào)

地板
ID:69038 發(fā)表于 2024-4-1 09:51 | 只看該作者
共陰共陽好測(cè),就是abcdefgh不能自動(dòng)測(cè)。
回復(fù)

使用道具 舉報(bào)

5#
ID:98880 發(fā)表于 2024-4-7 16:39 | 只看該作者
好東西呀,要是PCB能開源就更好了。謝謝提供資料。
回復(fù)

使用道具 舉報(bào)

6#
ID:396024 發(fā)表于 2024-4-13 20:25 來自觸屏版 | 只看該作者
只測(cè)茶籽買專用的
回復(fù)

使用道具 舉報(bào)

7#
ID:1111014 發(fā)表于 2024-4-16 12:34 | 只看該作者
為什么要用單片機(jī)呢?如果只是檢測(cè)筆段是否可以點(diǎn)亮,直接串電阻到電源上不就可以了?
回復(fù)

使用道具 舉報(bào)

8#
ID:1067504 發(fā)表于 2025-1-9 07:17 來自觸屏版 | 只看該作者
仿了一個(gè),沒成功,不知道那里錯(cuò)了
回復(fù)

使用道具 舉報(bào)

9#
ID:92810 發(fā)表于 2025-1-16 08:19 | 只看該作者

好東西呀,要是PCB能開源就更好了。謝謝提供資料。
回復(fù)

使用道具 舉報(bào)

10#
ID:73762 發(fā)表于 2025-1-20 09:38 | 只看該作者
簡(jiǎn)單的點(diǎn)亮測(cè)試變得復(fù)雜化了
回復(fù)

使用道具 舉報(bào)

11#
ID:71233 發(fā)表于 2025-1-20 15:28 | 只看該作者
TP801 發(fā)表于 2024-4-16 12:34
為什么要用單片機(jī)呢?如果只是檢測(cè)筆段是否可以點(diǎn)亮,直接串電阻到電源上不就可以了?

如果單獨(dú)檢測(cè)是否通電點(diǎn)亮,直接串幾個(gè)電阻就能搞定。如果想檢測(cè)腳位的順序是否為標(biāo)準(zhǔn)的順序就得用到單片貢,但這情況好像用得不多。
我認(rèn)為,數(shù)碼管檢測(cè)儀最好能再檢測(cè)是共陽還是共陰比較好!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表