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

来源:本站
导读:目前正在解读《利用FPGA驱动LCD显示中文字符“年”的VHDL程序》的相关信息,《利用FPGA驱动LCD显示中文字符“年”的VHDL程序》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《利用FPGA驱动LCD显示中文字符“年”的VHDL程序》的详细说明。
简介:FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

--文件名: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

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;

提醒:《利用FPGA驱动LCD显示中文字符“年”的VHDL程序》最后刷新时间 2024-03-14 01:10:12,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《利用FPGA驱动LCD显示中文字符“年”的VHDL程序》该内容的真实性请自行鉴别。