欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6164|回復(fù): 23
收起左側(cè)

請問單片機(jī)+數(shù)碼管(共陰、共陽)及鎖存器怎么選用?

  [復(fù)制鏈接]
ID:575020 發(fā)表于 2019-12-1 00:21 | 顯示全部樓層 |閱讀模式
學(xué)個51單片機(jī)三天打魚兩天曬網(wǎng),led點燈閃爍馬馬虎虎了,流水跑馬什么的程序還沒深入研究,現(xiàn)在想學(xué)數(shù)碼管了,最開始百度說共陽的數(shù)碼管好操作,于是買了幾個共陽的,后來看單片機(jī)教程及成品開發(fā)板上用的共陰的,又買了幾個共陰的,同時買了幾個138和595的鎖存器,還沒搞明白,又看到有些好多案例里用573,又買了幾個573芯片,又看到一個仿真圖里用245芯片,又買了幾個245,嘗試很多方案都沒成功,請問到底哪種方案簡單,最好能有詳細(xì)點的教程。
請問單看仿真圖能看出數(shù)碼管是共陰還是共陽的么,如下2圖。

未標(biāo)題-1.gif

無標(biāo)題.jpg

還有想問一下數(shù)碼管還沒學(xué)明白,直接學(xué)1602有難度么,個人感覺估計1602簡單些,好像沒那么多種鎖存器。
最后還想問一下128x64買哪一種比較好,我先買了備著,學(xué)到那直接就拿來用了,省的臨時買,看開發(fā)板上128x64的接口是20針的,也只能買20針的屏么,還有帶中文字庫的和不帶的么?還有看到有oled的屏有4針的和7針的,買哪一種比較好啊!

回復(fù)

使用道具 舉報

ID:213173 發(fā)表于 2019-12-1 09:06 | 顯示全部樓層
用單片機(jī)驅(qū)動數(shù)碼管動態(tài)顯示的方案很多,沒有哪種更好的說法。只要單片機(jī)的資源夠用當(dāng)然是外圍器件越少就越合理。使用138、595、573、245等外圍器件可以少占用或共用端口,精簡代碼、合理分配資源等等。一個完善的仿真圖是可以辨識出數(shù)碼管是共陰還是共陽。但仿真元件屬理想元件,與實際電路還是有較大差距。只要沒有邏輯錯誤,仿真基本都能成功。這也會因為只看圖不看程序而誤判數(shù)碼管是共陰還是共陽。從這兩個圖看數(shù)碼管是共陰的可能性大,因為51單片機(jī)不能提供足夠的高電平驅(qū)動電流,位碼低電平驅(qū)動才合理。
至于直接學(xué)1602有沒有難度這不好說,由簡到繁循序漸進(jìn)的學(xué)習(xí)就不會覺得難。買12864帶不帶中文字庫的和你要解決的問題關(guān)聯(lián)。有中文字庫適合做菜單,無中文字庫適合做圖形。oled的屏有4針的和7針的,買哪一種比較好的問題只能說適合自己就好。
回復(fù)

使用道具 舉報

ID:235200 發(fā)表于 2019-12-1 10:10 | 顯示全部樓層
數(shù)碼管共陰還是共陽,在電路里是可以看出的,數(shù)碼管由8個發(fā)光二極管構(gòu)成,要使8個發(fā)光二極管點亮,一般要使發(fā)光二極管有足夠的電流,第一圖用共陰數(shù)碼管,245能夠提供電流,當(dāng)一個數(shù)碼管的8個發(fā)光二極管都點亮?xí)r,公共端匯集了較大的電流,所以實際應(yīng)用中公共端也需要加三極管或驅(qū)動電路,以防損壞CPU
245 573均是并行輸出,同時具備驅(qū)動作用,138是譯碼器,一般作為共陰數(shù)碼管的位驅(qū)動,第2圖也是共陰數(shù)碼管,仿真可以,實際應(yīng)用電路不建議這樣連接
回復(fù)

使用道具 舉報

