您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費注冊]

您的位置:電子發(fā)燒友網(wǎng)>電子元器件>數(shù)碼管>

怎樣用單片機驅(qū)動LED數(shù)碼管顯示

2009年11月06日 13:34 本站整理 作者:佚名 用戶評論(0

怎樣用單片機驅(qū)動LED數(shù)碼管顯示

片機驅(qū)動LED數(shù)碼管有很多方法,按顯示方式分,有靜態(tài)顯示和 動態(tài)(掃描)顯示,按譯碼方式可分硬件譯碼和軟件譯碼之分。

  靜態(tài)顯示就是顯示驅(qū)動電路具有輸出鎖存功能,單片機將所要顯示的數(shù)據(jù),顯示數(shù)據(jù)穩(wěn)定,占用很少的CPU時間。動態(tài)顯示需要CPU時刻對顯示器件進行數(shù)據(jù)刷新,顯示數(shù)據(jù)有閃爍感,占用的CPU時間多。

  這兩種顯示方式各有利弊;靜態(tài)顯示雖然數(shù)據(jù)穩(wěn)定,占用很少的CPU時間,但每個顯示單元都需要單獨的顯示驅(qū)動電路,使用的硬件較多;

  動態(tài)顯示雖然有閃爍感,占用的CPU時間多,但使用的硬件少,能節(jié)省線路板空間。

  硬件譯碼就是顯示的段碼完全由硬件完成,CPU只要送出標(biāo)準(zhǔn)的BCD碼即可,硬件接線有一定標(biāo)準(zhǔn)。軟件譯碼是用軟件來完成硬件的功能,硬件簡單,接線靈活,顯示段碼完全由軟件來處理,是目前常用的顯示驅(qū)動方式。

  比較常用的顯示驅(qū)動芯片有: 74LS164 , CD4094+ULN2003(2803) ,74HC595+ULN2003(2803) , TPIC6B595,AMT9095B, AMT9595等許多。

  另外,市場上還有一些專用的LED掃描驅(qū)動顯示模塊如MAX7219等,功能很強,價格稍高一些。下面是一個用74LS164驅(qū)動顯示的例子和一個用4094掃描驅(qū)動顯示的例子:


  上例圖中加了一個PNP型的三極管來控制數(shù)碼管的電源,是因為164沒有數(shù)據(jù)鎖存端,數(shù)據(jù)在傳送過程中,對輸出端來說是透明的,這樣,數(shù)據(jù)在傳送過程中,數(shù)碼管上有閃動現(xiàn)象,驅(qū)動的位數(shù)越多,閃動現(xiàn)象越明顯。為了消除這種現(xiàn)象,在數(shù)據(jù)傳送過程中,關(guān)閉三極管使數(shù)碼管沒電不顯示,數(shù)據(jù)傳送完后立刻使三極管導(dǎo)通,這樣就實現(xiàn)鎖存功能。這種辦法可驅(qū)動十幾個164顯示而沒有閃動現(xiàn)象。

  這個例子是用4094做位選,用89C2051的P1口線做段驅(qū)動來掃描驅(qū)動9位數(shù)碼管的顯示。 由于4094只有8個輸出口線,其中第九位是用CPU口線直接進行位選的。9個LED的所有相同位置的段口線都接到一起,然后接到單片機的一個口線上,供八段,使用8條CPU口線。其軟件的工作過程是這樣的:要在LED上顯示1--9位數(shù),首先將1的段碼送到P1口線上,然后向4094送位選數(shù)據(jù)01,使4094的Q1口線輸出高電平,選中第一位數(shù)碼管,使陽極得電,在第一位上就顯示出1,重復(fù)上述過程,一直到第九位,然后不斷重復(fù)這一過程,就實現(xiàn)了掃描顯示。

非常好我支持^.^

(55) 94.8%

不好我反對

(3) 5.2%

( 發(fā)表人:admin )

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關(guān)規(guī)定!

      ?