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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? lcd0.vhd

?? 運(yùn)用Quartus在LCM中顯示靜態(tài)宮殿圖形
?? VHD
字號(hào):

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all; 
use ieee.std_logic_unsigned.all;


entity lcd0 is 
	generic ( asciiwidth : positive := 8);
	
	port (	clk       : in std_logic;
			reset      : in std_logic;  -- active low
			data_valid : in std_logic;  -- enables lcd to start new write cycle when high

		    ------interface to LCM----------------------------------------------
			lcd_data   : out std_logic_vector(asciiwidth-1 downto 0);
			lcd_select : out std_logic;  -- selects data(0) or instruction(1)
			lcd_rw     : out std_logic;  -- read (1) or write (0) data
			lcd_enable : out std_logic;  -- must be pulsed at clock frequency
			
			---------------------------------------------------------------------
			
			done       : out std_logic);  -- set low during write cycle, high if ready for new data
end lcd0;                                  

architecture behavioural of lcd0 is

constant countwidth : positive := 3;

type state_type is (warmup,setfunc,add,add2,dispoff, clear,clear1, setmode, home, idle, write1,write2,write3,setadd);

signal state : state_type;
signal rw_int, enable_int : std_logic;
signal count : std_logic_vector(countwidth downto 0);
signal count1 :std_logic_vector (6 downto 0);
signal write_mode : std_logic;       -- stores whether to enter write cycle after clearing display
signal last_data_valid : std_logic;  -- used to track rising edge on valid