ID:235200 發(fā)表于 2019-12-1 10:15 | 顯示全部樓層
液晶1602和液晶12864的顯示原理與數(shù)碼管不同,不需要象多個數(shù)碼管一樣動態(tài)掃描顯示,只需要把數(shù)據(jù)送入液晶模塊中的顯示緩沖區(qū),傳送數(shù)據(jù)到顯示緩沖區(qū)的方法有并行方式和串行方式,只需要弄清顯示緩沖區(qū)與顯示的對應(yīng)關(guān)系,掌握顯示控制命令即可
回復(fù)

使用道具 舉報

ID:245004 發(fā)表于 2019-12-1 12:38 | 顯示全部樓層

數(shù)碼管明顯是共陰的,假如是共陽的,那么供電從何而來?單片機(jī)管腳內(nèi)部是弱上拉。因此明顯為共陰。
上面電路245加在段碼前沒有必要,圖中實際電路應(yīng)在245和段碼之間加限流電阻。
上面電路245加在單片機(jī)和數(shù)碼管公共端之間有必要,那么數(shù)碼管用共陽共陰都可以驅(qū)動。當(dāng)然程序代碼要匹配。
1602是協(xié)議通訊,和數(shù)碼管是兩個概念,因此不能對比哪個簡單,1602應(yīng)用內(nèi)容也很多,簡單應(yīng)用的話一般來說不復(fù)雜。
數(shù)碼管動態(tài)顯示也不需要鎖存器(245不是),看具體應(yīng)用環(huán)境了。
12864一般同時支持并口和串口通訊方式,一般并口應(yīng)用簡單些。帶字庫當(dāng)然簡單些,一步步來。
OLED常見的有I2C通訊和SPI通訊,學(xué)習(xí)單片機(jī)都會學(xué)到,所以簡單用I2C的,SPI的也支持I2C。
綜上所述,隨便買一種就可以,都買上以后想用更方便。


回復(fù)

使用道具 舉報

ID:275826 發(fā)表于 2019-12-1 13:02 | 顯示全部樓層
單片機(jī)數(shù)碼管的原理大概是這樣的,分別對一個字節(jié)進(jìn)行編碼,暫且將其叫a,b,c,d,e,f,g,h,當(dāng)取不同的值時,將會得到不同的顯示,那為什么是八位呢,因為在計算機(jī)里8位剛好是一個字節(jié),這樣就使其變的合理起來,可以把一個字節(jié)的數(shù)據(jù)送到某個寄存器里面,然后再送給數(shù)碼管,得到相應(yīng)的顯示。編碼如下:
----------------------------------------------------
0x3f , 0x06 , 0x5b , 0x4f , 0x66 , 0x6d ,
0        1        2 3 4 5
0x7d , 0x07 , 0x7f , 0x6f , 0x77 , 0x7c ,
6 7 8 9 A B
0x39 , 0x5e , 0x79 , 0x71 , 0x00
C D E F 無顯示
------------------------------------------------------
為了節(jié)約資源,又引入了2個鎖存器(74HC573),這樣就可以使用少的單片機(jī)引腳達(dá)到完全控制數(shù)碼管的目的。為什么會選擇鎖存器呢,,其實,我模電學(xué)的太菜了,里面的原理還不明白,以后有空的話,會去看看補(bǔ)充一下。
再說說鎖存器的功能,就是鎖存器有一個控制位,當(dāng)她的高位電位不同,會有不同的效果,當(dāng)是高電平的時候,導(dǎo)通,當(dāng)是低電平的時候,就斷開了,并且保持右邊的電位狀態(tài)。所以利用這一功能,就可以達(dá)到控制數(shù)碼管的目的。
因此,可以如下示例程序:效果是點亮2個數(shù)碼管,顯示0
#include<reg52.h>
sbit wela=P2^7;
sbit dula=P2^6;
void main()
{
   wela=0;
   P0=0xc0;
   wela=1;

   dula=0;
   P0=0x06;
   dula=1;
}
回復(fù)

