導航:首頁 > 操作系統 > 單片機驅動4位數碼管

單片機驅動4位數碼管

發布時間:2022-07-11 03:35:32

『壹』 如何用一個單片機驅動四個四位數碼管同時顯示四組不同數據

方法一:兩個HD7279,正好可以驅動16個數碼管,電路簡單,不佔單片機資源
方法二:74HC154解碼掃描,或者兩個P口掃描,需要16個三極體驅動或者兩片ULN2003之類的,比較佔用單片機資源

『貳』 如何利用單片機讓4位數碼管顯示

程序如下(用的是STC89C52晶元):

#include<reg52.h>//52系列單片機頭文件

#defineucharunsignedchar

#defineuintunsignedint

uintx,y;

ucharcodetable[]={

0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,

0x39,0x5e,0x79,0x71};//共陰極數碼管編碼

voiddisplay(uchar,uchar,uchar,uchar);//聲明子函數

voiddelay(int);//聲明子函數

voidmain()

{

while(1)

{

display(1,2,3,4);//主程序始終調用數碼管顯示子程序

}

}

voiddisplay(uchara,ucharb,ucharc,uchard)

{

P2=0xef;

P0=table[a];//給第一個數碼管送"a"

delay(1);//延時1ms

P2=0xdf;

P0=table[b];//給第二個數碼管送"b"

delay(1);//延時1ms

P2=0xbf;

P0=table[c];//給第三個數碼管送"c"

delay(1);//延時1ms

P2=0x7f;

P0=table[d];//給第三個數碼管送"d"

delay(1);//延時1ms

}

voiddelay(uintz)//延時子函數

