推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

利用FPGA驱动LCD显示中文字符“年”的VHDL程序

更新时间:2020-07-01 20:40:23 大小:32K 上传用户:xzxbybd查看TA发布的资源 标签:fpga驱动lcd 下载积分:2分 评价赚积分 (如何评价?) 收藏 评论(0) 举报

资料介绍

利用FPGA驱动LCD显示中文字符VHDL程序。

--文件名:lcd_driver.vhd

--功能: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


部分文件列表

文件名 大小
利用FPGA驱动LCD显示中文字符“年”的VHDL程序.doc 32K

全部评论(0)

暂无评论