使用道具 舉報

ID:575020 發(fā)表于 2019-12-2 00:07 | 顯示全部樓層
還買了數(shù)碼管模塊,4位的和8位的都只有5根線,正負(fù)極和SCLK、RCLK、DIO,另一頭也是5個孔,DIO變成了QH,模塊反面有2個芯片,都是74hc595的,也不知道怎么用的。
IMG_20191201_211138.jpg
IMG_20191201_211232.jpg
IMG_20191201_211352.jpg
IMG_20191201_211529.jpg
回復(fù)

使用道具 舉報

ID:96682 發(fā)表于 2019-12-2 04:02 來自觸屏版 | 顯示全部樓層
全面了解遇到的這些器件,怎么組合不就心中有數(shù)了么,編程以現(xiàn)在受過高等教育的學(xué)生來說不是很難
回復(fù)

使用道具 舉報

ID:470332 發(fā)表于 2019-12-2 08:40 | 顯示全部樓層
先學(xué)好C語言,先看手冊,剩下的看例程,然后你大概就會了
回復(fù)

使用道具 舉報

ID:213173 發(fā)表于 2019-12-2 09:06 | 顯示全部樓層
singrain 發(fā)表于 2019-12-2 00:07
還買了數(shù)碼管模塊,4位的和8位的都只有5根線,正負(fù)極和SCLK、RCLK、DIO,另一頭也是5個孔,DIO變成了QH,模 ...

這數(shù)碼管模塊使用很簡單,給你一個測試程序,SCLK、RCLK、DIO分別接P1.1、P1.2、P1.0。
回復(fù)

使用道具 舉報

ID:213173 發(fā)表于 2019-12-2 09:15 | 顯示全部樓層
singrain 發(fā)表于 2019-12-2 00:07
還買了數(shù)碼管模塊,4位的和8位的都只有5根線,正負(fù)極和SCLK、RCLK、DIO,另一頭也是5個孔,DIO變成了QH,模 ...

