《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 兩例FPGA驅動LED靜態顯示和動態顯示的VHDL程序
兩例FPGA驅動LED靜態顯示和動態顯示的VHDL程序
摘要: 提出了兩例FPGA驅動LED靜態顯示和動態顯示的VHDL程序。
Abstract:
Key words :

例1:FPGA驅動LED靜態顯示

 

  --文件名:decoder.vhd

 

  --功能:譯碼輸出模塊,LED為共陽接法

 

  --最后修改日期:2004.3.24

 

  library IEEE;

 

  use IEEE.STD_LOGIC_1164.ALL;

 

  use IEEE.STD_LOGIC_ARITH.ALL;

 

  use IEEE.STD_LOGIC_UNSIGNED.ALL;

 

  entity decoder is

 

  Port (seg:in std_logic_vector(3 downto 0 ); --四位二進制碼輸入

 

  q3:out std_logic_vector(6 downto 0) ); --輸出LED七段碼

 

  end decoder;

 

  architecture Behavioral of decoder is

 

  begin

 

  process(seg)

 

  begin

 

  case seg is

 

  when "0000" => q3<="0000001";--0

 

  when "0001" => q3<="1001111";--1

 

  when "0010" => q3<="0010010";--2

 

  when "0011" => q3<="0000110";--3

 

  when "0100" => q3<="1001100" --4

 

  when "0101" => q3<="0100100";--5

 

  when "0110" => q3<="0100000";--6

 

  when "0111" => q3<="0001111";--7

 

  when "1000" => q3<="0000000";--8

 

  when "1001" => q3<="0000100";--9

 

  when others => q3<="1111111";

 

  end case;

 

  end process;

 

  end Behavioral;

 

例2:FPGA驅動LED動態顯示(4位)

 

  --文件名:dynamic.vhd。

 

  --功能:動態掃描模塊,位選信號高電平有效。

 

  --最后修改日期:2004.3.24。

 

  library IEEE;

 

  use IEEE.STD_LOGIC_1164.ALL;

 

  use IEEE.STD_LOGIC_ARITH.ALL;

 

  use IEEE.STD_LOGIC_UNSIGNED.ALL;

 

  entity dynamic is

 

  Port ( clk : in std_logic;

 

  reset: in std_logic;

 

din1 : in std_logic_vector(6 downto 0); --譯碼后的數據信號1(4位2進制數據

 

  通過例1中的decoder模塊譯碼得到din1,din2,din3,din4)

 

  din2 : in std_logic_vector(6 downto 0); --譯碼后的數據信號2

 

  din3 : in std_logic_vector(6 downto 0); --譯碼后的數據信號3

 

  din4 : in std_logic_vector(6 downto 0); --譯碼后的數據信號4

 

  shift: out std_logic_vector(3 downto 0); --位選信號

 

  bus4 : out std_logic_vector(6 downto 0)); --數據信號

 

  end dynamic;

 

  architecture Behavioral of dynamic is

 

  signal scan_clk:std_logic_vector(1 downto 0);

 

  begin

 

  process(clk,scan_clk,reset) --分頻進程

 

  variable scan:std_logic_vector(17 downto 0);

 

  begin

 

  if reset='1' then

 

  scan:="000000000000000000";

 

  scan_clk<="00";

 

  elsif clk'event and clk='1'then

 

  scan:=scan+1;

 

  end if;

 

  scan_clk<=scan(17 downto 16);

 

  end process;

 

  process(scan_clk,din1,din2,din3,din4) --掃描進程

 

  begin

 

  case scan_clk is

 

  when "00"=>

 

  bus4<=din1;

 

  shift<="0001";

 

  when "01"=>

 

  bus4<=din2;

 

  shift<="0010";

 

  when "10"=>

 

  bus4<=din3;

 

  shift<="0100";

 

  when "11"=>

 

  bus4<=din4;

 

  shift<="1000";

 

  when others=> bus4<="0000000";shift<="0000";

 

  end case;

 

  end process;

 

  end Behavioral;

 

 

 

 

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 欧美日韩高清观看一区二区 | 一级女性全黄久久生活片 | 色一伦一情一区二区三区 | 日本阿v视频在线观看高清 日本波多野结衣视频 | 成人三级在线播放线观看 | 成人人免费夜夜视频观看 | 亚洲一区二区三区免费 | 性视频福利在线看 | 免费观看成人毛片 | 中文字幕在线看片成人 | 一级待一黄aaa大片在线还看 | 黄色三级网 | 国产一区二区三区免费 | 国产三级日本三级美三级 | 午夜男人女人爽爽爽视频 | 国产成人不卡亚洲精品91 | 欧美最黄视频 | 免费看成人播放毛片 | 亚洲黄色在线视频 | 男人透女人超爽视频免费 | 亚洲国产成人久久综合一 | 极品美女户外勾搭无套 | 久久成人福利视频 | 一本一本久久a久久精品综合麻豆 | 亚洲综合一二三区 | 国内精品久久影视 | 欧美激情视频在线观看一区二区三区 | 国产色在线观看 | 全国男人的天堂天堂网 | 韩国日本一级片 | 亚洲国产欧美一区二区欧美 | 亚洲视频中文字幕在线 | 理论在线看 | 日韩国产精品99久久久久久 | 国产亚洲欧洲一区二区三区 | 中文字幕在线免费观看 | 亚洲精彩 | 久国产精品视频 | 国产精品自在自线 | 亚洲欧洲久久久精品 | 成人做爰毛片免费视频 |