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

QQ登錄

只需一步,快速開(kāi)始

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

數(shù)碼管的位選是怎么選擇八位數(shù)碼管的?

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
本帖最后由 1314love 于 2022-8-10 11:29 編輯

數(shù)碼管的3位是怎么選擇第幾位數(shù)碼管的
LSA=P2^2,
LSB=P2^3,
LSC=P2^4
就是我知道是000就選擇第一位數(shù)碼管,001就選擇第二位數(shù)碼管,但是原理不懂,為什么這樣就可以選擇第幾位數(shù)碼管?求大神解答。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

來(lái)自 10#
ID:155507 發(fā)表于 2022-8-10 18:20 | 只看該作者
數(shù)碼管連接
e1接高電平,e2,e3接低電平,a,b,c接單片機(jī)引腳,y0到y(tǒng)7接數(shù)碼管位選做控制


  1. // 138譯碼器如何實(shí)現(xiàn)同時(shí)8個(gè)數(shù)碼管從0到8顯示
  2. // 讓8個(gè)數(shù)碼管同時(shí)顯示0再媳滅1再媳滅再顯示2如此循環(huán)
  3. #include "reg52.h"                         //此文件中定義了單片機(jī)的一些特殊功能寄存器

  4. typedef unsigned int u16;          //對(duì)數(shù)據(jù)類(lèi)型進(jìn)行聲明定義
  5. typedef unsigned char u8;


  6. sbit LSA=P2^2;  //控制138譯碼器
  7. sbit LSB=P2^3; //位選為P2.2---P2.3---.P2.4三個(gè)口
  8. sbit LSC=P2^4;

  9. u8 code smgduan[18]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
  10.   0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};//顯示0~F的值
  11. u8 d=0;
  12. /*******************************************************************************
  13. * 函 數(shù) 名         : delay
  14. * 函數(shù)功能         : 延時(shí)函數(shù),i=1時(shí),大約延時(shí)10us
  15. *******************************************************************************/
  16. void delay(u16 i)
  17. {
  18.   while(i--);      
  19. }

  20. void delayms(void)   //延時(shí) ms
  21. {      
  22.   unsigned char a,b,c;     
  23.   for(c=1;c>0;c--)         
  24.   for(b=142;b>0;b--)            
  25.   for(a=2;a>0;a--);
  26. }

  27. /*******************************************************************************
  28. * 函 數(shù) 名       : DigDisplay
  29. * 函數(shù)功能      : 數(shù)碼管動(dòng)態(tài)掃描函數(shù),循環(huán)掃描8個(gè)數(shù)碼管顯示
  30. *******************************************************************************/
  31. void DigDisplay()
  32. {
  33.   u8 i;
  34.   for(i=0;i<8;i++)
  35.   {
  36.     switch(i)         //位選,選擇點(diǎn)亮的數(shù)碼管,
  37.     {
  38.       case(0):
  39.       LSA=0;LSB=0;LSC=0; break;//顯示第0位
  40.       case(1):
  41.       LSA=1;LSB=0;LSC=0; break;//顯示第1位
  42.       case(2):
  43.       LSA=0;LSB=1;LSC=0; break;//顯示第2位
  44.       case(3):
  45.       LSA=1;LSB=1;LSC=0; break;//顯示第3位
  46.       case(4):
  47.       LSA=0;LSB=0;LSC=1; break;//顯示第4位
  48.       case(5):
  49.       LSA=1;LSB=0;LSC=1; break;//顯示第5位
  50.       case(6):
  51.       LSA=0;LSB=1;LSC=1; break;//顯示第6位
  52.       case(7):
  53.       LSA=1;LSB=1;LSC=1; break;//顯示第7位      
  54.     }
  55.     P0=smgduan[d];//發(fā)送段碼 段選為P0口
  56.     delay(100); //間隔一段時(shí)間掃描      
  57.     P0=0x00;//消隱
  58.   }
  59.   
  60. }

  61. /*******************************************************************************
  62. * 函 數(shù) 名          : main
  63. * 函數(shù)功能        : 主函數(shù)
  64. * 輸    入           : 無(wú)
  65. * 輸    出            : 無(wú)
  66. *******************************************************************************/
  67. void main()
  68. {      
  69.   u16 y=0;
  70.   u8 d1=0;
  71.   while(1)
  72.   {      
  73.     DigDisplay();  //數(shù)碼管顯示函數(shù)      
  74.     delayms();
  75.     y++;

  76.     if (y>=100)
  77.     {
  78.       d1++; //段碼顯示函數(shù)
  79.       y=0;
  80.       if(d1 >8) //顯示0~8。
  81.       d1=0;
  82.       
  83.     }
  84.     d = d1; //段碼顯示函數(shù)
  85.    
  86.     if (y>=50) // 段碼媳滅
  87.     {
  88.       d = 17; //段碼媳滅函數(shù)
  89.     }
  90.   }               
  91. }
