基于VHDL的数码显示驱动器的设计

2013-09-17 02:00:54朱志平
渭南师范学院学报 2013年2期
关键词:真值表译码器数码管

朱志平

(渭南师范学院物理与电气工程学院,陕西渭南714000)

数码显示已在整个工农业生产、航空业、交通运输、医疗卫生、仪器仪表以及军民融合技术产业中有了广泛的用途[1],给人们的视觉带来了不可置疑的效果,是现代社会发展过程中不可或缺的部分.数码显示驱动的控制方式通常情况下可分为两类[2]:一是直接利用微处理器以静态或动态扫描方式实现;二是利用微处理器或专用显示控制驱动芯片实现.由于利用专用芯片可减少对微处理器资源的使用简化系统的设计.因此,专用显示控制芯片在目前得到了最为广泛的应用,并且出现了种类繁多功能多样的显示控制芯片[3-4].但是,这些芯片大多是用传统数字逻辑电路的设计方法进行设计,设计过程长、电路结构复杂,不易调试[5].本文提出用硬件描述语言VHDL设计,可摆脱对电路结构细节的考虑,用时短、效率高、成本低且运行可靠,具有传统数字逻辑电路设计方法所无法比拟的优越性[6].

1 七段显示译码器

1.1 七段显示译码器设计框图

七段显示译码器是对一个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.

1.2 七段显示译码器的代码程序

七段显示译码器的作用是将输入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;

1.3 七段显示译码器的工作时序

七段显示译码器的仿真工作时序如图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 七段显示译码器工作时序

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.

猜你喜欢
真值表译码器数码管
《离散数学》中二元关系传递性的判定
Arduino编程
电脑报(2019年2期)2019-09-10 07:22:44
MC9S08FL16单片机数码管静态显示分析
科技风(2019年13期)2019-06-11 13:38:30
单片机控制的四位数码管动态显示编程
时代农机(2019年2期)2019-04-24 01:20:14
纠错模式可配置的NAND Flash BCH译码器设计
基于Qt的数码管数字编码系统的设计与实现
跟踪导练(一)5
抢答器原理的设计
飞机燃油测量系统设计误差影响分析
科技视界(2016年22期)2016-10-18 15:56:13
基于Visio的量子电路矢量图自动绘制