亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tlc549.vhd

?? 是一些很好的FPGA設計實例
?? VHD
字號:

--文件名:tlc549.vhd

--功  能:數字電壓表

--說  明:學習模數轉換芯片(tlc549)的使用

--        通過修改競賽板上電位器的抽頭值可以達到修改當前電壓值的目的

--        發光二極管上顯示的是模數轉換后的數字量

--        數碼管上顯示的是當前電壓值

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity tlc549 is
    Port (clk : in std_logic;						--50m系統時鐘
		din : in std_logic;		                    --(tlc549)串行數據輸出端
		clk_tlc549 : out std_logic;
          cs_tlc549  : out std_logic;				--tlc549的片選信號輸入端
		shift      : out std_logic_vector(3 downto 0);--動態掃描時的位選信號			
		cs_led     : out std_logic_vector(1 downto 0);--競賽板的發光二極管及數碼管的片選信號輸入端
		dout_led   : out std_logic_vector(7 downto 0));--競賽板的發光器件的信號輸出端
end tlc549;

architecture Behavioral of tlc549 is

type state is (st1,st2);
signal current_state : state;

type state1 is (st0,st1,st2);
signal current_state1 : state1; 

type state2 is (st0,st1,st2,st3,st4);
signal current_state2 : state2; 

signal reg_datain : std_logic_vector(7 downto 0);
signal reg_dout : std_logic_vector(15 downto 0);
signal dout : std_logic_vector(4 downto 0);
signal reg_din : integer range 0 to 80000;
signal clk1m,clk1k,clk100 : std_logic;
begin
--分頻部分
process(clk)						      --產生1MHz的頻率
variable cnt : integer range 0 to 50;
begin
   if clk'event and clk='1' then cnt:=cnt+1;
      if cnt<50 then 
	    if cnt<25 then clk1m<='0';
	    else clk1m<='1';
	    end if;
	 else cnt:=0;
	 end if;
   end if;
end process;

process(clk1m)						      --產生1KHz的頻率
variable cnt : integer range 0 to 1000;
begin
   if clk1m'event and clk1m='1' then cnt:=cnt+1;
      if cnt<1000 then 
	    if cnt<500 then clk1k<='0';
	    else clk1k<='1';
	    end if;
	 else cnt:=0;
      end if;
   end if;
end process;

process(clk1k)							 --產生100Hz的頻率
variable cnt : integer range 0 to 10;
begin
   if clk1k'event and clk1k='1' then cnt:=cnt+1;
      if cnt<10 then 
	    if cnt<5 then clk100<='0';
	    else clk100<='1';
	    end if;
      else cnt:=0;
	 end if;
   end if;
end process;

--tlc549的控制部分
process(clk1k)
variable cnt : integer range 0 to 7;
variable datain : std_logic_vector(7 downto 0);
begin
   if clk1k'event and clk1k='1' then
      case current_state is
      when st1=>									  --將數據進行串并轉換
	            cs_tlc549<='0';
			  datain:=datain(6 downto 0)&din;			  --將讀取的數據向高位移位
			  clk_tlc549<='1';
			  current_state<=st2;
      when st2=>
	            cs_tlc549<='0';
			  clk_tlc549<='0';
			  current_state<=st1;
			  if cnt<7 then cnt:=cnt+1;				  --讀取8位數據
			  else cnt:=0;
			       reg_din<=conv_integer(datain)*195;       --每單位數字量乘以系數=當前電壓值;
				  reg_datain<=not(datain);
			  end if;
      when others=>
	            current_state<=st1;
      end case;
   end if;
end process;

--十進制-BCD碼轉換;
process(clk100)		   
variable reg : integer range 0 to 80000;
variable d1,d2,d3,d4 : std_logic_vector(3 downto 0);
begin
   if clk100'event and clk100='1' then
      case current_state1 is
	 when st0=>
	           reg:=reg_din;
			 d1:="0000";d2:="0000";d3:="0000";d4:="0000";
			 current_state1<=st1;
      when st1=>
	           if reg>9999 then reg:=reg-10000;d1:=d1+1;
			 elsif reg>999 then reg:=reg-1000;d2:=d2+1;
			 elsif reg>99 then reg:=reg-100;d3:=d3+1;
			 elsif reg>9 then reg:=reg-10;d4:=d4+1;
			 else current_state1<=st2;
			 end if;
      when st2=>
			 reg_dout<=d1&d2&d3&d4;
			 current_state1<=st0;
      when others=> 
	           current_state1<=st0;
      end case;
   end if;
end process;

