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

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

?? test2.vhd

?? I2C讀程序
?? VHD
字號:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL; --讀成功

entity test2 is
    Port ( sysclk,reset : in std_logic;
           sda,scl : inout std_logic;
		 cs:out std_logic;
		 led:out std_logic_vector(8 downto 1));
end test2;
architecture Behavioral of test2 is
type state is (prepare,start,transmit_slave_address,check_ack1,transmit_sub_address,check_ack2,
nack,start1,transmit_read,check_ack3,read_data,stop,idel);     --定義狀態機的各子狀態;
signal current_state:state;                         --定義信號;
signal clock:std_logic;

begin
pulse:process(sysclk,reset)                    --進程1,分頻得到周期為0.1s的時鐘信號
variable count:integer range 0 to 5000000;
begin
   if reset='0' then count:=0;
	  elsif rising_edge(sysclk) then
	    count:=count+1;
       if count=2500000 then clock<='1';
		   elsif count=5000000 then clock<='0';count:=0;    --frequency:10Hz time:0.1s
		   end if;
	  end if;
end process pulse;
statemachine:process(clock,reset)               --進程2,狀態機的轉換
variable slave_address,sub_address:std_logic_vector(8 downto 1);
variable cnt:std_logic_vector(6 downto 0);
variable cnt1:integer range 0 to 8;
variable count1:integer range 0 to 40;
begin
if  reset='0'  then  count1:=0;cnt:="0000000";cnt1:=8;cs<='1';
sda<='1';scl<='1';slave_address:="10100000";sub_address:="00000011";
led<="11111111";
current_state<=prepare;

   	elsif rising_edge(clock) then  
	 case current_state is
	 when prepare=>cnt:=cnt+1;--   --準備狀態,等各個器件復位
	      if cnt="0000010" then cnt:="0000000";current_state<=start;
	   	 else current_state<=prepare;
		  end if;
	 when start=>count1:=count1+1; led<="00000001";       --起始信號產生狀態
	                    case count1 is
				    when 1=>sda<='1';
				    when 3=>scl<='1';
				    when 5=>sda<='0';
				    when 7=>scl<='0';
				    when 9=>count1:=0;current_state<=transmit_slave_address;
				    when others=>null;
				    end case;
	 when transmit_slave_address=>count1:=count1+1;led<="00000010";  --發送器件從地址
	                     case count1 is
				    when 1=>sda<=slave_address(cnt1);
				    when 3=>scl<='1';
				    when 6=>scl<='0';
				    when 8=>cnt1:=cnt1-1;count1:=0;
					  if cnt1=0 then cnt1:=8;
					  current_state<=check_ack1;
					  else current_state<=transmit_slave_address;
					  end if;
				    when others=>null;
				    end case;
	 when check_ack1=>count1:=count1+1;led<="00000100";         --查詢應答信號
	                     case count1 is
				    when 3=>sda<='0';
				    when 6=>scl<='1';
				    
				    when 8=>scl<='0';
				    				    				    
				    when 10=>
				           current_state<=transmit_sub_address;
						  
						  count1:=0;
				    when others=>null;
				    end case;
       when transmit_sub_address=>count1:=count1+1;led<="00001000";  --發送器件子地址
	                     case count1 is				   
				    when 1=>sda<=sub_address(cnt1);
				    when 3=>scl<='1';
				    when 6=>scl<='0';
				    when 9=>cnt1:=cnt1-1;count1:=0;
					  if cnt1=0 then cnt1:=8;
					  current_state<=check_ack2;
					  else current_state<=transmit_sub_address;
					  end if;
				    when others=>null;
				    end case;
	 when check_ack2=>count1:=count1+1;led<="00010000";       --查詢應答信號
	                     case count1 is
				    when 3=>sda<='0';
				    when 6=>scl<='1';
				    
				    when 8=>scl<='0';
				   
				    when 10=>
				            current_state<=start1;
						  
						  count1:=0;
				    when others=>null;
				    end case;
	
	 when start1=>count1:=count1+1;led<="01000000";        --重新起始信號產生狀態
	                    case count1 is
				    when 1=>sda<='1';
				    when 3=>scl<='1';
				    when 6=>sda<='0';
				    when 8=>scl<='0';
				    when 10=>count1:=0;current_state<=transmit_read;
				    slave_address:="10100001";
				    when others=>null;
				    end case;
	 when transmit_read=>count1:=count1+1;led<="10000000";  --發送器件從地址
	                     case count1 is
				    when 1=>sda<=slave_address(cnt1);
				    when 4=>scl<='1';
				    when 6=>scl<='0';
				    when 9=>cnt1:=cnt1-1;count1:=0;
					  if cnt1=0 then cnt1:=8;
					  current_state<=check_ack3;
					  else current_state<=transmit_read;
					  end if;
				    when others=>null;
				    end case;
	 when check_ack3=>count1:=count1+1;led<="00000000";         --查詢應答信號
	                     case count1 is
				    when 3=>sda<='0';
				    when 6=>scl<='1';
				    
				    when 8=>scl<='0';
				    
				    				    
				    when 10=>
				           current_state<=read_data;
						  
						  count1:=0;
				    when others=>null;
				    end case;
      
	 when read_data=>count1:=count1+1;  --讀操作
	                     case count1 is
				    when 1=>sda<='Z';
				    
				    when 4=>scl<='1';
				    when 8=>led(cnt1)<=sda;
				    
				    when 10=>scl<='0';
				    
				    when 12=>cnt1:=cnt1-1;count1:=0;
					  if cnt1=0 then cnt1:=8;
					  current_state<=stop;
					  else current_state<=read_data;
					  end if;
				    when others=>null;
				    end case;
	  when stop=>count1:=count1+1;    --產生停止信號
	                           case count1 is
				          when 1=>sda<='0';
				          when 3=>scl<='1';
				          when 6=>sda<='1';
   			              when 8=>count1:=0;current_state<=idel;
				          when others=>null;
						end case;
	  when idel=>sda<='1';scl<='1';current_state<=idel;	
	when others=>null;
    end case;
  end if;
 end process;			          
