<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>電子元器件>數碼管>

怎樣用單片機驅動LED數碼管顯示

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

怎樣用單片機驅動LED數碼管顯示

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

  靜態顯示就是顯示驅動電路具有輸出鎖存功能,單片機將所要顯示的數據,顯示數據穩定,占用很少的CPU時間。動態顯示需要CPU時刻對顯示器件進行數據刷新,顯示數據有閃爍感,占用的CPU時間多。

  這兩種顯示方式各有利弊;靜態顯示雖然數據穩定,占用很少的CPU時間,但每個顯示單元都需要單獨的顯示驅動電路,使用的硬件較多;

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

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

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

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


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

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

非常好我支持^.^

(55) 94.8%

不好我反對

(3) 5.2%

( 發表人:admin )

      發表評論

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

      發表評論,獲取積分! 請遵守相關規定!

      ?
      亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
      <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
      <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
      <acronym id="s8ci2"></acronym>
      <acronym id="s8ci2"><center id="s8ci2"></center></acronym>