--動態掃描控制;
process(clk1k)
begin
   if clk1k'event and clk1k='1' then
      case current_state2 is
      when st0=>							 --在發光二極管上顯示模數轉換后的數字量
                cs_led<="01";					 --熄滅數碼管
			 shift<="1111";                     
			 dout<="11111";
                current_state2<=st1;
      when st1=>							 --在數碼管的最高位顯示數據
	           cs_led<="10";					 --熄滅發光二極管
			 shift<="0111";				 --最高位數碼管顯示
			 dout<='0'&reg_dout(15 downto 12);	 --小數點顯示,并且將最高位的數據送給譯碼器
			 current_state2<=st2;
      when st2=>							 --在數碼管的次高位顯示數據
	           cs_led<="10";					 --熄滅發光二極管
			 shift<="1011";				 --次高位數碼管顯示
			 dout<='1'&reg_dout(11 downto 8);	 --小數點不顯示,將次高位的數據送給譯碼器
			 current_state2<=st3;
	 when st3=>							 --在數碼管的次低位顯示數據
	           cs_led<="10";					 --熄滅發光二極管
			 shift<="1101";				 --次低位數碼管顯示
			 dout<='1'&reg_dout(7 downto 4);	 --小數點不顯示,將次低位的數據送給譯碼器
			 current_state2<=st4;
      when st4=>							 --在數碼管的最低位顯示數據
	           cs_led<="10";					 --熄滅發光二極管
			 shift<="1110";				 --最低位數碼管顯示
			 dout<='1'&reg_dout(3 downto 0);	 --小數點不顯示,將最低位的數據送給譯碼器
			 current_state2<=st0;
      when others=>
	           current_state2<=st0;
	 end case;
   end if;
end process;

--**將BCD碼進行8段譯碼(包括小數點) **--
--**dout(4)代表小數點,低電平點亮  **--
code1: process (dout,reg_datain)                       
begin
   case dout(3 downto 0) is
   when "0000"=>dout_led<=dout(4)&"0000001";
   when "0001"=>dout_led<=dout(4)&"1001111";
   when "0010"=>dout_led<=dout(4)&"0010010";
   when "0011"=>dout_led<=dout(4)&"0000110";
   when "0100"=>dout_led<=dout(4)&"1001100";
   when "0101"=>dout_led<=dout(4)&"0100100";
   when "0110"=>dout_led<=dout(4)&"0100000";
   when "0111"=>dout_led<=dout(4)&"0001111";
   when "1000"=>dout_led<=dout(4)&"0000000";
   when "1001"=>dout_led<=dout(4)&"0000100";
                --"DOUT_LED"送給數碼管;
   when others=>dout_led<=reg_datain(7)&reg_datain(0)&reg_datain(1)&reg_datain(2)&reg_datain(3)&reg_datain(4)&reg_datain(5)&reg_datain(6); 
                --"DOUT_LED"送給發光二極管;
   end case;