end Behavioral;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品三级视频| 九色综合国产一区二区三区| 亚洲国产日韩a在线播放性色| 老司机免费视频一区二区三区| 97国产精品videossex| 日韩欧美三级在线| 亚洲线精品一区二区三区八戒| 成人亚洲一区二区一| 精品美女在线观看| 肉肉av福利一精品导航| 91视频精品在这里| 日本一区二区免费在线| 蜜桃av噜噜一区| 在线不卡免费欧美| 亚洲不卡av一区二区三区| av资源网一区| 国产精品欧美经典| 成人三级伦理片| 国产喷白浆一区二区三区| 狠狠色丁香婷综合久久| 日韩欧美一级精品久久| 日日摸夜夜添夜夜添精品视频 | 蜜桃视频一区二区三区 | 亚洲一区二三区| 91丝袜国产在线播放| 国产精品免费免费| 大美女一区二区三区| 久久精品在线免费观看| 激情综合色播五月| 欧美videos大乳护士334| 奇米综合一区二区三区精品视频| 欧美日韩一级二级| 婷婷丁香久久五月婷婷| 欧美日韩成人在线一区| 午夜精品久久久久久久99樱桃| 欧美午夜影院一区| 日韩精品欧美精品| 欧美一级久久久久久久大片| 日韩精品成人一区二区三区| 欧美日韩午夜在线| 免播放器亚洲一区| 国产亚洲短视频| av成人老司机| 午夜精品久久久久久久99水蜜桃 | 男女男精品视频| 日韩欧美一区二区不卡| 国产精品一二三四区| 欧美国产精品劲爆| 91极品视觉盛宴| 性做久久久久久| 欧美成人在线直播| 成人综合在线观看| 亚洲一区二区四区蜜桃| 日韩一级在线观看| 丁香天五香天堂综合| 国产精品日韩精品欧美在线| 91激情五月电影| 看电视剧不卡顿的网站| 国产欧美视频在线观看| 99国产精品国产精品毛片| 亚洲高清免费一级二级三级| 国产精品久久777777| 99久久久精品| 日韩av中文在线观看| 欧美激情综合网| 欧美老年两性高潮| 成人一区二区三区视频| 日韩影院免费视频| 国产精品狼人久久影院观看方式| 欧美日韩一区不卡| 丰满亚洲少妇av| 婷婷丁香激情综合| 亚洲欧美日韩久久| 久久综合九色综合欧美就去吻| 北岛玲一区二区三区四区| 蜜桃av一区二区三区电影| 自拍偷在线精品自拍偷无码专区 | 欧美美女一区二区在线观看| 国产精品一区免费视频| 亚洲成av人片观看| 《视频一区视频二区| wwww国产精品欧美| 6080午夜不卡| 99久久国产综合精品麻豆| 麻豆国产精品一区二区三区| 伊人开心综合网| 欧美国产一区二区| 精品国免费一区二区三区| 欧美日韩小视频| 色综合久久综合网97色综合| 国产91清纯白嫩初高中在线观看| 日韩电影免费一区| 亚洲高清久久久| 亚洲狠狠丁香婷婷综合久久久| 国产欧美一区二区精品婷婷| 精品久久久久久久一区二区蜜臀| 欧美日韩激情一区二区| 日本韩国精品一区二区在线观看| 成人精品视频一区二区三区尤物| 国内精品久久久久影院一蜜桃| 男男gaygay亚洲| 青青国产91久久久久久| 亚洲成人一区在线| 亚洲黄色尤物视频| 亚洲精品乱码久久久久久久久| 国产精品热久久久久夜色精品三区| 欧美电视剧免费全集观看| 日韩午夜精品电影| 欧美一区二区三区在线| 欧美精品丝袜中出| 欧美肥妇bbw| 欧美一区二区大片| 欧美大肚乱孕交hd孕妇| 欧美成人a在线| 久久久久成人黄色影片| 久久精品这里都是精品| 国产色综合一区| 国产精品久久夜| 亚洲欧美日韩精品久久久久| 一区二区三区在线视频观看| 亚洲欧美激情在线| 午夜视频在线观看一区| 日本中文字幕一区二区视频| 日本一不卡视频| 国产精品中文字幕欧美| 高清免费成人av| 99久久99久久精品免费观看| 色综合久久精品| 欧美日韩小视频| 精品福利一二区| 中文字幕一区二区不卡| 亚洲一区免费观看| 久久99精品一区二区三区| 国产精品亚洲第一| 色综合久久中文综合久久牛| 欧美色图免费看| 久久亚洲综合色一区二区三区| 国产日韩亚洲欧美综合| 一区二区三区四区激情| 99精品国产99久久久久久白柏| 99热精品国产| 91精品婷婷国产综合久久性色 | 精品国产免费人成电影在线观看四季| 久久久久久久精| 专区另类欧美日韩| 日韩经典中文字幕一区| 国产精品一二三在| 在线观看精品一区| 精品国产乱码久久久久久图片 | 一区二区三区中文字幕精品精品 | 午夜精品一区二区三区免费视频| 久久99久久99精品免视看婷婷| 99久久99久久精品国产片果冻| 欧美日韩精品三区| 欧美激情中文字幕| 日韩经典中文字幕一区| 99热这里都是精品| 久久综合九色综合欧美亚洲| 一区二区在线观看视频在线观看| 麻豆精品视频在线| 色综合久久综合网97色综合| 欧美精品一区二区三区视频| 亚洲综合男人的天堂| 成人影视亚洲图片在线| 日韩欧美国产三级| 亚洲一区二区在线播放相泽| 国产成人av自拍| 91精品国产福利| 亚洲天堂成人网| 福利一区二区在线观看| 日韩欧美在线123| 亚洲国产另类av| 91浏览器打开| 中日韩免费视频中文字幕| 久久成人综合网| 7777精品伊人久久久大香线蕉超级流畅| 中文字幕一区二区三区不卡| 国产毛片精品国产一区二区三区| 欧美日韩国产在线播放网站| 综合激情成人伊人| 波多野结衣亚洲| 日本一区二区三区视频视频| 国产一区二区精品久久99| 欧美二区在线观看| 亚洲va天堂va国产va久| 一本大道综合伊人精品热热 | 不卡一二三区首页| 欧美国产精品一区二区三区| 国产原创一区二区| 精品乱码亚洲一区二区不卡| 蜜桃视频第一区免费观看| 欧美精品一级二级| 日韩精品国产精品| 日韩一区二区在线观看| 日本亚洲最大的色成网站www| 欧美一区二区三区在线电影| 久久国产夜色精品鲁鲁99| 日韩欧美一级精品久久| 国产综合一区二区| 久久免费午夜影院|