SCLK、RCLK、DIO分別接P1.1、P1.2、P1.0。程序是按共陰數(shù)碼管寫的,如果是共陽數(shù)碼管只要把顯示程序中預(yù)留的兩條代碼替換一下即可,如果模塊的位碼和段碼與程序發(fā)送順序不一致,只要把顯示程序中兩者順序?qū)φ{(diào)一下即可。
  1. #include <reg51.H>
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. sbit HC595_DIO   = P1^0;
  5. sbit HC595_SCLK  = P1^1;
  6. sbit HC595_RCLK  = P1^2;

  7. uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,//共陰數(shù)碼管段碼0~f
  8.                                         0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
  9. uchar code dis_buf[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//共陰數(shù)碼管位碼

  10. /******************1ms延時子程序(12MHz)*******************/
  11. void delayms(uint k)
  12. {
  13.         uint i,j;
  14.         for(i=k;i>0;i--)
  15.                 for(j=125;j>0;j--);
  16. }
  17. /**************** 向HC595發(fā)送一個字節(jié)函數(shù) ******************/
  18. void Send_595(uchar dat)
  19. {               
  20.         uchar i;
  21.         for(i=0;i<8;i++)
  22.         {
  23.                 HC595_DIO=(dat&0x80)>>7;//由高位到低位賦值數(shù)據(jù)輸出端
  24.                 HC595_SCLK = 1;        //移位時鐘
  25.                 HC595_SCLK = 0;
  26.                 dat <<= 1;                        //dat左移一位
  27.         }
  28. }
  29. /**************** 數(shù)碼管顯示函數(shù) ******************/
  30. void DisplayScan()
  31. {       
  32.         static uchar i=0;
  33.         Send_595(dis_buf[i]);//向HC595發(fā)送位碼(共陰數(shù)碼管)
  34.         Send_595(table[i]);        //向HC595發(fā)送段碼(共陰數(shù)碼管)
  35. //        Send_595(~dis_buf[i]);//向HC595發(fā)送位碼(共陽數(shù)碼管)
  36. //        Send_595(~table[i]);        //向HC595發(fā)送段碼(共陽數(shù)碼管)
  37.         HC595_RCLK = 1;                //鎖存輸出數(shù)據(jù)
  38.         HC595_RCLK = 0;
  39.         i++;
  40.         i%=8;
  41. }

  42. void main()
  43. {
  44.         HC595_SCLK  = 0;        //初始化移位時鐘端
  45.         HC595_RCLK  = 0;        //初始化鎖存輸出端
  46.         while(1)
  47.         {
  48.                 DisplayScan();        //數(shù)碼管顯示函數(shù)
  49.                 delayms(1);                //延時1ms
  50.         }
  51. }
復(fù)制代碼
回復(fù)

使用道具 舉報

ID:575020 發(fā)表于 2019-12-3 21:30 | 顯示全部樓層
wulin 發(fā)表于 2019-12-2 09:15
SCLK、RCLK、DIO分別接P1.1、P1.2、P1.0。程序是按共陰數(shù)碼管寫的,如果是共陽數(shù)碼管只要把顯示程序中預(yù) ...

還是驗證不通過,顯示有亂碼,改成共陽的數(shù)組也不行,1.1和1.2對換也不行。
回復(fù)

使用道具 舉報

ID:575020 發(fā)表于 2019-12-3 21:59 | 顯示全部樓層
百度說595是串轉(zhuǎn)并信號用的,573是鎖存器,
個人感覺估計573簡單一些,就是開門關(guān)門,關(guān)門的時候也能維持供電斷電,還有就是不需要io口輸出電流,就是所謂的增加驅(qū)動電流把!那個595什么串行信號并行信號轉(zhuǎn)換的完全不明白啊!新手也不需要節(jié)省io口,還是先把573搞明白再說了。
回復(fù)

使用道具 舉報

ID:245004 發(fā)表于 2019-12-7 14:43 | 顯示全部樓層
singrain 發(fā)表于 2019-12-3 21:30
還是驗證不通過,顯示有亂碼,改成共陽的數(shù)組也不行,1.1和1.2對換也不行。

數(shù)碼管的“段碼”的“代碼”表格是要根據(jù)實際端口重新定義賦值的。
公共端端口排列、驅(qū)動芯片端口,都是要和實際一致的。結(jié)合芯片手冊,再看別人的代碼,才容易理解。
回復(fù)

使用道具 舉報

ID:575020 發(fā)表于 2019-12-7 23:07 | 顯示全部樓層
還是搞不懂?dāng)?shù)碼管用共陰的好還是共陽的好。
回復(fù)

使用道具 舉報

ID:164602 發(fā)表于 2019-12-8 10:21 | 顯示全部樓層
singrain 發(fā)表于 2019-12-7 23:07
還是搞不懂?dāng)?shù)碼管用共陰的好還是共陽的好。

如果用單片機(jī)直接驅(qū)動數(shù)碼管,則共陽的好。
單片機(jī)的輸出電流不大,大型的數(shù)碼管亮度不一定夠,但單片機(jī)的灌入電流要稍大一些,數(shù)碼管亮度就夠了。
如果用其它電路驅(qū)動數(shù)碼管(如用三極管、你買的套件是595等),那就無所謂了,只是改變數(shù)碼管的顯示編碼而已(其實編碼都可以不變,取反就行)。
回復(fù)

使用道具 舉報

ID:245004 發(fā)表于 2019-12-8 11:46 | 顯示全部樓層
singrain 發(fā)表于 2019-12-7 23:07
還是搞不懂?dāng)?shù)碼管用共陰的好還是共陽的好。

