⑴ 51系列單片機驅動多個數碼管
用六片 595,即可靜態顯示時、分、秒。
但是,這時分秒的公共端,還要用一位介面來控制。
類似於動態顯示的位選。
當換另一個位時,再讓這六片 595,顯示年、月、日。
當換另一個位時,再讓這六片 595,顯示星期、溫度、濕度。
當換另一個位時,再讓這六片 595,顯示某某節日的倒計時,或農歷。
595 用單片機的三條引線,位選,用四條。共七個引腳,即可驅動 24 位數碼管。
並且,僅僅是四位的動態顯示,因此,毫無閃爍的現象。
單片機,使用僅有 15 個 IO 引腳的 AT89C2051,即可夠用。
⑵ 51單片機如何連接4個二位數碼管,只有p0口和P20-P23可以使用了。
用4個二位數碼管,可以用一個8位一體的共陰數碼管畫模擬圖更簡單。用P0口和P2.0~P2.2就可以接成8位動態顯示電路。方法一:用兩片74HC573鎖存器,這是比較典型的顯示電器,用是比較多,用P0口輸出數據,兩片鎖存器分別鎖存段碼和位碼。如下圖。
⑶ 89C52單片機怎麼連接讓P3口控制8個數碼管
只想用P3口的話,必須另加控制元件。
1一種方法是用兩個鎖存器來鎖存數碼管的段碼和位碼,進行動態掃描顯示。
2另一方法是,用P3口的4位接一個BCD解碼器控制數碼管的段碼,再P3口的3位接一個3-8解碼器來控制數碼管的位進行動態掃描。
3再就是可以用P3口的兩根串列線接串並轉換IC,來驅動數碼管。
⑷ 單片機驅動數碼管顯示問題
前不久剛弄的類似顯示程序,調整了下給你,看看有用不。電路圖是4位顯示的,程序已經改成了2位顯示。
;單片機內存分配申明!
TEMPER_LEQU28H;用於保存計數值
A_BITEQU20H;數碼管個位數存放內存位置
B_BITEQU21H;數碼管十位數存放內存位置
ORG0000H
LJMPMAIN
ORG0040H
MAIN:
MOVSP,60H
MOVA,#00H
MOVP2,A
STAR:
MOVTEMPER_L,#0;初始化計數器,從0開始
stlop:
ACALLDISPLAY;調用顯示子程序
INCTEMPER_L;對計數器加1
MOVA,TEMPER_L
CJNEA,#100,NEXT;判斷計數器是否滿100?
MOVTEMPER_L,#0;滿100就清零
NEXT:LJMPstlop;不滿就循環執行
DISPLAY:
MOVA,TEMPER_L
MOVB,#10;10進制/10=10進制
DIVAB
MOVB_BIT,A;十位在a
MOVA_BIT,B;個位在b
MOVDPTR,#NUMTAB;指定查表啟始地址
DPL1:MOVR7,#250;顯示250次,數越小,顯示頻率越高,遞增的越快。
DPLOP:MOVA,A_BIT;取個位數
MOVCA,@A+DPTR;查個位數的7段代碼
MOVP0,A;送出個位的7段代碼
SETBP2.3;開個位顯示
ACALLD1MS;顯示1ms
CLRP2.3
MOVA,B_BIT;取十位數
MOVCA,@A+DPTR;查十位數的7段代碼
MOVP0,A;送出十位的7段代碼
SETBP2.2;開十位顯示
ACALLD1MS;顯示1ms
CLRP2.2
DJNZR7,DPLOP;250次沒完循環
RET
;1MS延時(按12MHZ算)
D1MS:MOVR5,#80
DJNZR5,$
RET
;7段數碼管0~9數字的共陽顯示代碼
NUMTAB:DB0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H
⑸ 單片機與數碼管的連接
如果22位數碼管共用7段來驅動,顯示效果很差,太暗!而且單片機直接驅動運行起來也費力。你可以計算一下就知道了:如果想顯示沒有閃爍感,顯示刷新周期就要超過50HZ,也就是每20mS這22位數碼管都要顯示一次,那麼每個數碼管每次只能顯示20mS÷22=0.91mS,而且單片機在這么短的時間內就沒有太多的時間處理其它的任務了。
要解決這個問題,你必須用專用的LED顯示驅動IC,而且要保證每個數碼管顯示的占空比要超過1/8才會有足夠的亮度,如果是室外使用最好是1/4或1/3。
如果占空比選用1/6,那麼你要在同一時間每次點亮22/6(4)個數碼管,你可以看看TM1629A、B、C、D顯示驅動IC,可以用2塊驅動IC,每個IC同時點亮2個數碼管,每個IC驅動11個數碼管。
用這種IC比用74系列的晶元的好處是:只有在需要改變顯示內容時,單片機才發送數據到驅動IC,平時不必發送數據,這樣MCU就可以把時間用於處理其它任務了。
具體的電路你看IC資料就行了。
⑹ 採用靜態連接方法,8051單片機最多可以控制幾個數碼管
不考慮供電的話,用51單片機可以接24個,8個口斷選,24個口位選。
數碼管在生活中經常見到,它是重要的顯示用電子元件,也經常用單片機控制其顯示,需要在掌握其功能原理、結構特點的基礎上掌握其控制方法。
⑺ 如何用最少的單片機埠驅動多個數碼管
最好的辦法是用串轉並的晶元如74HC164或595,只要二根線就可以驅動多個數碼管,且是靜態的,程序也方便編制,不用象動態顯示那樣不停地刷新。、
附圖是用PIC16單片機驅動6個數碼管的PROTEUS模擬的情況,實物也運行了,沒問題。理論上可以驅動無窮多個數碼管,實際上用十幾二十個沒問題。
北航《PIC16系列單片機C程序設計與PROTEUS模擬》書中有這個完整的線路圖和程序,附光碟中有所有的線路圖和程序代碼。
⑻ 單片機做萬年歷數碼管太多,掃描顯示最後一位數總顯示不對
是不是最後一位數碼管沒有設置延時關閉啊?單片機運行完數碼管掃描程序後,運行其它程序,比如計算時間等等,如果最後一位數碼管延時後沒有關閉它的片選,就會出現最後一位顯示時間長亮度高的現象,如果數碼管的段選信號還有復用功能的話,肯定會引起顯示亂碼了。
你是怎麼驅動數碼管的?直接動態掃描驅動還是164晶元靜態級聯驅動啊?
⑼ 52單片機的P0口接一片74LS244作為驅動擴展,然後接8位的數碼管,做多能接幾個能驅動16個嗎
74Ls244技術參數
最小 典型 最大
VCC 4.25V 5V 5.25V
高電平輸出電流 -15mA
低電平輸出電流 24mA
工作溫度 0℃ 70℃
根據參數,一般同一時刻只點亮一個管子,因此建議用動態顯示模式。至於數量,1片8個是沒問題的,如果1路帶兩個管,恐怕太暗,達不到滿意效果。
⑽ 51單片機驅動 多個 2.3寸數碼管 問題
給你推薦幾個常用的串口轉並口,IO擴展晶元吧,你找找他們的資料,有典型電路的。
下面一圖是74HC595的典型電路,圖上是三個級聯,還可以四個等多個級聯,一個可以控制一個數碼管,三個級聯就可以控制三個數碼管。
還有一個常用的晶元:74LS164,用法和595差不多。
另外一個功能比較強大的晶元:SM1617,可以驅動多個數碼管,還可以掛接按鍵,可以掃描16個按鍵,具體資料你看下面的連接。
言盡於此,加油吧。