基于FPGA的中文字符显示的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 '1');
lcdda<='0';
elsif rising_edge(clk)then
current_state <= current_state ;
lcdda
data<=00111100;--3ch
current_state
data<=00000110;--06h
current_state
data<=00001111;--0fh
current_state
data<=01000000;--40h
current_state --向cgram中写入“年”
lcdda<='1';
cnt1:=cnt1+1;
data<=cgram(conv_integer(cnt1));
if cnt1 = 111 then
current_state --从第一行的起始地址开始显示
data<=10000000;--80h
current_state
lcdda<='1';
data null;
end case;
end if;
end process;
end behavioral;

Realme A1搭载联发科P70处理器
用光继电器替代机械式继电器节省更多空间
小米6最新消息:雷军官博感谢京东618活动!小米手机卖得好雷军激动,网友:小米6现货呢?
音量控制电路
中易云智慧平安社区系统帮助规划更优化的服务
基于FPGA的中文字符显示的VHDL程序
java 调用hanlp提取关键词
电能表供电电路以及使用该电路的电能表
采用CPLD芯片实现数据采集控制板的功能设计与应用
飞利浦发布全新21:9带鱼曲面显示器 售价约合人民币4700元
机器视觉检测技术的原理及优势
VGA线的脚位定义和焊接方法
深康佳A:预计上半年净利润亏损1.7 亿元至2.2 亿元
揭秘!虚拟偶像 A-SOUL 联手 NVIDIA Omniverse Enterprise 跨次元拜年幕后
软通咨询:大材不妨大用,大材何以小用
AC/DC与DC/DC电源模块虚拟测试系统的设计
任天堂Switch售价会价格比Wii U便宜?
七则不可不知的电池常识
美国设立了第二个智能城市出行与交通枢纽
iOS 10.3正式版即将发布,但请不要盲目升级!