{

uintx,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

(2)單片機驅動4位數碼管擴展閱讀

led數碼管是由多個發光二極體封裝在一起組成「8」字型的器件,引線已在內部連接完成,只需引出它們的各個筆劃,公共電極。led數碼管常用段數一般為7段有的另加一個小數點,還有一種是類似於3位「+1」型。

位數有半位,1,2,3,4,5,6,8,10位等等,led數碼管根據LED的接法不同分為共陰和共陽兩類,了解LED的這些特性,對編程是很重要的,因為不同類型的數碼管,除了它們的硬體電路有差異外,編程方法也是不同的。

『叄』 四位數碼管連接如何連接單片機

1、最開始,先打開keil。

『肆』 單片機做四位數碼管靜態顯示實驗時要不要鎖存器呀,最好發一張電路圖解釋一下鎖存器作用,不太懂鎖存器

用鎖存器主要是方便IO口復用
四位數碼管靜態顯示實驗時要不要鎖存器,是根據你的硬體決定的,如果你的4個數碼管各佔一個完整的埠,就不用鎖存器,但需要佔用32個IO口,一般單片機的IO引腳被用完了
如果你用4個鎖存器,它們就可以共用1個8位IO口,另外用4個引腳控制哪個鎖存器打開
總之,靜態顯示浪費硬體資源,四位數碼管要麼占單片機32個IO口,要麼需4個鎖存器,因此單片機系統中多用動態顯示方式
鎖存器就是能將輸入數據鎖存的器件,如74LS273,有8 個輸入端(D0-D7)和8個輸出端(Q0-Q7),另有一個控制端LA,當LA為高電平時,輸出端和輸入端的數據是相同的,輸入端數據變化,輸出端也跟著變化,當LA出現低電平(下降沿)時,輸出數據就鎖死了,無論輸入端數據怎麼變化,輸出端保持原數據
驅動4位數碼管時,這4個數碼管可以共用單片機的一個埠,如P0,4個鎖存器的D0-D7都接單片機的P0.0至P0,7,Q0-Q7分別接4個數碼管的8個陽極(稱為段,共陰極),P0口先輸出數據給第一個數碼管的鎖存器,經鎖存後,再用P0口給第二個數碼管送數據,不影響第一個數碼管的狀態,再鎖存後,P0口繼續給第三個第四個數碼管送數據,這就是IO口的分時復用

『伍』 單片機如何用有限的I/O口來驅動4位數碼管以及四個按鍵(I/O口只剩11個)

可以選用按鍵、顯示介面晶元BC7281或者ZLG7290,SPI介面或者I2C介面,最多隻佔用4個口線。軟體模擬SPI或I2C的時序。
如果不允許選用介面晶元,可以用7個段選+4個位選。選用共陽極數碼管,在位選的口線上通過按鍵、限流電阻接電源地。分時完成數碼管顯示和按鍵識別。

『陸』 4位共陽極led數碼管動態顯示驅動原理

要是數碼管顯示數字,有兩個條件:1.是要在VT端加合適的電源(一般每顆LED還需串上合適的電阻,起限流作用);2.要使(a,b,c,d,e,f,g,dp)端接低電平或「0」電平。這樣才能顯示的
能夠點亮數碼管後,就可以通過單片機控制數碼管顯示數字或字母。為了控制方便,我們將數碼管的a~dp引腳依次連接單片機的P10-P17引腳

『柒』 單片機如何同時控制四位數碼管顯示不同數字。

你的圖不是很清楚,根據你圖上的功能來看,器件應該是:
單片機(51系列) -> 8路緩沖器(74HC245) -> 數碼管(四位)
1、由於單片機IO口的驅動能力有限,在單片機和數碼管中間增加了緩沖器
這樣可以有效的保護單片機,提高了驅動能力。
2、接法:四位數碼管有四個選擇端,保證統一時間只A-G欄位,只對一個數碼管有效。
3、點亮數碼管,通過選取不同的選擇端,選擇好某一位數碼管,通過A-G欄位點亮。這個10K的上拉電阻,就針對單片機的,
因為單片機的P0口,內部是不帶上拉電阻的,
10K,既能保證單片機有可靠的高電平輸出,又能保證有一定的驅動

『捌』 單片機最小系統沒有鎖存器,如何控制四位數碼管,如何位選

用數碼管動態顯示,然後就是把這四位數碼管共陰或者共陽,為增加單片機的驅動能力,添四個三極體!控制這四個三極體,實現位選

『玖』 單片機驅動四位數碼管需要138解碼器嗎

不需要,直接接單片機管腳就可以了,單片機I/0口足夠點亮數碼管,用138解碼器是可以省管腳,項目一般都會用解碼器,自己拿來玩玩可用可不用

『拾』 使用單片機實現四位八段的數碼管顯示,顯示出852.6如何實現,請寫出實現流程

有兩種方式,一種是動態掃描,假設你數碼管有COM1,COM2,COM3,COM4,然後有8個段,常見的是7個控制數碼管段還有一個小數點一共8個段

那麼這里就描述單片機一次掃描4位的過程,首先,如果你的數碼管是共陽,那麼顯示第一位就將COM1引腳拉到高電平,然後8個引腳接到單片機IO口上,你說你要顯示852.6,那麼第一位是8,7個段全亮,所以7個IO全部拉低電平就行,隨後延遲差不多1ms左右
接下來就是顯示第二個數碼管,和之前一樣,COM2拉高,然後你要顯示5的話有兩個段是不亮的,所以哪兩個腳你不想讓他亮,你直接把對應的IO拉高就行,你要讓剩下哪5個段亮直接拉高電平即可,隨後再延時1ms左右
接下來兩位和上面一樣,對應位的COM口拉高電平,對應的欄位IO你要讓哪個段亮就把哪個拉低電平,哪個段不想亮就拉高電平,最後延時1ms就行
最後程序外面套個while(1)就可以實現無限循環了
還有一種方式就是用74HC595和4個數碼管連接起來,74HC595是一個串列鎖存寄存器,只需要4個74HC595和4個數碼管就行,最少只佔用單片機2個IO
這里就說明一下74HC595的控制方式
首先74HC595應該有個EN口,拉低,然後時鍾拉高,循環8次,再把時鍾信號拉低,用一個AND運算,如你要傳輸一個0XAA,那麼就是
void InputData(0XAA)
{
for(int i=0;i<8;i++)
{
if(dat&0x01==1)
{
digitalWrite(SCK,LOW);
digitalWrite(DAT,HIGH);
delayMicroseconds(10);
}
else
{
digitalWrite(SCK,LOW);
digitalWrite(DAT,LOW);
delayMicroseconds(10);
}
dat=dat>>1;
digitalWrite(SCK,HIGH);
}
}
這里我是直接復制我以前寫的一個arino驅動74HC595的程序,SCK是時鍾,DAT是數據
建議你把單片機和你數碼管的電路圖發出來,你說如何實現我不知道你是怎麼接的數碼管

閱讀全文

與單片機驅動4位數碼管相關的資料

熱點內容
交易平台小程序源碼下載 瀏覽:148
程序員記筆記用什麼app免費的 瀏覽:644
java與單片機 瀏覽:895
伺服器內網如何通過公網映射 瀏覽:478
程序員穿越到宋代 瀏覽:622
怎麼使用雲伺服器掛游戲 瀏覽:616
真實的幸福pdf 瀏覽:342
d盤php調用c盤的mysql 瀏覽:264
怎麼樣搭建源碼網站 瀏覽:427
新概念四冊pdf 瀏覽:363
怎麼下載悅虎檢測app 瀏覽:530
cad表達式命令 瀏覽:200
程序員去一個小公司值不值得 瀏覽:848
程序員做個程序多少錢 瀏覽:495
win10原始解壓軟體 瀏覽:321
阿里程序員的老家 瀏覽:260
量子加密銀行 瀏覽:193
命令方塊獲得指令手機 瀏覽:501
學習結束感言簡短程序員 瀏覽:400
android關機鬧鍾實現 瀏覽:970