不能說用哪種好,有些條件下用共陽,有些條件下用共陰。
例如:51單片機(jī)動態(tài)驅(qū)動數(shù)碼管,一般選擇共陽比較方便,因為公共端可以用驅(qū)動三極管或者IC控制,段碼可以經(jīng)過限流電阻用單片機(jī)管腳控制,而無需上拉(供電)電阻,符合低功耗要求;而通過鎖存器等靜態(tài)顯示的條件下,用共陰也很方便,當(dāng)然也可以用共陽。
所以用哪種好是根據(jù)實際電路和供電條件等因素選擇的。
回復(fù)

使用道具 舉報

ID:637591 發(fā)表于 2019-12-19 19:58 | 顯示全部樓層
我這是573 驅(qū)動共陰數(shù)碼管  想找個程序?qū)嶒炓淮?nbsp; 在網(wǎng)上找的 總編譯錯誤  
51hei圖片20191219195555.jpg
回復(fù)

使用道具 舉報

ID:637591 發(fā)表于 2019-12-19 20:00 | 顯示全部樓層
wulin 發(fā)表于 2019-12-2 09:15
SCLK、RCLK、DIO分別接P1.1、P1.2、P1.0。程序是按共陰數(shù)碼管寫的,如果是共陽數(shù)碼管只要把顯示程序中預(yù) ...

大佬  573驅(qū)動4位共陰數(shù)碼管 的程序  有木有
回復(fù)

使用道具 舉報

ID:575020 發(fā)表于 2019-12-31 23:40 | 顯示全部樓層
2048858214 發(fā)表于 2019-12-19 19:58
我這是573 驅(qū)動共陰數(shù)碼管  想找個程序?qū)嶒炓淮?nbsp; 在網(wǎng)上找的 總編譯錯誤

你有電路原理圖么?
回復(fù)

使用道具 舉報

ID:672205 發(fā)表于 2020-1-2 19:52 來自觸屏版 | 顯示全部樓層
去查芯片資料
回復(fù)

使用道具 舉報

ID:575020 發(fā)表于 2021-6-8 00:37 | 顯示全部樓層

573和595還沒弄明白,又發(fā)現(xiàn)有TM1637和MAX7219似乎更好,(其中TM家族還有1638,1640,1650等)。也不知道該深入學(xué)習(xí)啥好了。

IMG_20210512_084129.jpg

IMG_20210512_084339.jpg

IMG_20210512_084439.jpg

IMG_20210512_085026.jpg

IMG_20210512_085145.jpg


IMG_20210512_085533.jpg

IMG_20210512_085655.jpg

IMG_20210512_085731.jpg

回復(fù)

使用道具 舉報

ID:88256 發(fā)表于 2021-6-8 09:53 | 顯示全部樓層
學(xué)習(xí)不能“請問到底哪種方案簡單”就用哪種,而是學(xué)習(xí)的方式,單片機(jī)注重的是底層,不像Arduino,所以必須對外圍器件進(jìn)行了解才能夠驅(qū)動得起來,建議樓主一步步慢慢來,對涉及的器件都去了解一下。對于數(shù)碼管模塊,關(guān)注點是采用什么芯片以及芯片與數(shù)碼管之間是怎么連接的,
樓主的開發(fā)板都沒有配外圍的嗎?我感覺樓主好像和我一樣,對顯示的特別感興趣,邏輯芯片我也收集了不少
回復(fù)

使用道具 舉報

ID:401564 發(fā)表于 2021-6-8 09:58 | 顯示全部樓層
兩年了!這帖子兩年了
工作中如果用不到這些東西,直接丟了
它們不是寶貝,也沒有收藏價值
除非是在高速電路或者低成本電路中,這些數(shù)字電路IC用處不大的,特別是用來擴(kuò)展端口的,這年頭單片機(jī)40個IO以上的大把的,你要是量多,300個IO也是常有的事
對于數(shù)字電路IC,你要做的不是專門去學(xué)哪個IC型號的使用方法,74系列和CD系列加一塊估計有上千個型號,你能看得完?
你要做是學(xué)會看真值表和時序圖,這些在數(shù)據(jù)手冊中都有
回復(fù)

使用道具 舉報

25#
無效樓層,該帖已經(jīng)被刪除
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

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