新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于FPGA的中文字符显示的VHDL程序

基于FPGA的中文字符显示的VHDL程序

作者:时间:2012-05-23来源:网络收藏

--文件名:lcd_driver.vhd。

本文引用地址:http://www.eepw.com.cn/article/149005.htm

  --功能:FGAD驱动LCD“年”。

  --最后修改日期:2004.3.24。

  library IEEE;

  use IEEE.STD_LOGIC_1164.ALL;

  use IEEE.STD_LOGIC_ARITH.ALL;

  use IEEE.STD_LOGIC_UNSIGNED.ALL;

  entity lcd_driver is

  Port ( clk : in std_logic; --状态机时钟信号,同时也是液晶时钟信号,其周期应该满足液晶数据的建立时间

  reset:in std_logic;

  lcdda : out std_logic; --寄存器选择信号

  lcdrw : out std_logic; --液晶读写信号

  lcden : out std_logic; --液晶时钟信号

  data : out std_logic_vector(7 downto 0)); --液晶数据信号

  end lcd_driver;

  architecture Behavioral of lcd_driver is

  type state is (set_dlnf,set_cursor,set_dcb,set _cgram,write _cgram,set_ddram,write_data);

  signal current_state:state;

  type ram2 is array(0 to 7) of std_logic_vector(7 downto 0);

  constant cgram:ram2:=((00001000),(00001111),(00010010),

  (00001111),(00001010),(00011111),(00000010),(00000010));--年数据存储器

  signal clkk : std_logic;

  begin

  lcden = clk ; --液晶时钟信号

  lcdrw = '0' ; --写数据

  control:process(clk,reset,current_state) --液晶驱动控制器

  variable cnt1: std_logic_vector(2 downto 0);

  begin

  if reset='0'then

  current_state=set_dlnf;

  cnt1:=(others => '1');

  lcdda='0';

  elsif rising_edge(clk)then

  current_state = current_state ;

  lcdda = '0';

  case current_state is

  when set_dlnf=>

  data=00111100;--3cH

  current_state=set_cursor;

  when set_cursor=>

  data=00000110;--06H

  current_state=set_dcb;

  when set_dcb=>

  data=00001111;--0fH

  current_state=set_ cgram;

  when set_ cgram=>

  data=01000000;--40H

  current_state=write_ cgram;

  when write_ cgram=> --向CGRAM中写入“年”

  lcdda='1';

  cnt1:=cnt1+1;

  data=cgram(conv_integer(cnt1));

  if cnt1 = 111 then

  current_state=set_ddram;

  end if;

  when set_ddram=> --从第一行的起始地址开始

  data=10000000;--80H

  current_state=write_data;

  when write_data=>

  lcdda='1';

  data=00000000; --写入“年”

  when others => null;

  end case;

  end if;

  end process;

  end Behavioral;



评论


相关推荐

技术专区

关闭