1、七段数码显示译码器设计一、 实验目的:学习 7 段数码显示译码器设计,学习 VHDL 的多层次设计方法。二、实验原理:七段数码管由 8 个(a,b,c,d,e,f,g,dp)按照一定位置排列的发光二极管构成,通常采取共阴极或者共阳极的设计,将 8 个二极管的同一极接在一起,通过分别控制另外的 8 个电极的电平,使二极管导通(发光)或截止(不发光) 。七段数码显示译码器的功能就是根据需要显示的字符,输出能够控制七段数码管显示出该字符的编码。三、 实验内容 :1) 用 VHDL 设计 7 段数码管显示译码电路,并在VHDL 描述的测试平台下对译码器进行功能仿真,给出仿真的波形。-程序:LIBRAR
2、Y IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY SMG ISPORT(A:IN STD_LOGIC_VECTOR(3 DOWNTO 0);LED7S:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);END;ARCHITECTURE ONE OF SMG ISBEGINPROCESS(A)BEGINCASE A ISWHEN“0000“=LED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SNULL;END CASE;仿真波形:2) 数码
3、管显示电路设计利用以上设计的译码器模块,设计一个 8 位的显示电路。利用时分复用的方式快速轮流点亮 8 个数码管,在视觉上形成 8 个数码管同时显示的效果(尽管实际上同一时间只有一个数码管被点亮) 。要实现以上功能,就必须按照一定时钟节拍,轮流使译码器输出所需要字符的编码;同时控制数码管的公共电极电平,轮流点亮数码管。备注:在新试验箱中可酌情减少位数实现,新试验箱中管脚查阅教材中附录。程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY VHDL42 ISPORT(CLK:IN ST
4、D_LOGIC;S:OUT STD_LOGIC_VECTOR(2 DOWNTO 0);D:IN STD_LOGIC_VECTOR(3 DOWNTO 0);A:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);END VHDL42;ARCHITECTURE ONE OF VHDL42 ISSIGNAL C:STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINP1:PROCESS(CLK)BEGINIF CLKEVENT AND CLK=1THEN IF C A A A A A A A A A A A A A A A A NULL;END CASE;END PROC
5、ESS P2;END;仿真波形:管脚锁定: 旧试验箱 新试验箱 No.2信号管脚号 连接的器件 管脚号 连接的器件clk 43 Clk1 153 CLK2rst 35 开关 2 234 键 2ena 30 开关 1 233 键 1A(6) 11 SEG g 167 SEG gA(5) 10 SEG f 166 SEG fA(4) 9 SEG e 165 SEG eA(3) 8 SEG d 164 SEG dA(2) 7 SEG c 163 SEG cA(1) 6 SEG b 162 SEG bA(0) 5 SEG a 161 SEG aS(2) 80S(1) 79S(0) 78三-八译码器的控制输入端