朱志平
(渭南師范學院物理與電氣工程學院,陜西渭南714000)
數碼顯示已在整個工農業生產、航空業、交通運輸、醫療衛生、儀器儀表以及軍民融合技術產業中有了廣泛的用途[1],給人們的視覺帶來了不可置疑的效果,是現代社會發展過程中不可或缺的部分.數碼顯示驅動的控制方式通常情況下可分為兩類[2]:一是直接利用微處理器以靜態或動態掃描方式實現;二是利用微處理器或專用顯示控制驅動芯片實現.由于利用專用芯片可減少對微處理器資源的使用簡化系統的設計.因此,專用顯示控制芯片在目前得到了最為廣泛的應用,并且出現了種類繁多功能多樣的顯示控制芯片[3-4].但是,這些芯片大多是用傳統數字邏輯電路的設計方法進行設計,設計過程長、電路結構復雜,不易調試[5].本文提出用硬件描述語言VHDL設計,可擺脫對電路結構細節的考慮,用時短、效率高、成本低且運行可靠,具有傳統數字邏輯電路設計方法所無法比擬的優越性[6].
七段顯示譯碼器是對一個4位二進制數進行譯碼,并在七段數碼顯示器上顯示出相應的十進制數.一個七段顯示譯碼器的設計方框圖如圖1所示.由圖1可知,七段顯示譯碼器有4個輸入端,7 個輸出端.輸入信號 D3、D2、D1、D0是二進制BCD碼的集合,為四位二進制碼的前10個狀態,后6個狀態為無效狀態,編碼時輸出為0,不顯示,可表示為[D3,…,D0].輸出信號 a、b、c、d、e、f、g也是用二進制數表示,為書寫程序代碼方便起見,輸出信號用 x 的集合來表示.a、b、c、d、e、f、g 依次被表示為 x6、x5、x4、x3、x2、x1、x0.

七段顯示譯碼器的作用是將輸入BCD碼(8421碼)的10個代碼譯成10個高、低電平(高電平有效)輸出信號,保證數碼管按照相應的圖形顯示出所需要的數字.對于無效狀態的偽碼,輸出為0,數碼管滅,不顯示數字.真值表如表1所示.

表1 二-十進制譯碼器的真值表
根據真值表中輸入、輸出信號的變化關系,我們可以用硬件描述語言編寫出滿足數碼顯示驅動所需要的代碼程序.
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
entity DP is
port(d:in std_logic_vector(3 downto 0); ---四輸入
x:out_std_logic_vector(6 downto 0)); ---七輸出
end DP;
architecture behave of DP is
begin
with d select
x<="1111110"WHEN"0000",
"0110000"WHEN"0001",
"1101101"WHEN"0010",
"1111001"WHEN"0011"
"0110011"WHEN"0100"
"1011011"WHEN"0101"
"1011111"WHEN"0110"
"1110000"WHEN"0111"
"1111111"WHEN"1000"
"1111011"WHEN"1001"
"0000000"WHEN others;
end behave;
七段顯示譯碼器的仿真工作時序如圖2所示.從圖2可以看出,當依次輸入BCD碼的0000、0001、0010、0011、0010、0101、0110、0111、1000、1001,即十六進制的 0、1、2、3、4、5、6、7、8、9 時,輸出依次為1111110、0110000、1101101、1111001、0110011、1011011、1011111、1110000、1111111、1111011,即十六進制的7E、30、6D、79、33、5B、5F、70、7F、7B,數碼將依次顯示 0、1、2、3、4、5、6、7、8、9 等十進制數字;當輸入二進制的其他代碼(1010、1011、1100、1101、1110、1111,十六進制的 A、B、C、D、E、F)時,輸出均為 0,數碼管滅,不顯示數字.由此可以看出,設計達到了預定的要求.

圖2 七段顯示譯碼器工作時序
數碼顯示器已成為國民經濟發展、現代國防、醫療衛生事業和人民群眾日常生活不可或缺的電子器件[4-5].如何高效、快捷地設計出成本低、性能可靠的電子器件,本文已經給出了答案.那就是用VHDL語言進行設計,然后使用綜合工具對電路整體結構先進行組合優化、編譯,刪繁取真,再利用仿真工具對其進行波形仿真,檢驗電路的正確性和可靠性.通過這樣的設計方式,設計人員無需花費多長時間,就能設計出性能穩定、運行可靠、滿足實際需求的優質電路,以期推動電子器件更快更好的發展.
[1]馮壽鵬,張大鵬.基于嵌入式系統的LED信息顯示技術研究[J].現代電子技術,2006,29(23):158-160.
[2]文雯,鄔楊波.一種基于VHDL的7段LED數碼管顯示控制器[J].機電工程,2008,25(7):51-54.
[3]熊為霞,譚文若.串行接口LED數碼管及鍵盤管理器件ZLG7289A的原理與應用[J].國外電子元器件,2004,(4):62-66.
[4]曹建生,畢新熙,李娜,等.MAX7219在串行LED顯示驅動器上的應用[J].科技信息(學術版),2007,(21):350-410.
[5]朱正偉,何寶祥,劉訓非.數字電路邏輯設計[M].北京:清華大學出版社,2006.238-239.
[6]朱志平.基于VHDL的交通管理器設計[J].渭南師范學院學報,2012,27(6):24-28.