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

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

?? lcd.vhd

?? 1602液晶顯示塊在c51單片機下的編程實例。
?? VHD
字號:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;



entity lcd is
    Port ( clk : in std_logic;				 --3.125MHZ FROM div16 Module
           Reset : in std_logic;
           lcd_rs : out std_logic;
           lcd_rw : out std_logic;
		   lcd_e  : buffer std_logic;
		   data : out std_logic_vector(7 downto 0);
		   stateout: out std_logic_vector(10 downto 0)
		   );
end lcd;


architecture Behavioral of lcd is

constant IDLE :         std_logic_vector(10 downto 0) :="00000000000";
constant CLEAR :        std_logic_vector(10 downto 0) :="00000000001";
constant RETURNCURSOR : std_logic_vector(10 downto 0) :="00000000010" ;
constant SETMODE      : std_logic_vector(10 downto 0) :="00000000100";
constant SWITCHMODE   : std_logic_vector(10 downto 0) :="00000001000";
constant SHIFT        : std_logic_vector(10 downto 0) :="00000010000";
constant SETFUNCTION  : std_logic_vector(10 downto 0) :="00000100000";
constant SETCGRAM     : std_logic_vector(10 downto 0) :="00001000000";
constant SETDDRAM     : std_logic_vector(10 downto 0) :="00010000000";
constant READFLAG     : std_logic_vector(10 downto 0) :="00100000000";
constant WRITERAM     : std_logic_vector(10 downto 0) :="01000000000";
constant READRAM      : std_logic_vector(10 downto 0) :="10000000000";




constant cur_inc      : std_logic :='1';
constant cur_dec      : std_logic :='0';
constant cur_shift    : std_logic :='1';
constant cur_noshift  : std_logic :='0';
constant open_display : std_logic :='1';
constant open_cur     : std_logic :='0';
constant blank_cur    : std_logic :='0';
constant shift_display : std_logic :='1';
constant shift_cur    : std_logic :='0';
constant right_shift  : std_logic :='1';
constant left_shift   : std_logic :='0';
constant datawidth8   : std_logic :='1';
constant datawidth4   : std_logic :='0';
constant twoline      : std_logic :='1';
constant oneline      : std_logic :='0';
constant font5x10     : std_logic :='1';
constant font5x7      : std_logic :='0';

signal state : std_logic_vector(10 downto 0);
signal counter : integer range 0 to 127;
signal div_counter : integer range 0 to 15;
signal flag        : std_logic;
constant DIVSS : integer :=15;

signal char_addr : std_logic_vector(5 downto 0);
signal data_in   : std_logic_vector(7 downto 0);
component char_ram
          port( address : in std_logic_vector(5 downto 0) ;
	            data    : out std_logic_vector(7 downto 0)
		       );
end component;


signal clk_int: std_logic;

signal   clkcnt:    std_logic_vector(15 downto 0);
constant divcnt:    std_logic_vector(15 downto 0):="1001110001000000";
signal   clkdiv:    std_logic;
signal   tc_clkcnt: std_logic;
begin

