1、8*8 点阵的显示一、 实验目的通过用 VHDL 语言设计 8*8 点阵的显示,掌握时序电路的设计,熟悉汉字字符显示的原理。二、 实验原理利用多个数字 LED 显示器可以显示多位数字。三、 实验内容用 VHDL 语言设计 8*8 点阵的显示,并进行编译、波形仿真及器件编程。仿真图如下,代码见附录图表 1 8*8 点阵的显示功能仿真图附录代码一、library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;entity dianzhen8 isport (clk:in std_logic;reset:in std_lo
2、gic;hang:out std_logic_vector(7 downto 0);lie:out std_logic_vector(7 downto 0);end dianzhen8;architecture zhang of dianzhen8 issignal clk8:std_logic;beginprocess(clk,reset)variable cnt:integer range 0 to 3;variable lie8:std_logic_vector (7 downto 0);beginif reset=1thenlie8:=“10000000“;elsif clkevent
3、 and clk=1thenif cnt=3 thenclk8 smg7:=X“00“;WHEN 1 = smg7:=X“7c“;WHEN 2 = smg7:=X“54“;WHEN 3 = smg7:=X“fe“;WHEN 4 = smg7:=X“55“;WHEN 5 = smg7:=X“7d“;WHEN 6 = smg7:=X“03“;WHEN 7 = smg7:=X“00“;END CASE;RETURN smg7;END word;variable cnt : integer range 0 to 63;beginif clk_1kevent and clk_1k=1 thenp b b b b b b b b=“01111111“;l=word(c+7);end case;end process;-process(clk_1h)- variable cnt : integer range 0 to 7;- begin- if clk_1hevent and clk_1h=1 then- c=c+1;-地址加- end if;-end process;end arch;