end process;
end Behavioral;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜臀av一区二区在线免费观看| 色吧成人激情小说| 99久久er热在这里只有精品15| 3d成人动漫网站| 中文字幕一区二区三中文字幕| 丝袜亚洲另类丝袜在线| 成人av电影免费在线播放| 欧美一区二区三级| 亚洲一区在线观看免费观看电影高清| 国产伦精一区二区三区| 欧美日韩高清在线| 亚洲精品视频一区| 成人app网站| 久久人人超碰精品| 日韩国产精品久久久久久亚洲| 99精品在线免费| 中文在线一区二区| 卡一卡二国产精品| 欧美一区二区视频观看视频| 亚洲色图在线播放| 成人午夜免费av| 国产日韩欧美a| 国产在线精品免费| 欧美大尺度电影在线| 午夜视频一区在线观看| 欧美色涩在线第一页| ...av二区三区久久精品| 国产高清不卡一区二区| 日韩免费观看高清完整版| 日韩av中文字幕一区二区| 制服丝袜激情欧洲亚洲| 午夜国产不卡在线观看视频| 欧美午夜寂寞影院| 亚洲国产三级在线| 在线日韩国产精品| 亚洲线精品一区二区三区| 在线精品视频一区二区| 亚洲日本在线视频观看| 91麻豆视频网站| 亚洲自拍另类综合| 欧美日韩精品一区二区天天拍小说| 亚洲一线二线三线久久久| 欧美性videosxxxxx| 亚洲国产精品人人做人人爽| 91精品国产综合久久久蜜臀粉嫩| 天天综合网 天天综合色| 69精品人人人人| 国产综合久久久久久久久久久久| 久久精品视频免费| aa级大片欧美| 亚洲成av人综合在线观看| 日韩一区二区三| 懂色av一区二区三区蜜臀| 樱花草国产18久久久久| 欧美剧在线免费观看网站| 青青草成人在线观看| 久久人人爽人人爽| 色悠悠亚洲一区二区| 日本最新不卡在线| 国产午夜精品在线观看| 日本韩国一区二区| 美女视频黄免费的久久| 国产精品视频免费| 91黄色在线观看| 青青草国产精品97视觉盛宴| 国产精品网站导航| 色婷婷激情综合| 卡一卡二国产精品| 亚洲欧洲在线观看av| 欧美二区三区的天堂| 国产精品中文欧美| 亚洲综合免费观看高清在线观看| 精品久久国产老人久久综合| 99re这里只有精品6| 人人爽香蕉精品| 亚洲精品中文字幕乱码三区| 精品国产乱码久久久久久牛牛| 成人性生交大片免费看视频在线| 亚洲va欧美va人人爽| 国产欧美日韩在线看| 欧美片网站yy| 成人app网站| 久久国产生活片100| 伊人婷婷欧美激情| 久久久精品综合| 制服丝袜亚洲精品中文字幕| 色综合一区二区三区| 极品美女销魂一区二区三区| 香蕉加勒比综合久久| 亚洲天堂av一区| www国产精品av| 欧美一级一区二区| 在线免费观看日本一区| 丁香啪啪综合成人亚洲小说| 免费看欧美女人艹b| 亚洲亚洲精品在线观看| 亚洲欧洲精品天堂一级| 久久日韩精品一区二区五区| 91精品综合久久久久久| 欧美自拍偷拍午夜视频| av在线免费不卡| 成人丝袜高跟foot| 激情文学综合丁香| 青青草91视频| 日韩黄色片在线观看| 亚洲电影视频在线| 亚洲精品v日韩精品| 国产精品福利电影一区二区三区四区| 精品久久久久99| 久久只精品国产| 精品美女被调教视频大全网站| 日韩午夜av一区| 日韩欧美电影在线| 欧美大度的电影原声| 精品少妇一区二区三区在线视频| 欧美一级高清大全免费观看| 欧美一级国产精品| 精品久久国产老人久久综合| 日韩精品中午字幕| 久久综合色鬼综合色| 久久精品人人爽人人爽| 中文一区一区三区高中清不卡| 欧美国产激情二区三区 | 91成人在线精品| 91久久精品一区二区三区| 亚洲精品一线二线三线| 日韩精品一区二区在线观看| 日韩欧美的一区| 国产欧美精品在线观看| 国产精品嫩草影院av蜜臀| 亚洲天堂av老司机| 亚洲不卡在线观看| 蜜臀av一级做a爰片久久| 激情综合色播五月| 成人永久aaa| 日本高清不卡aⅴ免费网站| 欧美日本国产视频| 久久在线免费观看| 成人欧美一区二区三区在线播放| 亚洲欧美日韩精品久久久久| 日韩精品一区第一页| 久久99久久精品| 99久久免费视频.com| 欧美浪妇xxxx高跟鞋交| 精品日韩一区二区三区免费视频| 欧美极品少妇xxxxⅹ高跟鞋| 亚洲免费伊人电影| 日韩**一区毛片| 不卡高清视频专区| 在线视频国内一区二区| 欧美不卡激情三级在线观看| 亚洲日本乱码在线观看| 日本一道高清亚洲日美韩| 国产精品一二二区| 欧美性猛交xxxxxxxx| 久久久不卡网国产精品二区| 亚洲伊人伊色伊影伊综合网| 国产乱码精品一区二区三区忘忧草| 99国产精品久| 久久嫩草精品久久久精品| 一区二区三区鲁丝不卡| 国产一区二区视频在线播放| 色av综合在线| 国产日产欧美一区二区三区| 亚洲国产视频直播| 懂色中文一区二区在线播放| 日韩免费看的电影| 亚洲一二三四在线| 成人h动漫精品一区二| 欧美精品丝袜久久久中文字幕| 国产精品精品国产色婷婷| 九色porny丨国产精品| 欧美亚洲愉拍一区二区| 国产精品无人区| 精品制服美女丁香| 欧美日韩国产经典色站一区二区三区| 国产精品国产精品国产专区不蜜| 精油按摩中文字幕久久| 欧美在线视频日韩| 亚洲丝袜精品丝袜在线| 风流少妇一区二区| 久久久久久久久久看片| 奇米综合一区二区三区精品视频| 欧美在线三级电影| 国产精品萝li| 成人污视频在线观看| 国产农村妇女毛片精品久久麻豆| 久久激情五月婷婷| 日韩欧美在线影院| 性感美女久久精品| 欧美在线视频日韩| 夜夜揉揉日日人人青青一国产精品| 94色蜜桃网一区二区三区| 日本一区二区三区久久久久久久久不 | 欧美一区午夜精品| 午夜激情一区二区| 91精品在线麻豆| 久久国产精品区| 26uuu亚洲综合色| 国精产品一区一区三区mba视频|