process(clk,reset)
begin
  if(reset='0')then
  clkcnt<="0000000000000000";
  elsif(clk'event and clk='1')then
     if(clkcnt=divcnt)then
     clkcnt<="0000000000000000";
     else
     clkcnt<=clkcnt+1;
     end if;
  end if;
end process;
tc_clkcnt<='1' when clkcnt=divcnt else
           '0';

process(tc_clkcnt,reset)
begin
   if(reset='0')then
   clkdiv<='0';
   elsif(tc_clkcnt'event and tc_clkcnt='1')then
   clkdiv<=not clkdiv;
   end if;
end process;


process(clkdiv,reset)
begin
  if(reset='0')then
    clk_int<='0';
  elsif(clkdiv'event and clkdiv='1')then
    clk_int<= not clk_int;
  end if;
end process;

process(clkdiv,reset)
begin
   if(reset='0')then
     lcd_e<='0';
   elsif(clkdiv'event and clkdiv='0')then
     lcd_e<= not lcd_e;
   end if;
end process;

aa:char_ram
   port map( address=>char_addr,data=>data_in);

    lcd_rs <= '1' when state =WRITERAM or state = READRAM else '0';
	lcd_rw <= '0' when state =CLEAR or state = RETURNCURSOR or state=SETMODE or state=SWITCHMODE or state=SHIFT or state= SETFUNCTION or state=SETCGRAM or state =SETDDRAM or state =WRITERAM else
	          '1';
     data <=    "00000001" when state =CLEAR else
	           "00000010" when state =RETURNCURSOR else
			 "000001"& cur_inc & cur_noshift  when state = SETMODE else
			 "00001" & open_display &open_cur & blank_cur when state =SWITCHMODE else
			 "0001" & shift_display &left_shift &"00" when state = SHIFT else
			 "001" & datawidth8 & twoline &font5x10 & "00" when state=SETFUNCTION else
			 "01000000" when state =SETCGRAM else
			 "10000000" when state =SETDDRAM and counter =0 else
			 "11000000" when state =SETDDRAM and counter /=0 else
			  data_in when state = WRITERAM else
			 "ZZZZZZZZ";

   char_addr  <=conv_std_logic_vector( counter,6) when state =WRITERAM and counter<40 else
	            conv_std_logic_vector( counter-41+8,6) when state= WRITERAM and counter>40 and counter<81-8 else
			    conv_std_logic_vector( counter-81+8,6) when state= WRITERAM and counter>81-8 and counter<81 else
				"000000";
						
						
  stateout<=state;

  process(clk_int,Reset)
  begin
      if(Reset='0')then 
		   state<=IDLE;
		   counter<=0;
		   flag<='0';
           div_counter<=0;
      elsif(clk_int'event and clk_int='1')then 
		   case state is
			when IDLE =>
			        if(flag='0')then 
						     state<=SETFUNCTION;
							 flag<='1';
							 counter<=0;
							 div_counter<=0;
                    else
						 if(div_counter<DIVSS )then
							 div_counter<=div_counter +1;
                             state<=IDLE;
                         else
							 div_counter<=0;
							 state <=SHIFT;
                         end if;
                    end if;
         when CLEAR    =>
			           state<=SETMODE;
         when SETMODE  =>
			           state<=WRITERAM;
         when RETURNCURSOR =>
			           state<=WRITERAM;
         when SWITCHMODE =>
			           state<=CLEAR;
         when SHIFT      =>
			           state<=IDLE;
         when SETFUNCTION =>
			           state<=SWITCHMODE;
         when SETCGRAM   =>
			           state<=IDLE;
         when SETDDRAM   =>
			           state<=WRITERAM;
         when READFLAG   =>
			           state<=IDLE;
         when WRITERAM   =>
			           if(counter =40)then 
						     state<=SETDDRAM;
							 counter<=counter+1;
                        elsif(counter/=40 and counter<81)then
						     state<=WRITERAM;
							 counter<=counter+1;
                        else
						    state<=SHIFT;
                    end if;
         when READRAM =>
			           state<=IDLE;
         when others  =>
			           state<=IDLE;
         end case;
    end if;
  end process;

  
end Behavioral;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区视频在线观看| 色www精品视频在线观看| 亚洲色图视频网| 国产午夜一区二区三区| 91精品国产综合久久精品图片| 色偷偷成人一区二区三区91 | 日韩欧美中文字幕一区| 欧美在线免费观看亚洲| 91在线视频官网| 94-欧美-setu| 色天使色偷偷av一区二区| 色综合久久久久综合体| 色老汉一区二区三区| 日本精品裸体写真集在线观看| 99国产精品一区| 色婷婷av一区二区三区软件 | 久久精品99国产国产精| 久久99精品久久只有精品| 精品一区在线看| 国产精一区二区三区| 高清久久久久久| 91麻豆国产在线观看| 欧美日韩激情一区二区三区| 91精品啪在线观看国产60岁| 日韩女同互慰一区二区| 国产精品日韩成人| 亚洲一区二区三区视频在线| 免费成人在线网站| 国产成人在线网站| 色综合久久久久久久久久久| 欧美精品久久99| 久久久久亚洲蜜桃| 一区二区三区日韩欧美| 亚洲成av人片| 国产老女人精品毛片久久| 99精品视频在线观看| 欧美男人的天堂一二区| 久久久91精品国产一区二区三区| 国产精品无遮挡| 丝袜亚洲另类欧美综合| 成人在线综合网站| 正在播放亚洲一区| 国产精品麻豆久久久| 日韩电影一二三区| 色综合欧美在线视频区| 26uuu亚洲综合色欧美| **欧美大码日韩| 免费观看在线色综合| 91香蕉视频在线| 久久亚洲免费视频| 亚洲综合清纯丝袜自拍| 国产sm精品调教视频网站| 欧美军同video69gay| 国产精品久久久久久久浪潮网站| 日本视频在线一区| 91视频一区二区| 国产欧美日韩另类一区| 日本不卡一区二区三区| 色av一区二区| 国产精品初高中害羞小美女文| 蜜臀a∨国产成人精品| 色综合一个色综合亚洲| 26uuu亚洲综合色| 日本美女视频一区二区| 日本精品免费观看高清观看| 国产精品久久精品日日| 国产米奇在线777精品观看| 欧美精品v国产精品v日韩精品| 亚洲色图一区二区三区| 成人av网站大全| 国产嫩草影院久久久久| 国产精品一区二区黑丝| ww久久中文字幕| 极品少妇xxxx精品少妇| 精品1区2区在线观看| 久久精品国产精品亚洲红杏| 欧美午夜精品一区| 亚洲成精国产精品女| 欧美色综合网站| 午夜精品一区在线观看| 欧美视频精品在线| 日韩黄色一级片| 日韩欧美区一区二| 精品写真视频在线观看| 精品福利视频一区二区三区| 久色婷婷小香蕉久久| 日韩亚洲欧美中文三级| 另类成人小视频在线| 精品剧情在线观看| 国产精品夜夜嗨| 国产精品久久久久一区| 色综合av在线| 日韩成人一级片| 日韩美女一区二区三区四区| 国产麻豆成人传媒免费观看| 国产亚洲一区二区三区四区| 成人一道本在线| 一区二区不卡在线视频 午夜欧美不卡在 | 亚洲精品在线三区| 成人黄色片在线观看| 亚洲欧美另类图片小说| 欧美日韩不卡在线| 美国十次综合导航| 国产精品毛片久久久久久| 欧美日韩亚洲丝袜制服| 国产又粗又猛又爽又黄91精品| 国产精品久久久久久久久晋中| 欧美日韩不卡在线| 成人黄色777网| 天天亚洲美女在线视频| 国产日韩精品一区二区三区在线| 一本一道久久a久久精品综合蜜臀| 日韩黄色小视频| 日韩理论片中文av| 欧美一级在线视频| 99精品黄色片免费大全| 老司机免费视频一区二区三区| 综合激情成人伊人| 精品美女一区二区| 欧美中文字幕一区| 国产99久久久精品| 免费亚洲电影在线| 一区二区三区在线免费| 精品理论电影在线观看| 日本韩国一区二区三区| 麻豆一区二区99久久久久| 国产三级一区二区三区| 久久99国产精品免费| 樱桃国产成人精品视频| 日韩欧美综合在线| 91蜜桃在线免费视频| 麻豆免费精品视频| ...av二区三区久久精品| 777色狠狠一区二区三区| 成人高清伦理免费影院在线观看| 一区二区三区在线免费视频| 精品日韩欧美一区二区| 7777精品伊人久久久大香线蕉经典版下载| 经典三级一区二区| 亚洲一区二区三区四区不卡| 久久―日本道色综合久久| 日本高清不卡在线观看| 99精品偷自拍| 国产真实精品久久二三区| 亚洲国产乱码最新视频| 国产精品久久久久影院亚瑟| 欧美丰满美乳xxx高潮www| 色av综合在线| 国产91丝袜在线18| 日本亚洲电影天堂| 一区二区三区在线免费| 亚洲黄色小说网站| 欧美国产日韩亚洲一区| 精品国产一区二区三区久久久蜜月 | 亚洲一区二区综合| 亚洲美女在线一区| 国产丝袜欧美中文另类| 日韩欧美中文字幕一区| 欧美日韩在线播放三区四区| 99精品国产91久久久久久| 99久久久国产精品免费蜜臀| 国产真实乱对白精彩久久| 视频在线观看一区二区三区| 亚洲伦理在线精品| 国产精品天天看| 亚洲摸摸操操av| 日韩伦理电影网| 国产精品久久久久久久裸模 | 免费成人结看片| 久久不见久久见免费视频7| 五月婷婷色综合| 亚洲午夜私人影院| 亚洲一区二区三区自拍| 国产亲近乱来精品视频| 中文字幕一区日韩精品欧美| 国产女人18毛片水真多成人如厕| 欧美成人精品福利| 欧美成人精品二区三区99精品| 欧美日韩国产成人在线免费| 精品999久久久| 国产日韩一级二级三级| 国产欧美一区二区三区网站| 日本一二三不卡| 午夜欧美大尺度福利影院在线看| 亚洲国产成人av好男人在线观看| 亚洲国产精品欧美一二99| 亚洲大片精品永久免费| 亚洲高清免费在线| 国产一区二区导航在线播放| 床上的激情91.| 97精品久久久午夜一区二区三区| 99精品国产一区二区三区不卡| 欧美一区二区不卡视频| 日韩欧美亚洲另类制服综合在线| 日韩欧美在线网站| 337p粉嫩大胆噜噜噜噜噜91av | 国产精品久久久久aaaa| 亚洲精品日韩综合观看成人91| 一区二区三国产精华液| 亚洲mv大片欧洲mv大片精品|