begin
	
	lcd_rw <= rw_int;
	lcd_enable <= enable_int;
	enable_int <= not clk;  -- this is very important! if enable is not pulsed, lcd will not write
	

	state_set: process (clk, reset)
	begin
		if reset = '0' then
			count <= (others => '0');
			write_mode <= '1';
			state <= warmup;
			
		elsif (clk'event and clk = '1') then
			case state is
				when warmup =>
					
					lcd_select <= '0';
					rw_int <= '0';
					done <= '0';  
					lcd_data <= "00000000";  -- do nothing
					if count = "0111" then
						count <= (others => '0');
						state <= setfunc;
					else
						count <= count + '1';
						state <= warmup;
					end if;
					
				when setfunc =>
					lcd_data <= "00111000";
					if count = "1111" then
						state <= dispoff;
					else
						count <= count + '1';
						state <= setfunc;
					end if;
					
				when dispoff =>
					lcd_data <= "00001000";
					count <= (others => '0');
					state <= clear;
					
				when clear =>
					lcd_data <= "00000001";  -- clear display
					if count = "0101" then
						state <= setmode;
					else
						count <= count + '1';
						state <= clear;
					end if;
					
				when setmode =>
					lcd_data <= "00000110";
					count <= (others => '0');
					state <= home;
					
				when home =>
					lcd_data <= "00001100";
					if count = "0100" then
						if write_mode = '0' then
						  done <= '1';
						  state <= idle;
						else
						  done <= '0';
						  count <= (others => '0');
						  state <= add;
						end if;
					else
						count <= count + '1';
						state <= home;
					end if;	
            
				when idle =>
					
					if data_valid = '1' and last_data_valid = '0' then
						last_data_valid <= '1';
						count <= (others => '0');
						done <= '0';
						write_mode <= '1';
						state <= clear;
					else
						if data_valid = '0' then
							last_data_valid <= '0';
						end if;
						lcd_data <= (others => '0');
						done <= '1';
						state <= idle;
					end if;
					
				when add => 
					lcd_data <= "01000000";
					lcd_select <= '0';
					rw_int<='0';
					count <= (others => '0');
					state <=write1;
				
				when write1 =>
							if count1="1111110" then
							 state <= clear1;
							else
							
							CASE count1(5 downto 0) IS
								WHEN "000000" =>
						    		lcd_data <= "00000000";  						    		
								WHEN "000001" =>
							    	lcd_data <= "00000000";  
							    WHEN "000010" =>
							    	lcd_data <= "00000000";  
							    WHEN "000011" =>
						    		lcd_data <= "00000000";  
							    WHEN "000100" =>
							    	lcd_data <= "00000001";  
							    WHEN "000101" =>
							    	lcd_data <= "00000011";  
							    WHEN "000110" =>
							    	lcd_data <= "00000011";  
							    WHEN "000111" =>
							    	lcd_data <= "00000000";  
							------------------------------------------------
							    WHEN "001000" =>
							    	lcd_data <= "00000100";  
							    WHEN "001001" =>
							    	lcd_data <= "00000100";  
							    WHEN "001010" =>
							    	lcd_data <= "00001110";  
							    WHEN "001011" =>
							    	lcd_data <= "00011111";  
							    WHEN "001100" =>
							    	lcd_data <= "00011111";  
							    WHEN "001101" =>
							    	lcd_data <= "00011111";  
							    WHEN "001110" =>
							    	lcd_data <= "00001010";  
							    WHEN "001111" =>
							     	lcd_data <= "00000000";  
							--------------------------------------------
							    WHEN "010000" =>
						    		lcd_data <= "00000000";  						    		
								WHEN "010001" =>
							    	lcd_data <= "00000000";  
							    WHEN "010010" =>
							    	lcd_data <= "00000000";  
							    WHEN "010011" =>
						    		lcd_data <= "00000000";  
							    WHEN "010100" =>
							    	lcd_data <= "00010000";  
							    WHEN "010101" =>
							    	lcd_data <= "00011000";  
							    WHEN "010110" =>
							    	lcd_data <= "00011000";  
							    WHEN "010111" =>
							    	lcd_data <= "00000000";  
							------------------------------------------
							    WHEN "011000" =>
							    	lcd_data <= "00000000";  
							    WHEN "011001" =>
							    	lcd_data <= "00000000";  
							    WHEN "011010" =>
							    	lcd_data <= "00000000";  
							    WHEN "011011" =>
							    	lcd_data <= "00010111";  
							    WHEN "011100" =>
							    	lcd_data <= "00010000";  

							    WHEN "011101" =>
							    	lcd_data <= "00010111";  
							    WHEN "011110" =>
							    	lcd_data <= "00010111";  
							    WHEN "011111" =>
							     	lcd_data <= "00000000";  
							--------------------------------------------
			                    WHEN "100000" =>
						    		lcd_data <= "00000111";  					    		
								WHEN "100001" =>
							    	lcd_data <= "00001010";  
							    WHEN "100010" =>
							    	lcd_data <= "00010101"; 
							    WHEN "100011" =>
						    		lcd_data <= "00000011";  
							    WHEN "100100" =>
							    	lcd_data <= "00011100";  
							    WHEN "100101" =>
							    	lcd_data <= "00011111";  
							    WHEN "100110" =>
							    	lcd_data <= "00011111";  
							    WHEN "100111" =>
							    	lcd_data <= "00000000";  
							-------------------------------------------
							    WHEN "101000" =>
							    	lcd_data <= "00011111";  
							    WHEN "101001" =>
							    	lcd_data <= "00011111";  
							    WHEN "101010" =>
							    	lcd_data <= "00001110";  
							    WHEN "101011" =>
							    	lcd_data <= "00011111";  
							    WHEN "101100" =>
							    	lcd_data <= "00001110";  

							    WHEN "101101" =>
							    	lcd_data <= "00011111";  
							    WHEN "101110" =>
							    	lcd_data <= "00011111";  
							    WHEN "101111" =>
							     	lcd_data <= "00000000";  
							----------------------------------------
							    WHEN "110000" =>
						    		lcd_data <= "00011100";  						    		
								WHEN "110001" =>
							    	lcd_data <= "00001010";  
							    WHEN "110010" =>
							    	lcd_data <= "00010101";  
							    WHEN "110011" =>
						    		lcd_data <= "00011000";  
							    WHEN "110100" =>
							    	lcd_data <= "00000111";  
							    WHEN "110101" =>
							    	lcd_data <= "00011111";  
							    WHEN "110110" =>
							    	lcd_data <= "00011111";  
							    WHEN "110111" =>
							    	lcd_data <= "00000000";  
							
							    WHEN "111000" =>
							    	lcd_data <= "00000000";  
							    WHEN "111001" =>
							    	lcd_data <= "00000000";  
							    WHEN "111010" =>
							    	lcd_data <= "00000000";  
							    WHEN "111011" =>
							    	lcd_data <= "00011101"; 
							    WHEN "111100" =>
							    	lcd_data <= "00000001";  

							    WHEN "111101" =>
							    	lcd_data <= "00011101";  
							    WHEN "111110" =>
							    	lcd_data <= "00011101"; 
							    WHEN "111111" =>
							     	lcd_data <= "00000000";  
							        count1<=count1+1;
							    when others =>  null;
							
						end case;	
						lcd_select <= '1';
						count1 <= count1 + '1';
					    state <= write1;
					end if;
					
			when clear1 =>
				    lcd_select <= '0';
					lcd_data <= "00000001";  -- clear display
					if count = "0101" then
						state <= add2;
					else
						count <= count + '1';
						state <= clear1;
					end if;	
			when add2=>						
					lcd_data <= "10000000";
					lcd_select <= '0';
					count <= (others => '0');
					state <= write2;	
									
		-------------------------------------------------------	
		    when write2 => 	
							if count="1111" then
							state <= setadd;
							else
							CASE count IS
								WHEN "0000" =>
						    		lcd_data <= "11111110";  				    		
								WHEN "0001" =>
							    	lcd_data <= "11111110";  
							    WHEN "0010" =>
							    	lcd_data <= "11111110";  
							    WHEN "0011" =>
						    		lcd_data <= "11111110";  
							    WHEN "0100" =>
							    	lcd_data <= "11111110";  
							    WHEN "0101" =>
							    	lcd_data <= "11111110";  
							    WHEN "0110" =>
							    	lcd_data <= "11111110";  
							    WHEN "0111" =>
							    	lcd_data <= "00000000";  
							    WHEN "1000" =>
							    	lcd_data <= "00000001"; 
								whEN "1001" =>
							    	lcd_data <= "00000010"; 
							    WHEN "1010" =>
							    	lcd_data <= "11111110";  
							    WHEN "1011" =>
						    		lcd_data <= "11111110";  
							    WHEN "1100" =>
							    	lcd_data <= "11111110"; 
							    WHEN "1101" =>
							    	lcd_data <= "11111110";  
							    WHEN "1110" =>
							    	lcd_data <= "11111110";  
							    WHEN "1111" =>
							    	lcd_data <= "11111110";  
							    when others =>  null;
							   
							END CASE;
			
							lcd_select <= '1';
							count <= count + '1';
						    state <= write2;
						end if;
			when setadd =>						
					lcd_data <= "11000000";
					lcd_select <= '0';
					count <= (others => '0');
					state <= write3;
					
			when write3 =>
								if count="1111" then
								state <= add2;
								else
								case count is 
					            WHEN "0000" =>
						    		lcd_data <= "11111110";  			    		
								WHEN "0001" =>
							    	lcd_data <= "11111110";  
							    WHEN "0010" =>
							    	lcd_data <= "11111110";  
							    WHEN "0011" =>
						    		lcd_data <= "11111110";  
							    WHEN "0100" =>
							    	lcd_data <= "11111110";  
							    WHEN "0101" =>
							    	lcd_data <= "11111110";  
							    WHEN "0110" =>
							    	lcd_data <= "00000011";  
							    WHEN "0111" =>
							    	lcd_data <= "00000100"; 
							    WHEN "1000" =>
							    	lcd_data <= "00000101"; 
							    WHEN "1001" =>
							    	lcd_data <= "00000110";  
							    WHEN "1010" =>
							    	lcd_data <= "00000111";  
							    WHEN "1011" =>
							    	lcd_data <= "00100000";  
							    WHEN "1100" =>
							    	lcd_data <= "00100000";  
							    WHEN "1101" =>
							    	lcd_data <= "00100000"; 
							    WHEN "1110" =>
							    	lcd_data <= "00100000";  
							    WHEN "1111" =>
							    	lcd_data <= "00100000";  
							    when others =>  null;
							END CASE;
							lcd_select <= '1';
							count <= count + '1';
						    state <= write3;
						end if;					      					
			end case;
		end if;
	end process;	
end behavioural;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产拍揄自揄精品视频麻豆| 91精品国产美女浴室洗澡无遮挡| 亚洲va中文字幕| 精品成a人在线观看| 91网上在线视频| 国产主播一区二区| 亚洲电影中文字幕在线观看| 国产亚洲一区二区三区| 91麻豆精品国产91久久久资源速度 | 一区二区三区中文字幕| 日韩精品一区二区三区视频播放 | 国内精品在线播放| 亚洲一区二区高清| 亚洲色图色小说| 久久综合久久鬼色| 91精品国产色综合久久ai换脸| 99re这里都是精品| 高清不卡一区二区在线| 久久99精品久久久久久| 日韩电影免费一区| 亚洲综合色网站| 中文字幕一区二区三区色视频| 精品国产免费视频| 日韩欧美国产综合| 欧美一区二区日韩| 欧美一区二区三区免费观看视频 | 51久久夜色精品国产麻豆| 91丨九色丨黑人外教| 成人综合婷婷国产精品久久蜜臀| 久久精品久久久精品美女| 天天色 色综合| 亚洲国产wwwccc36天堂| 亚洲午夜精品在线| 亚洲精品国产高清久久伦理二区| 国产精品美女视频| 国产日韩欧美精品一区| 久久久精品中文字幕麻豆发布| 精品国产一区二区三区久久久蜜月 | 欧美国产欧美综合| 久久欧美中文字幕| 久久免费国产精品| 久久久精品一品道一区| 国产午夜精品久久久久久久| 国产亚洲一区二区三区| 国产精品午夜久久| 中文字幕在线观看不卡| 中文字幕亚洲视频| 国产一区二区久久| 奇米影视7777精品一区二区| 美美哒免费高清在线观看视频一区二区 | 久久久久久电影| 久久精品亚洲麻豆av一区二区 | 日韩久久免费av| 精品日韩一区二区| 久久日韩粉嫩一区二区三区| 国产三区在线成人av| 中日韩av电影| 亚洲综合网站在线观看| 亚洲成在人线在线播放| 石原莉奈在线亚洲二区| 久久99精品一区二区三区| 国产乱人伦偷精品视频免下载 | 日韩精品亚洲一区二区三区免费| 丝袜a∨在线一区二区三区不卡| 蜜桃视频第一区免费观看| 韩国精品在线观看| 91香蕉视频黄| 91麻豆精品久久久久蜜臀| 国产香蕉久久精品综合网| 亚洲男人的天堂网| 日韩极品在线观看| 国产精品综合二区| 色综合咪咪久久| 日韩欧美激情四射| 中文字幕av不卡| 午夜影院久久久| 国产一区二区视频在线| 99久久99久久精品国产片果冻| 欧美日韩国产成人在线免费| 欧美精品一区二区三区很污很色的| 国产精品日产欧美久久久久| 亚洲国产综合91精品麻豆| 激情综合色播激情啊| 91亚洲精品久久久蜜桃网站 | 不卡的av网站| 欧美日韩dvd在线观看| 337p粉嫩大胆色噜噜噜噜亚洲| 亚洲日本va午夜在线电影| 石原莉奈在线亚洲三区| 成人福利视频网站| 日韩一区二区视频| 亚洲男人的天堂在线观看| 精品中文av资源站在线观看| 日本高清不卡视频| 国产欧美日韩不卡| 男女男精品视频| 色婷婷久久综合| 久久精品亚洲精品国产欧美kt∨| 午夜免费欧美电影| 91欧美一区二区| 久久久亚洲高清| 日韩av不卡一区二区| 成人免费高清在线| 精品欧美乱码久久久久久| 亚洲一区二区三区小说| 成人av电影在线网| 视频一区在线视频| 色婷婷久久久综合中文字幕| 久久免费国产精品| 久久精品噜噜噜成人av农村| 欧美无乱码久久久免费午夜一区| 国产欧美精品国产国产专区 | 日韩理论电影院| 国产精品中文字幕日韩精品 | 777奇米四色成人影色区| 亚洲人快播电影网| 亚洲一区二区四区蜜桃| 国产精品初高中害羞小美女文| 日本亚洲三级在线| 欧美揉bbbbb揉bbbbb| 欧美日韩在线精品一区二区三区激情 | 欧美日韩精品欧美日韩精品一 | 久久久久久久电影| 国产精品成人免费精品自在线观看| 中文字幕字幕中文在线中不卡视频| 五月天国产精品| 国产精品一区二区不卡| 欧美日韩三级一区| 精品播放一区二区| 亚洲综合久久久| 黄色资源网久久资源365| 欧美亚男人的天堂| 国产日本欧美一区二区| 视频一区欧美精品| 91浏览器打开| 精品国产乱码久久久久久1区2区| 亚洲天天做日日做天天谢日日欢| 美国欧美日韩国产在线播放| 色婷婷久久久综合中文字幕| 精品入口麻豆88视频| 亚洲午夜久久久久久久久久久| 国产精品1区二区.| 欧美一区二区三区小说| 一二三四区精品视频| 国产剧情一区二区| 欧美一卡2卡3卡4卡| 一区二区三区国产豹纹内裤在线| 国产精品资源网| 精品久久久久久久一区二区蜜臀| 亚洲中国最大av网站| a亚洲天堂av| 国产欧美一区二区精品忘忧草| 日本sm残虐另类| 欧美剧情片在线观看| 亚洲一二三区在线观看| 色综合久久综合网欧美综合网| 国产色一区二区| 韩国视频一区二区| 欧美一区二区视频在线观看2020| 亚洲一区欧美一区| 色婷婷香蕉在线一区二区| 中文字幕日韩欧美一区二区三区| 国产一区二区三区高清播放| 日韩女优制服丝袜电影| 日本亚洲免费观看| 在线电影国产精品| 日韩中文字幕1| 欧美日韩精品一二三区| 国产馆精品极品| 欧美刺激脚交jootjob| 蜜臀久久99精品久久久久宅男| 欧美日本在线观看| 亚洲一级二级三级| 欧美日韩中文另类| 视频一区在线播放| 欧美岛国在线观看| 韩国视频一区二区| 欧美国产成人在线| www.亚洲在线| 一区二区三区欧美| 精品视频一区二区不卡| 性久久久久久久久| 日韩女优视频免费观看| 国产一区二区三区在线观看免费| 久久久午夜精品理论片中文字幕| 国产成人在线视频网站| 国产精品福利一区| 色婷婷激情综合| 午夜国产精品一区| 日韩欧美国产成人一区二区| 国产一区二区在线免费观看| 国产日韩v精品一区二区| 成人性生交大合| 亚洲另类中文字| 欧美一区二区三区电影| 国产精品主播直播| 一区二区久久久久| 日韩视频国产视频| 高清成人免费视频| 午夜日韩在线电影|