《基于FPGA的LCD显示控制系统的设计.doc》由会员分享,可在线阅读,更多相关《基于FPGA的LCD显示控制系统的设计.doc(48页珍藏版)》请在三一办公上搜索。
1、南开大学毕业设计(论文)基于FPGA的LCD显示控制系统的设计姓 名: 院(系)别: 信息与通信工程学院专 业: 电子信息工程 班 级: 电子081 指导教师: 周 勇 职 称: 讲 师 2012年 6 月 13 日天津工业大学毕业设计(论文)任务书 题目基于FPGA的LCD显示控制系统的设计学生姓名马震学院名称信息与通信工程学院专业班级电子081课题类型实践性课题课题意义随着EDA技术的高速发展,电子系统的设计发生了深刻变化,成本更低、周期更短、可靠性更高,而且具有完全的知识产权。利用FPGA来驱动字符型液晶显示模块(LCM),其关键是对驱动芯片的各引脚和时序进行控制,减少电路板的尺寸,增强
2、系统的可靠性和设计灵活性。课题在工业检测方面有实际意义。任务与进度要求2月1日-3月5日 查阅相关的文献和资料,自学3月6日-3月12日 确定并提交整体设计方案3月13日-3月26日 完成硬件设计3月27日-4月16日 进行软件编程4月17日-5月14日 硬件与软件的调试测试,实现设计要求5月16日-6月10日 书写论文,准备论文答辩主要参考文献1 潘松,黄继业等EDA技术实用技术北京:科学出版社,20042 周瑞景,图雅,张丽敏基于ISE的FPGA/CPLD数字系统设计实例北京:电子工业出版社,20073 齐洪喜,陆颖VHDL电路设计实用教程北京:清华大学出版社,20044 江国强,EDA技
3、术与应用北京:电子工业出版社,2004.85 VerilogHDL工程实践入门/常晓明等编著.北京:北京航空航天大学出版社,2005.86 王城,薛晓刚,钟信潮FPGA/CPLD设计工具Xilinx ISE使用详解北京:人民邮电出版社,20047 FPGA应用开发入门与典实例/华清远见嵌入式培训中心编著北京:人民邮电出版社,2008.7起止日期2012.3.18-2012.6.18备注院长 教研室主任 指导教师 毕业设计(论文)开题报告表 2012 年 1 月 10 日姓名马震学院信息与通信工程学院专业电子信息工程班级电子061题目基于FPGA的LCD显示控制系统的设计指导教师周勇一、与本课题
4、有关的国内外研究情况、课题研究的主要内容、目的和意义: 二、进度及预期结果:起止日期主要内容预期结果3.3-3.153.16-4.54.6-4.204.21-5.55.6-6.15查阅相关的文献确定整体设计思路和步骤进行硬件电路的设计完成整机书写论文,准备论文答辩获取相关资料确定设计步骤完成硬件设计组装整机完成论文完成课题的现有条件试验室现有设备审查意见指导教师: 年 月 日学院意见主管领导: 年 月 日南开大学毕业设计(论文)进度检查记录 题目学生姓名学院名称专业班级指导教师姓名指导教师职称日 期指 导 记 录 天津工业大学本科毕业设计(论文)评阅表(设计类)毕业设计题目学生姓名学生班级指导
5、教师姓名评审项目指标满分评分选题能体现本专业培养目标,题目大小、难度适中;学生工作量饱满,能得到较全面训练。10题目与生产、科研等实际问题结合紧密。10课题调研文献检索能独立查阅文献以及从事其它形式的调研,能较好地理解课题任务并提出实施方案;有分析整理各类信息从中获取新知识的能力。15外文应用能正确引用外文文献,翻译准确,文字流畅。5设计说明书(论文)设计图纸(插图)简洁、规范、无差错,设计栏目齐全合理,能正确使用国家标准单位。15设计说明书(论文)结构严谨,表达清楚,文字通顺,用语正确,基本无错别字和病句,书写格式符合规范。15能根据毕业设计目标进行实验设计,对数据的运算及处理正确无差错,对
6、实验结果的分析准确。20设计具有创新性或实用价值。10合计100意见及建议评阅人签名:年 月 日南开大学毕业设计(论文)成绩考核表学生姓名学院名称专业班级题目1毕业设计(论文)指导教师评语及成绩:成绩: 指导教师签字: 年 月 日2毕业设计(论文)答辩委员会评语及成绩:成绩:答辩主席(或组长)签字: 年 月 日3毕业设计(论文)总成绩:a.指导教师给定成绩b.评阅教师给定成绩c.毕业答辩成绩总成绩(a0.5+b0.2+c0.3)摘 要本课题主要任务是设计基于FPGA的LCD控制器,兼顾好程序的易用性,以方便之后模块的移植和应用。本课题的设计采用了带ST7920驱动的12864-12的液晶模块,
7、并使用Xilinx公司的spartanII系列的XC2STQ144来作为核心的控制器。控制器部分采用VHDL语言编写,主体程序采用了状态机作为主要控制方式。ST7920是一种内置128x64-12汉字图形点阵地液晶显示控制模块,用于显示汉字和模型。最后实现使用FPGA在LCD上的任意位置显示任意的16*16像素的中文字符以及16*8的英文字符,另外要能根据输入数据的变化同步变化LCD上显示的内容。同时要能将储存模块中的图片数据正常地显示在LCD上。该课题的研究将有助于采用FPGA的系列产品的开发,特别是需要用到LCD的产品的开发。同时可以大大缩短FPGA的开发时间。另外,由于模块的易用性,也将
8、使得更多的采用FPGA的产品之上出现LCD,增加人机之间的交互性,为行业和我们的生活带来新的变化。关键词:ST7920;12864-12 ;VHDL;FPGA ;LCDABSTRACTIn this project, the main object is to design a LCD controller based on FPGA, and at the same time emphasize on the convenience for the later application and migration. In this project, This topic is designed
9、 with a belt-driven 12864-12 ST7920 LCD module, and use the Xilinxs spartanII series XC2STQ144 as the core of the controller. Controller part of the VHDL language with the main program uses a state machine as the main control method. ST7920 is a built-128x64-12 character LCD graphic point position c
10、ontrol module, used to display Chinese characters and models.In this project, I finally realized the following function. The first one is to display any 16*16 pixels Chinese character and 16*8 pixels English character on any position of the display screen. The second one is the display information w
11、ill instantaneously update as the input data changes. The last function is that any given picture data can be displayed properly on the LCD screen.The research of this project will contribute to the developing process of those products which use FPGAs, especially those products also use LCD. And at
12、the same time, it can reduce dramatically on the developing time. In addition, for the convenience of this controller, more and more FPGA based products will come out with LCD screen. This change will enhance the interaction between human and the machine, and bring innovation to the industry and our
13、 lives.Key words:ST7920;12864-12 ;VHDL;FPGA ;LCD 目 录双击生成论文目录或选择插入-引用-索引和目录-目录-确定,可自动生成目录,如目录的页脚显示页码,将此页码删除掉,“目录”两字与目录内容中间空一行。最后将以上内容删除 第一章 绪 论1.1 选题的背景与意义液晶,是一种在一定温度范围内呈现既不同于固态、液态,又不同于气态的特殊物质态,它既具有各向异性的晶体所特有的双折射性,又具有液体的流动性。一般可分热致液晶和溶致液晶两类。在显示应用领域,使用的是热致液晶,超出一定温度范围,热致液晶就不再呈现液晶态,温度低了,出现结晶现象,温度升高了,就变成液
14、体;液晶显示器件所标注的存储温度指的就是呈现液晶态的温度范围。液晶由于它的各向异性而具有的电光效应,尤其扭曲向列效应和超扭曲效应,所以能制成不同类型的显示器件(Liquid Crystal Display 简称LCD)。在平板显示器件领域,目前应用较广泛的有液晶(LCD)、电致发光显示(EL)、等离子体(PDP)、发光二极管(LED)、低压荧光显示器件(VFD)等。 液晶显示器件有以下一些特点 低压微功耗,平板型结构,被动显示型(无眩光,不刺激人眼,不会引起眼睛疲劳),显示信息量大(因为像素可以做得很小),易于彩色化(在色谱上可以非常准确的复现),无电磁辐射(对人体安全,利于信息保密),长寿命
15、(这种器件几乎没有什么劣化问题,因此寿命极长,但是液晶背光寿命有限,不过背光部分可以更换)。之前,一般流行采用单片机来控制驱动LCD。采用单片机控制LCD的显示在设计上相对比较简单。可以通过KEIL等软件的编写方便地控制LCD的图形以及字符的现实。但是由于单片机的顺序执行结构。决定了在现实图片或者字符的同时,单片机本身无法处理其他数据或者执行其他的运算命令。这在某种程度上大大地降低了工作的效率。而采用FPGA来控制LCD则不存在这个问题。但是由于FPGA不像单片机,可以直接使用控制语句来方便地控制LCD。因此需要编写大量的代码来控制LCD。因为这个原因,采用FPGA的设计一般都会再一次通过单片
16、机来驱动LCD的显示。本课题主要任务是设计基于FPGA的LCD控制器,兼顾好程序的易用性,以方便之后模块的移植和应用。最后在FPGA上的任意位置显示任意的16*16D的中文字符以及16*8的英文字符,另外要能根据输入数据的变化同步变化LCD上显示的内容。同时要能将储存模块中的图片数据正常地显示在LCD上。该课题的研究将有助于采用FPGA的系列产品的开发,特别是需要用到LCD得采用FPGA的产品的开发。同时可以大大缩短FPGA的开发时间。另外,由于模块的易用性,也将使得更多的采用FPGA的产品之上出现LCD,增加人机之间的交互性,为行业和我们的生活带来新的变化。点击输入二级标题 标题31.1.1
17、点击输入 正文点击输入二级标题 标题31.1.2点击输入 正文1.2 LCD的控制、应用和市场的发展现状在技术方面,因集成式的控制芯片具有包括了缩小了IC的体积、低功率消耗、降低封装的成本、节省电路板的数量及体积等优点,并使材料成本及LCD后段组装成本得以降低,因此许多厂商纷纷朝向高集成度控制芯片发展,并积极开发视讯应用的控制芯片。而最新趋势Smart Panel,在制程上则有简化流程、减少材料成本等优点。根据相关资料显示,Smart Panel可降低约10%15%的成本,这也是国外一些大厂所钟爱的方式。 为降低控制IC 成本,众多IC厂商纷纷推出集成式的单芯片控制IC。美国的Genesis最
18、早推出集成式IC,将ADC、Scaler、OSD (内置菜单)与PLL(锁相环)为一颗单芯片控制IC。接着更进一步集成入DVI 组件,形成LCD 双模控制IC。其组件集成数量持续增多,并渐渐添加Video 的功能。当前Genesis 最高集成度的产品,集成入的组件已经包括ADC、Scaler、PLL、OSD、TCON 与DVI,仅剩Video 的功能以及SDRAM 的组件尚未集成。 随着市场竞争的加剧,液晶显示器厂商的成本压力越来越大,必须采用更简单的线路设计实现液晶显示器的功能,以期降低成本,才能在市场竞争中立于不败之地。 LCD控制IC必将向高集成度方向发展,以满足市场需要。而在LCD的应
19、用以及市场方面,虽然手机仍然是中小尺寸液晶显示屏(LCD)的最主要应用设备,但便携导航设备(PND)、数码相框和MP3/便携媒体播放器(PMP)等新型设备,正在该市场的销售额中占有越来越大的份额。由于这些产品所使用的显示屏大于手机所用的显示屏,因此在供应商的工厂中同样需要更多的面板,这对于LCD面板生产商来说是个绝好的机会。各种中小尺寸LCD的产能扩张和价格下降,促进了其应用领域的多元化。这又进一步刺激了需求,并吸引许多其它产品来采用中小型LCD,如白色家电和零售标牌。大多数行业内的公司认为,为了利用手机市场和新兴产品,中小尺寸显示屏供应商必须相应地平衡和调整策略,否则就可能错失整个市场。1、
20、导航设备PND的主要功能是显示GPS信息,因此能否显示详细并准确地图影像非常关键。这使得许多PND制造商把目光转向了更加精确的小型LCD。这方面出现的需求促使iSuppli公司把2011年PND显示屏市场的出货量预测提高到了6,050万部。2006年的出货量为1,080万部,2006-2011年出货量的年复合增长率是41.3%。iSuppli以前预测2011年出货量是5,400万部。尽管中小尺寸LCD价格下降,但2011年PND显示屏的营业额将从2006年的3.24亿美元上升到7.76亿美元,年复合增长率为19.1%。2007年一年,PND显示屏销售额将比2006年的3.24亿美元增长近一倍,
21、达到6.35亿美元。2、媒体播放器但PND不是推动中小尺寸显示屏市场繁荣的唯一消费电子产品。MP3/PMP目前是使此类显示屏出货量增长最快的领域之一。 iSuppli公司预测,2011年底MP3/PMP单位出货量将达到2.05亿,而2007年预计为1.63亿。这相当于2011年显示屏销售额将达到16亿美元,略低于2007年的17亿美元,这主要是因为中小型LCD价格随着产能扩张和制造工艺改进而不断下降。推动显示屏单位出货量增长的因素包括:消费电子公司苹果和它的iPod产品线,以及距苹果最近的竞争对手紧追不舍,从而推动MP3/PMP市场整体增长。MP3音乐播放器变身进入了PMP领域。有源矩阵LCD
22、供应商正在紧盯这个市场,以防止AMOLED供应商染指。因为PMP是消费电子产业中增长最快的领域之一,而且随着更多的产品涌现,将需要更多的LCD来满足需求。数码相框和便携DVD播放器等其它应用每年需要的显示屏越来越多。这些应用需要较大的显示屏(约7.0英寸),因此它们的需求增长可能对产能分配和供需平衡造成较大的影响。1.3 课题的主要研究内容和重点、难点本课题的主要内容是基于FPGA的LCD控制器的设计研究,并兼顾程序的易用性以方便以后模块的移植。该课题设计到FPGA得应用,LCD驱动的研究,字符以及图像显示模式的研究等知识。并利用QUARTUS II 实现相关模块的设计,在FPGA上实现对LC
23、D的控制,显示任意中文,英文和图像。本课题研究重点及难点:1、12864-12的液晶模块指令集较为复杂,采用FPGA设计需要定义的变量和状态将会很多;2、中英文字符的显示部分程序要考虑到程序的易用性,方便将来移植后的使用;3、图形显示部分,由于12864-12内部图形显示GDRAM的地址寻址方式的独特性,并不是始终从0到15循环,而是随着行数的增加会做一个移位。同时LCD屏幕上的点阵也被拆分为上下两个半屏,分别对应Y地址的0-8和9-15这导致了取模后的图形所对应的数组,如若按普通方法则不能正常显示。1.4 课题研究预期目标本课题研究预期目标主要包括采用FPGA控制LCD在任意位置显示任意中文
24、以及英文字符,和在LCD上显示储存模块中的图像数据。课题研究预期理论目标:1、掌握FPGA对LCD的控制方法,为课题研究做好理论准备;2、通过FPGA对LCD的控制,使得任何开发者都可以较为容易地通过此显示控制模块,在液晶上显示所需的内容。;3、算法实现:对于12864-12的特殊图形RAM对应LCD的显示方式,采用特定算法,使得取模后的图像所对应的数组,无需经过处理便可以通过FPGA (Filed-Programmable Gate Array)在LCD上显示。课题研究预期技术目标:1、中文及英文字符在LCD上的正常显示;2、图像数据在LCD上的正常显示;3、输入变动的数据能在LCD上的同步
25、刷新显示;第二章 系统总体设计正文 宋体小四号 2.1 系统设计要求根据本系统设计要求,使用VHDL语言,利用Altera提供的FPGA/CPLD开发集成环境Quartus调试开发。要求能够方便地使用所开发的LCD控制模块,在LCD屏幕上的任意位置显示任意的中文以及英文字符,同时可以根据输入的动态数据进行动态输出,另外在图片显示模式下可以直接将取模后的图片显示在LCD上。点击输入二级标题 标题32.1.1点击输入 正文2.2 系统总体设计框图系统设计总体框图如图2-1所示,在系统上电后,FPGA将首先对系统进行初始化操作,在初始化操作中最重要的是寄存器的复位,显示开关的控制,功能设置以及对显示
26、屏幕进行清屏。之后通过显示控制模块对LCD进行显示的控制。显示控制模块主要负责在LCD显示多行字符时进行换行操作,在用户指定数据在屏幕的指定显示位置时设置该位置所对应的RAM的值,以及在图像显示时进行的ROM地址重映射算法,和对LCD显示区对应RAM进行的写入操作。其中的数据分别来自中英文字符模块,动态数据模块,以及图像数据模块。对此模块的设计,主体结构以状态机来实现。图2-1系统设计总体框图2.3 系统开发资源选用2.3.1液晶模块选用FYD12864-0402B是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为12
27、864,内置8192个16*16点汉字,和128个16*8点ASCII字符集。利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示84行1616点阵的汉字,也可完成图形显示。低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。1、基本特性:l 低电源电压(VDD:+3.0-+5.5V)l 显示分辨率:12864点l 内置汉字字库,提供8192个1616点阵汉字(简繁体可选)l 内置128个168点阵字符l 2MHZ时钟频率l 显示方式:
28、STN、半透、正显l 驱动方式:1/32DUTY,1/5BIASl 视角方向:6点l 背光方式:侧部高亮白色LED,功耗仅为普通LED的1/51/10l 通讯方式:串行、并口可选l 内置DC-DC转换电路,无需外加负压l 无需片选信号,简化软件设计l 工作温度:0-+55,存储温度:-20-+602、外观尺寸图:FYD12864-0402B点阵图形液晶显示模块外观尺寸如图2-2所示:图2-2 FYD12864-0402B点阵图形液晶显示模块外观尺寸图3、模块接口说明:串行接口管脚信号,如表2-1所示:表2-1串行接口管脚信号说明并行接口,如表2-2所示:表2-2并行接口说明2.3.2 FPGA
29、选用XC2S50系列开发板是针对FPGA的初、中级学习者设计,帮助用户降低学习成本和加快用户快速进入可编程逻辑器件设计开发领域,提供一个帮助用户快速开始可编程逻辑器件学习之旅的硬件平台。针对FPGA初、中级学习者设计,该核心板可配合与之配套的实验主板进行相应的实验,也可做为CPLD、FPGA研发的原形。核心板简单实用、扩展性好,尤其适合前期用户开发验证用。板上提供ISP接口、并将FPGA的部分引脚引出。方便用户开发自己的产品,最大限度的为用户节约学习成本和加快学习的速度。核心板上拥有下面资源:l FPGA主芯片:XC2STQ144l 有源晶振:40MHzl 支持JTAG下载,Slave Ser
30、ial下载l 实验用法:核心板可以作为原型板,用户可以根据自己需要自行扩展。也可配合EDA实验主板进行可编程逻辑器件的入门学习用。第三章 系统硬件设计正文 宋体小四号 3.1 系统设计总体框图系统设计总体框图如图4-1所示,在系统上电后,FPGA将首先对系统进行初始化操作,在初始化操作中最重要的是寄存器的复位,显示开关的控制,功能设置以及对显示屏幕进行清屏。之后通过显示控制模块对LCD进行显示的控制。显示控制模块主要负责在LCD显示多行字符时进行换行操作,在用户指定数据在屏幕的指定显示位置时设置该位置所对应的RAM的值,以及在图像显示时进行的ROM地址重映射算法,和对LCD显示区对应RAM进行
31、的写入操作。其中的数据分别来自中英文字符模块,动态数据模块,以及图像数据模块。对此模块的设计,主体结构以状态机来实现,如图3-1所示图4-1 系统设计总体框图3.2 系统硬件资源选用3.2.1液晶模块选用本设计选用了带ST7920驱动的LCD12864-12模块来进行设计和调试。该模块自带字库。其中,12864-12汉字图形点阵液晶显示模块,可显示汉字及图形,内置8192个中文汉字(16X16点阵),128个字符(8X16点阵)几64X256点阵显示RAM(GDRAM)。点击输入一级标题 标题23.3点击输入 正文第四章 系统软件设计本章首先对该系统的各个模块的设计思路进行描述,并给出框图。首
32、先介绍了初始化模块的设计,然后介绍了分别针对字符以及图片的写入数据模块。之后介绍了本设计中最关键的显示控制模块,并列举了详细的设计方法。最后给出系统设计的整体Block Diagram。 4.1 初始化模块设计4.1.1 LCD模块初始化设计对12864-12模块的初始化采用状态机的方式,通过资料中给出的12864-12模块的说明,选择所需要的初始化命令,结合特定的时钟频率,对LCD进行初始化。最终使屏幕清屏,显示区对应RAM复位,LCD的功能则设置为所需要的功能。其中,字符显示模块的初始化流程图如图4-1所示:图4-1字符初始化流程图其中直至写数据这一步骤之前都为起始的初始化动作。与字符显示
33、不同,图片的现实需要使用特殊指令集中的指令,因此需要在功能设定时做出改动。而同时,在对GDRAM的地址以及内容进行操作时,必须保持绘图显示的关闭状态,因此在初始化时,需要将绘图显示关闭。但是由于写数据这一指令属于常规指令集,因此在设置完GDRAM地址后,需要重新使用功能设定,将指令集的使用改回常规指令集。当数据全部写入完毕,则可以通过再次使用特殊指令集,开启图像显示,将GDRAM中的数据显示在屏幕上。图片显示模块的初始化流程图如图4-2所示:图4-2 图片显示初始化流程图4.1.2 时钟模块初始化设计由LCD初始化的流程图可得大部分指令的执行时间为72us,而清除显示和地址归位则需要4.6ms
34、,为72us的64倍左右,因此需要选择一个合适的时钟来作为ENABLE信号的输入。 时钟电路的设计:由于FPGA开发板上自带的晶振频率为50MHZ,而所需要的时钟频率则需要小于13.9KHZ,因此需要一个分频器对其进行分频。这里采用简单的计数器对其进行分频,计数器上限经过计算设为4000.经过分频后的时钟信号频率为12.5KHZ,满足实验需要。在分频之后由于时钟信号需要同时控制LCD模块以及FPGA的模块,因此需要编写一个程序,使得两者之间同步。最终的时钟控制模块如图4-3所示:图4-3 时钟模块其中CLOCK_LOGIC模块的设计通过几个触发器来实现,部分程序如下:component DFF
35、 port( d : in std_logic; clk: in std_logic; q : out std_logic);end component;signal sig1,sig2,sig3 : std_logic;begin sig1= not sig2; sig3= not clock; out_clksig1,clk=clock, q=sig2); mydff2 : DFF port map (d=sig2,clk=sig3, q=enable);4.1.3 字符显示前初始化模块的设计1、初始化部分的状态机设计根据字符模块初始化的流程图如图4-4所示:图4-4 LCD初始化流程图因
36、此,此部分的状态机设计如下: when IDLE= -空闲状态if flag =0 thenstate = CLEAR;flag=1;elsestate -清屏状态,使LCD屏幕上显示全白if div_counter2 DIVSS2 then -DIVSS2为64,由于清屏状态所需要的执div_counter2 = div_counter2+1; -行时间为普通指令的64倍,因此采用state=CLEAR; -一个0到64的计数器对其进行延迟处理elsediv_counter2 =0;state -地址归位,使DDRAM地址复位if div_counter2 DIVSS2 then -这里和清
37、屏状态一样,需要延迟64倍的时div_counter2 = div_counter2+1; -钟时间state=RETURNCURSOR;elsediv_counter2 =0;state -点设置,选择整体画面的移位方式state -显示状态开state -控制游标的移动和显示移位state -功能设置state -设置DDRAM地址 state=WRITERAM; 其中,由于时钟信号的周期约为80us,而CLEAR清屏和RETURNCURSOR点设定这两个操作需要4.6ms的操作时间,因此在这两个状态中加入了计数器用以延迟,延迟时间为时钟周期的64倍,约为5.12ms.这样设计可以最大化地
38、提高LCD的响应速度。2、字符显示的数据选择l 清除显示(对应状态机状态为CLEAR)对应的数据接口的数据(DB7DB0)为00000001,RS,RW为0;l 地址归位(对应状态机状态为RETURNCURSOR)对应(DB7DB0)的数据为00000010,RS,RW为0;l 点设定(对应状态机状态为SETMODE)选择整体画面不移位,DDRAM地址+1,因此对应DB7DB0数据为00000110,RS,RW为0;l 显示状态开(对应状态机状态为SWITHMODE),光标显示关,字符不反白,因此对应DB7DB0数据为00001100,RS,RW为0;l 游标和显示控制(对应状态机状态为SHI
39、FT)选择AC=AC+1,因此对应DB7DB0数据为00010100,RS,RW为0;l 功能设定(对应状态机状态为SETFUNCTION)选择8为数据线接口,以及基本指令集动作,因此对应DB7DB0数据为00110000,RS,RW为0;l DDRAM(对应状态机状态为SETDDRAM)地址的设定则根据需要设定,对应DB7DB0数据为1000000010011111之间,RS为1,RW为0;另外,根据模块引脚说明,FPGA还需要同时控制其他几个引脚。其中,为了选择并行的数据发送模式,PSB引脚应为H。RET引脚则由FPGA控制在经过一段时间的L复位后跳为H。初始数据的赋值:psb=1;rs=
40、1 when state = WRITERAM or state = READRAM else 0; -当状态为读写RAM时,RS为1rw=0 when state = CLEAR or state = RETURNCURSOR or state = SETMODE or state = SWITCHMODE or state = SHIFT or state = SETFUNCTION or state = SETCGRAM or state = SETDDRAM or state = WRITERAM else 1; -当状态为如上时,RW为0data -游标和显示移位,这一部和字符显示部分一样state -设置8位数据传输方式state -启用特殊指令集if flag_p=0 then -这个选择结构用于选择打开或者关闭显示,state=DRA