復(fù)制代碼
回復(fù)

使用道具 舉報(bào)

來(lái)自 12#
ID:575020 發(fā)表于 2022-8-13 21:46 | 只看該作者
138譯碼器就是輸入3根線(xiàn),每根線(xiàn)有高低電平2種狀態(tài),高低電平順序位置不同總共有8種狀態(tài),
然后根據(jù)輸入狀態(tài)輸出8種不同的狀態(tài),這8種狀態(tài)為8根線(xiàn),每種狀態(tài)其中僅有一根線(xiàn)為低電平,
其余7根線(xiàn)為高電平,如果8根線(xiàn)分別接8個(gè)LED負(fù)極,正極都接vcc的話(huà),同一時(shí)間只有一個(gè)led燈亮
圖示led忘接限流電阻了,懶得重畫(huà)了







回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:1023753 發(fā)表于 2022-8-10 13:35 | 只看該作者
應(yīng)該是有個(gè)3線(xiàn)8線(xiàn)譯碼器
回復(fù)

使用道具 舉報(bào)

板凳
ID:1034262 發(fā)表于 2022-8-10 14:53 | 只看該作者
你這3位接的是什么器件?
回復(fù)

使用道具 舉報(bào)

地板
ID:121859 發(fā)表于 2022-8-10 15:48 | 只看該作者
看描述貌似你的硬件設(shè)備是普中開(kāi)發(fā)板,普中開(kāi)發(fā)板,LSALSBLSC分別接P2.2P2.3P2.4,外部接的是74LS138的ABC。一個(gè)3-8譯碼器。所以000輸入Y0有效,001輸出Y1有效,以此類(lèi)推。
回復(fù)

使用道具 舉報(bào)

5#
ID:575020 發(fā)表于 2022-8-10 16:07 | 只看該作者
應(yīng)該發(fā)出完整電路圖和代碼
回復(fù)

使用道具 舉報(bào)

6#
ID:811253 發(fā)表于 2022-8-10 16:30 | 只看該作者
三個(gè)I0有8種組合 經(jīng)過(guò)譯碼器 每一種對(duì)一個(gè)位就是8位了  000 001 010 011 100 101 110 111
回復(fù)

使用道具 舉報(bào)

7#
ID:123289 發(fā)表于 2022-8-10 16:52 | 只看該作者
八位數(shù)碼管就是8個(gè)發(fā)光二極管!
如何選段,取決于你的硬件是如何連接的?這8個(gè)發(fā)光二極管接在哪里呢?
回復(fù)

使用道具 舉報(bào)

8#
ID:1041297 發(fā)表于 2022-8-10 17:35 | 只看該作者
zhxiufan 發(fā)表于 2022-8-10 15:48
看描述貌似你的硬件設(shè)備是普中開(kāi)發(fā)板,普中開(kāi)發(fā)板,LSALSBLSC分別接P2.2P2.3P2.4,外部接的是74LS138的ABC ...

恩恩,是普中的
回復(fù)

使用道具 舉報(bào)

9#
ID:190577 發(fā)表于 2022-8-10 17:38 | 只看該作者
這個(gè)是38譯碼器控制數(shù)碼管位碼
回復(fù)

使用道具 舉報(bào)

11#
ID:128880 發(fā)表于 2022-8-10 18:24 | 只看該作者
應(yīng)該采用的是138譯碼器吧!
回復(fù)

使用道具 舉報(bào)

13#
ID:1042116 發(fā)表于 2022-8-15 12:11 來(lái)自觸屏版 | 只看該作者
其實(shí)就是電源的問(wèn)題,其他八位比特確定了顯示什么數(shù)字,三位數(shù)字確定了哪個(gè)數(shù)碼管接通電路
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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