新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 跟我學51單片機(五):單片機動態掃描驅動數碼管

        跟我學51單片機(五):單片機動態掃描驅動數碼管

        作者: 時間:2013-02-06 來源:網絡 收藏
          一、本文內容提要

          本刊第四期介紹了單片機外接鍵盤的原理,并給出了應用實例。本期將介紹單片機動態驅動段式數碼管。通過該講,讀者可以掌握段式數碼管的工作原理和如何通過動態驅動的方法設計電路以及程序。

          二、原理簡介

          常用的段式數碼管有七段式和八段式,八段比七段多了一個小數點,其他的基本相同。所謂的幾段就是指數碼管里有相應的幾個小LED 發光二極管,通過控制不同的LED 的亮滅來顯示出不同的字形(見圖1(a))。從各發光二極管的電極連接方式又可以分為共陽極和共陰極兩種類型。共陰極則是所有的二極管的陰極連接在一起,而陽極是分離的(見圖1(b));而共陽極就是所有二極管的陽極是公共相連,而陰極則是分離的(見圖1(c))。本學習板采用的是八段共陰極數碼管,型號為LG3641AH。

        圖1 數碼管內部結構圖

          前文所述,數碼管與發光二極管的工作原理相同,共陽極時,所有正端接電源正極,當負端有低電平時,該段有電流流過,發光管亮,當負端為高電平時,該段無電流流過,發光管不亮。要顯示什么數字,就使對應的段為低電平(見表1)。共陰極與共陽極的電平變化狀態相反。當每個段的驅動電流為2~20mA,電流越大,發光越亮。

        表1 顯示的數字和七段碼各位的對應關系表

          常用的七段式數碼管的硬件驅動設計方法有:靜態驅動與動態驅動。

          靜態驅動即指每個數碼管的數據線都有一個單獨的數據鎖存器,數據鎖存器輸入的數據由使能端控制,當使能端為高電平時,數據線上的數據(要顯示的七段碼)進入顯示器,使能端與地址譯碼器的輸出相連,要顯示那位,則選通那位的地址,在軟件設計上不要求程序循環,也不存在顯示數字發生閃爍。但是這樣會占用很多口線。

          動態顯示是將所有位數碼管的段選線并聯在一起,由位選線控制是哪一位數碼管有效。這樣一來,就沒有必要每一位數碼管配一個鎖存器,從而節省了口線,地簡化了硬件電路。所謂顯示即輪流向各位數碼管送出字形碼和相應的位選,利用發光管的余輝和人眼視覺暫留作用,使人的感覺好像各位數碼管同時都在顯示。

          三、電路詳解

          此講的電路圖如圖2。從圖2 中可以看出,驅動八個八段數碼管總共用了6 個單片機IO 口,其中三個IO通過控制74HC595 來實現對數碼管中的各段驅動,另外三個IO 通過控制74HC138 來實現對8 個數碼管中的公共端驅動。此外為了增加74HC595 輸出的驅動能力,在其輸出后接了一級74HC245 芯片,以提高驅動能力,增加數碼管的亮度。在這里對這三個芯片進行介紹說明。

        圖2 數碼管動態驅動電路圖

          74HC138 是常用的3-8 線譯碼器, 即具有3 個輸入端( 管腳1,2,3) 與8 個輸出端( 管腳15,14,13,12,11,10,9,7),作用為完成3 位二進制數據到8 位片選的譯碼。也就是說,3 個輸入端對應8 個二進制數據(000,001,010,011,100,101,110,111),對于每個輸入的數據,輸出端相應位輸出低電平,其他7 位輸出高電平。74HC138 具有2 個低電平使能端(管腳4,5)與1 個高電平使能端(管腳6), 當低電平使能端接低電平且高電平使能端接高電平時74HC138 才能正常工作,否則8 個輸出端全部輸出高電平。因此在本學習板上設置一個跳線,如圖2 中所示中的SM-EN 短路塊,跳上時表示接低電平,74HC138 正常工作,跳開時表示接高電平,74HC138 不工作。74HC138 的真值表如表2 所示:H 代表高電平,L 代表低電平,X 代表不定的狀態。

        表2 74HC138輸入輸出真值表

        紅外遙控器相關文章:紅外遙控器原理

        萬能遙控器相關文章:萬能遙控器代碼


        51單片機相關文章:51單片機教程



        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 阆中市| 罗江县| 大竹县| 左贡县| 加查县| 孙吴县| 雷波县| 满城县| 南城县| 黄陵县| 河西区| 木兰县| 新兴县| 定边县| 祥云县| 兰州市| 定日县| 荥经县| 龙州县| 南昌县| 阳新县| 宁海县| 河曲县| 甘孜| 沅江市| 黄山市| 武川县| 昭觉县| 浦江县| 芒康县| 通州区| 阳朔县| 阳泉市| 张家界市| 全椒县| 建宁县| 望城县| 扶余县| 岳阳县| 临清市| 黑水县|