1、EDA16x16点阵滚动+动画显示范本模板四、课程设计的总体步骤1、单个字符的显示(如:黄):library ieee;use ieee。std_logic_1164。all;use ieee。std_logic_unsigned。all;entity xianshi isport( clk2:in std_logic; rck,sck:out std_logic; si:out std_logic);end ;architecture one of xianshi issignal sel:std_logic_vector(3 downto 0);signal q: std_logic_ve
2、ctor(31 downto 0);signal i:integer range 0 to 31;signal coi:std_logic;begin process(sel,clk1)begincase sel is when”0000”=qq=”00000100000000011011111111111111; when”0010”=qqq=”00100101010100101111011111111111; when”0101”=q=”11111101010101001111101111111111”; when”0110”=qq=”001001111111000011111110111
3、11111”; when1000=q=00100101010100001111111101111111; when”1001”=q=11111101010101001111111110111111; when1010”=q=00100101010101001111111111011111”; when”1011=q=01100111111100101111111111101111”; when1100”=qqq=”00000100000000001111111111111101”; when”1111”=q=00000000000000001111111111111110”; when oth
4、ers =null; end case; if clk1event and clk1=1then si=q(i);i=i+1;coi=0; if i=31 then i=0;coi=1;sel=sel+1; end if; rck=not coi; end if;end process;sck=clk1;end ;时序仿真:从图中可以看出,当clk1在第32个上升沿rck变为低电频,sck与clk1是同一电频,故此程序满足要求。 2、多个字符的跳动显示(如:黄小红):library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsi
5、gned.all;entity xianshi isport( clk1:in std_logic; clk2:in std_logic; rck,sck:out std_logic; si:out std_logic);end ;architecture one of xianshi issignal lie:std_logic_vector(3 downto 0);signal sel:std_logic_vector(3 downto 0);signal q: std_logic_vector(31 downto 0);signal i:integer range 0 to 31;sig
6、nal coi:std_logic;begin process(sel,clk1,clk2)beginif clk2event and clk2=1 then lie case sel is when”0000=q=”00000100000000000111111111111111; when0001=q=00000100000000011011111111111111; when0010=q=”00100100000000011101111111111111”; when”0011=q=”00100101111110101110111111111111; when”0100”=q=”0010
7、0101010100101111011111111111”; when”0101”=q=”11111101010101001111101111111111; when”0110”=q=”00100101010100001111110111111111; when”0111”=qqq=”00100101010101001111111111011111; when”1011”=q=”01100111111100101111111111101111; when”1100=qq=00000100000000001111111111111101”; when”1111=qq=00000000000000
8、000111111111111111”; when0001”=qq=”00000000001000001101111111111111; when0011”=q=”00000000010000001110111111111111”; when”0100=qqqqq=”00000000000000001111111101111111”; when1001”=q=00000100000000001111111110111111; when”1010=q=00000010000000001111111111011111; when1011=q=”000000010000000011111111111
9、01111”; when1100=q=00000000100000001111111111110111; when”1101”=q=00000000011000001111111111111011”; when”1110”=qq=00000100010001000111111111111111; when0001”=q=”00001100111001101011111111111111; when0010”=q=”00110101010001001101111111111111; when”0011=q=11000110010010001110111111111111; when”0100=q
10、qqq=00100000000000101111111011111111”; when1000=q=”00100000000000101111111101111111”; when1001”=qqqq=00100000000001101111111111111011”; when1110=q=00000000000000101111111111111101; when”1111=qnull; end case; if clk1event and clk1=1then si=q(i);i=i+1;coi=0; if i=31 then i=0;coi=1;sel=sel+1; end if; r
11、ck=not coi; end if;end process;sck=clk1;end ; 时序仿真:从上图看出,当clk1在第32个上升沿rck变为低电频,sck与clk1是同一电频,故此程序满足要求。3、汉字的滚动和动画显示(如:黄小红+笑脸):library ieee;use ieee.std_logic_1164。all;use ieee.std_logic_unsigned。all;entity xianshi isport( clk1:in std_logic; clk2:in std_logic; rck,sck:out std_logic; si:out std_logic);
12、end ;architecture one of xianshi issignal lie:std_logic_vector(3 downto 0);signal sel:std_logic_vector(3 downto 0);signal q: std_logic_vector(31 downto 0);signal i:integer range 0 to 31;signal coi:std_logic;begin process(sel,clk1,clk2)beginif clk2event and clk2=1 then lieqq=”001001000000000111011111
13、11111111; when”0011=q=”00100101111110101110111111111111”; when”0100=qqq=”00100111111100001111111011111111; when”1000=q=00100101010100001111111101111111; when1001=q=”11111101010101001111111110111111; when1010”=qq=”01100111111100101111111111101111”; when”1100”=qqq=”00000100000000001111111111111101”; w
14、hen”1111”=q=”00000000000000001111111111111110; when others =null; end case; when0001”= case sel is when”0000”=qqq=”11111101010101001111101111111111”; when”0011=q=”00100101010100001111110111111111”; when”0100”=qq=”00100101010100001111111101111111”; when”0110=q=”11111101010101001111111110111111”; when
15、”0111=qq=00100100100000101111111111110111; when”1010=q=”00001100000000011111111111111011; when1011=qq=00000000000000001111111111111110; when”1101”=q=”00000000000000000111111111111111; when1110”=qq=00100101010100001111110111111111”; when”0001=qqq=”01100111111100101111111111101111; when0110=q=”0010010
16、0100000101111111111110111; when”0111=qqqq=00000000001000001101111111111111; when1101”=qq=00000001100000001111011111111111”; when1111=qnull; end case; when0011= case sel is when0000”=q=11111101010101001111111110111111”; when”0001=q=”00100101010101001111111111011111”; when0010=q=”011001111111001011111
17、11111101111”; when0011”=q=”00100100100000101111111111110111”; when”0100”=qqqq=”00000000000000000111111111111111”; when1000=q=”00000000000100001011111111111111”; when1001”=qq=00000000010000001110111111111111; when1011”=qq case sel is when”0000=q=”00100100100000101111111111110111”; when0001”=qqq=”00000000000100001011111111111111”; when”0110”=qq=00000000010000001110111111111111; when1000”=q=”00000001100000001111011111111111; when”1001=qq=”00000000000000011111110111111111; when”1011”=q=11111111111111101111111011111111; whe
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1