有限狀态机的设计LCD显示控制实验.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
有限狀态机的设计LCD显示控制实验

实验四 有限状态机的设计——LCD显示控制实验 实验目的 了解LCD1602液晶显示器的工作原理。 了解时序电路FPGA的实现。 学习用VHDL语言来描述时序电路的过程。 硬件要求 可变时钟源。 LCD1602液晶显示模块 A/D转换芯片ADC0809 主芯片 CycloneII EP2C35F672C6。 实验原理 该实验是利用FPGA控制LCD1602的时序,进行液晶显示。LCD是一个可以显示两行字符或数字的液晶显示模块。该芯片管脚如右图所示。芯片引脚及其说明如下: 1602采用标准的16脚接口,其中: 第1脚:VSS为地电源 第2脚:VDD接5V正电源 第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度 第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。 第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。 第7~14脚:D0~D7为8位双向数据线。 第15~16脚:空脚 1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如表1所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A” LCD1602的工作时序可查阅其他资料。 实验内容及步骤 本实验的内容就是用FPGA模拟产生LCD1602的时序,使其正常工作,显示字符,实验步骤如下: 编写LCD1602时序的VHDL代码。 用QuartusII6.0对其进行编译仿真。 在时序确定无误后,选择芯片CycloneII EP2C35F672C6。 给芯片进行管脚绑定,在此进行编译。 观看实验结果。 实验结果与分析 这是LCD1602的仿真波形图。在RS,RW均为高电平时,LCD显示从DB0~DB7的数据。 问题与质疑 LCD1602的工作时序是怎样的? 答:读操作时序: 写操作时序: 程序代码 library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity LCD1602 is Port ( Clk : in std_logic; --状态机时钟信号,同时也是液晶时钟信号,其周期应该满足液晶数据的建立时间 Reset:in std_logic; LCD_RS : out std_logic; --寄存器选择信号 LCD_RW : out std_logic; --液晶读写信号 LCD_EN : out std_logic; --液晶时钟信号 LED : out std_logic; LCD_ON : out std_logic; LCD_BLON : out std_logic; LCD_Data : out std_logic_vector(7 downto 0)); --液晶数据信号 end LCD1602; architecture Behavioral of LCD1602 is type state is (set_clc,set_dlnf,set_cursor,set_dcb,set_cgram,write_cgram,set_ddram,write_LCD_Data,set_ddram2,write_LCD_Data2); signal Current_State:state; type ram2 is array(0 to 7) of std_logic_vector(7 downto 0); signal Clkk : std_logic; signal Count : std_logic_vector(20 downto 0); signal Clk_Out : std_logic; signal LCD_Clk : std_logic; begin L

文档评论(0)

sa1fs5g1xc1I + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档