




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学号10211806410毕 业 设 计(论 文)基于FPGA液晶显示模块设计 2010年六月毕业设计(论文)任务书学生姓名叶龙专业班级电子信息工程1064指导教师桂玲工作单位设计(论文)题目基于FPGA液晶显示模块设计设计(论文)主要内容:(表中内容宋体5号)要求完成的主要任务及其时间安排:必读参考资料:指导教师签名: 教研室主任签名: 毕业设计(论文)开题报告题目基于FPGA液晶显示模块设计1 目的及意义(含国内外的研究现状分析):(1)国内外的研究现状分析:FPGA是现场可编程门阵列的简称,FPGA的应用领域最初为通信领域,但目前,随着信息产业和微电子技术的发展,可编程逻辑嵌入式系统设计技术已经成为 信息产业最热门的技术之一,应用范围遍及航空航天、医疗、通讯、网络通讯、安防、广播、汽车电子、工业、消费类市场、测量测试等多个热门领域。并随着工艺 的进步和技术的发展,向更多、更广泛的应用领域扩展。越来越多的设计也开始以ASIC转向FPGA, FPGA正以各种电子产品的形式进入了我们日常生活的各个角落。(2)本次毕业设计的目的及意+义:通过这次毕业设计,加强了我对相关的基本知识和基本技能的理解和掌握。1.VHDL语法规则,quartus的使用方法有了更深的了解。2.了解了FPGA时应该注意哪些事项和LCD12864的使用方法。3.同时也培养了自主学习,理论分析与设计运算能力,进一步提高了应用能力以及编写程序技巧。使我的独立思考问题和解决问题的能力得到了很好的锻炼。4. 使我的独立思考问题和解决问题的能力得到了很好的锻炼,为今后工作做好技术储备。2基本内容和技术方案:(1)基本内容: 应用VHDL语言对FPGA进行开发,下载到ALTERA公司的Cyclone系列的EP1C3芯片上调试通过,使其能驱动和控制LCD12864,可显示4行8列中文字符或4行16 列的英文字符 .(2)技术方案: 1.以ALTERA中Cyclone系列的EP1C3芯片作为硬件平台 2.QUARTUS作为开发软件 3.VHDL作为开发语言. 本方案采用的FPGA为Alter公司的EP1C3芯片,它可提供系统的时钟及读写控制,驱动电路通过串口和上位机进行通讯,数据通过串口传输到FPGA 的片上ROM 中,传输结束后FPGA 上的液晶显示驱动电路开始工作,控制信号发生器产生控制信号及地址, 并将由片上ROM 读出的像素点的值送LCD显示器显示. 图为液晶控制系统.3进度安排:第47周 毕业实习,撰写实报告,下达毕业设计任务书;第8 12周 硬件电路情况;程序编写(VHDL),调试;对程序进行仿真,并在EDA实验箱上运行,实验现象观察。参数修改,记录相关数据;第 第13周 对系统进行调试、修改并完善;编写报告初稿;第14周 撰写设计报告(论文),并交与相关老师验收认证工作;第15周 参加毕业答辩。4指导老师意见: 内容正确指导教师签名: 桂玲 2010年 4 月 16 日郑 重 声 明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包括任何其他个人或集体已经发表或撰写的成果作品。本人完全意识到本声明的法律后果由本人承担。本人签名: 叶龙 日期: 2010.5.6 5摘 要71 绪论91.1 选题的背景与意义91.2 LCD的控制,应用和市场的发展现状91.3 课题的主要研究内容和重点、难点101.3.1 本课题主要研究内容和重点101.3.2 本课题的主要难点:101.4 课题研究预期目标101.4.1 课题研究预期理论目标101.4.2 课题研究预期技术目标112 FPGA应用开发112.1 FPGA简介112.2 FPGA的设计方法112.3 VHDL硬件描述语言122.4 Quartus II简介133 12864点阵型液晶显示器133.1 12864点阵型液晶显示器的显示原理133.2 12864液晶显示器的内部结构及外部引脚143.2.1 12864液晶显示器的内部结构153.2.2 12864液晶显示器的外部引脚163.3 12864液晶显示器的编程指令174 接口电路设计185 软件设计195.1整体流程图195.2 VHDL代码 LCD模块205.3 Rom模块245.4 进行仿真分析,25结束语25参 考 文 献26致 谢27摘 要本课题主要任务是设计基于FPGA的LCD控制器,兼顾好程序的易用性,以方便之后模块的移植和应用。本课题的设计采用了带HD61202驱动的12864液晶模块,并使用Altera公司的cyclone系列的EP2C5T144C8来作为核心的控制器。控制器部分采用VHDL语言编写,主体程序采用了状态机作为主要控制方式。该控制器分为字符显示模块和图片显示模块两个主要部分。在字符的显示功能上采用显示控制模块与字符调用RAM相结合的方式,使使用者能方便地调用液晶自带的字库来显示字符;而图片显示模块则通过特殊的处理算法解决了图像显示缓冲区X地址不断移位以及上下半屏分开的问题,通过读取图片ROM来显示图片。最后实现使用FPGA在LCD上的任意位置显示任意的16*16像素的中文字符以及16*8的英文字符,另外要能根据输入数据的变化同步变化LCD上显示的内容。同时要能将储存模块中的图片数据正常地显示在LCD上。该课题的研究将有助于采用FPGA的系列产品的开发,特别是需要用到LCD的产品的开发。同时可以大大缩短FPGA的开发时间。另外,由于模块的易用性,也将使得更多的采用FPGA的产品之上出现LCD,增加人机之间的交互性,为行业和我们的生活带来新的变化。关键词:12864,VHDL,LCD,FPGA,状态机ABSTRACT In 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, I used 12864-12 LCD module with the HD61202 driver. For the controller part, I chose the Cyclone serial FPGA, the EP2C5T144C8, which developed by the Altera Cooperation. The program of the controller is written by VHDL language, and the main body of the program used state machine as the primary control method. In this LCD controller, there are two major parts, which are the character display module and the picture display module. The character display module put the Character Calling Ram and the display control module together to enable the user to call the embedded character library easily to display the information he/she needed. For the picture display module, the module, through specific algorithm, solved the problems that the x address of the picture display buffer kept stepping forward after every 16 times and the display screen are divided into 2 section by the buffer. And this module, by reading a picture ram, displayed picture which was put earlier. 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 will 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 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 lives. Key words: 12864,VHDL,LCD,FPGA,State Machine1 绪论1.1 选题的背景与意义LCD液晶显示器是 Liquid Crystal Display 的简称,LCD 的构造是在两片平行的玻璃当中放置液态的晶体,两片玻璃中间有许多垂直和水平的细小电线,透过通电与否来控制杆状水晶分子改变方向,将光线折射出来产生画面。比CRT要好的多,但是价钱较其它显示器贵。 FPGA是英文FieldProgrammable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。本课题主要任务是设计基于FPGA的LCD控制器,兼顾好程序的易用性,以方便之后模块的移植和应用。最后在FPGA上的任意位置显示任意的16*16D的中文字符以及16*8的英文字符,另外要能根据输入数据的变化同步变化LCD上显示的内容。同时要能将储存模块中的图片数据正常地显示在LCD上。该课题的研究将有助于采用FPGA的系列产品的开发,特别是需要用到LCD得采用FPGA的产品的开发。同时可以大大缩短FPGA的开发时间。另外,由于模块的易用性,也将使得更多的采用FPGA的产品之上出现LCD,增加人机之间的交互性,为行业和我们的生活带来新的变化。1.2 LCD的控制,应用和市场的发展现状在技术方面,因集成式的控制芯片具有包括了缩小了IC的体积、低功率消耗、降低封装的成本、节省电路板的数量及体积等优点,并使材料成本及LCD后段组装成本得以降低,因此许多厂商纷纷朝向高集成度控制芯片发展,并积极开发视讯应用的控制芯片。而最新趋势Smart Panel,在制程上则有简化流程、减少材料成本等优点。根据相关资料显示,Smart Panel可降低约10%15%的成本,这也是国外一些大厂所钟爱的方式。 为降低控制IC 成本,众多IC厂商纷纷推出集成式的单芯片控制IC。美国的Genesis最早推出集成式IC,将ADC、Scaler、OSD (内置菜单)与PLL(锁相环)为一颗单芯片控制IC。接着更进一步集成入DVI 组件,形成LCD 双模控制IC。其组件集成数量持续增多,并渐渐添加Video 的功能。当前Genesis 最高集成度的产品,集成入的组件已经包括ADC、Scaler、PLL、OSD、TCON 与DVI,仅剩Video 的功能以及SDRAM 的组件尚未集成。 随着市场竞争的加剧,液晶显示器厂商的成本压力越来越大,必须采用更简单的线路设计实现液晶显示器的功能,以期降低成本,才能在市场竞争中立于不败之地。 LCD控制IC必将向高集成度方向发展,以满足市场需要。而在LCD的应用以及市场方面,虽然手机仍然是中小尺寸液晶显示屏(LCD)的最主要应用设备,但便携导航设备(PND)、数码相框和MP3/便携媒体播放器(PMP)等新型设备,正在该市场的销售额中占有越来越大的份额。由于这些产品所使用的显示屏大于手机所用的显示屏,因此在供应商的工厂中同样需要更多的面板,这对于LCD面板生产商来说是个绝好的机会。各种中小尺寸LCD的产能扩张和价格下降,促进了其应用领域的多元化。这又进一步刺激了需求,并吸引许多其它产品来采用中小型LCD,如白色家电和零售标牌。大多数行业内的公司认为,为了利用手机市场和新兴产品,中小尺寸显示屏供应商必须相应地平衡和调整策略,否则就可能错失整个市场。1.3 课题的主要研究内容和重点、难点1.3.1 本课题主要研究内容和重点本课题的主要内容是基于FPGA的LCD控制器的设计研究,并兼顾程序的易用性以方便以后模块的移植。该课题设计到FPGA得应用,LCD驱动的研究,字符以及图像显示模式的研究等知识。并利用QUARTUS II 实现相关模块的设计,在FPGA上实现对LCD的控制,显示任意中文,英文和图像。1.3.2 本课题的主要难点:1. 12864的液晶模块指令集较为复杂,采用FPGA设计需要定义的变量和状态将会很多;2. 中英文字符的显示部分程序要考虑到程序的易用性,方便将来移植后的使用;1.4 课题研究预期目标 本课题研究预期目标主要包括采用FPGA控制LCD在任意位置显示任意中文以及英文字符,和在LCD上显示储存模块中的图像数据。1.4.1 课题研究预期理论目标1. 掌握FPGA对LCD的控制方法,为课题研究做好理论准备;2. 通过FPGA对LCD的控制,使得任何开发者都可以较为容易地通过此显示控制模块,在液晶上显示所需的内容。;1.4.2 课题研究预期技术目标1了解12864点阵型液晶显示器的显示原理。2掌握12864点阵型液晶显示器的接口设计。3利用12864点阵型液晶显示器来实现LCD汉字,字符的设计。2 FPGA应用开发2.1 FPGA简介FPGA是英文FieldProgrammable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。FPGA的基本特点主要有: 1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。 2)FPGA可做其它全定制或半定制ASIC电路的中试样片。 3)FPGA内部有丰富的触发器和IO引脚。 4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一5) FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。 2.2 FPGA的设计方法FPGA的常用设计方法包括“自顶向下”和“自下而上”。目前大规模FPGA设计一般选择“自顶向下”的设计方法。所谓“自顶向下”设计方法,简单地说,就是采用可完全独立于芯片厂商及其产品结构的描述语言,在功能级对设计产品进行定义,并结合功能仿真技术,以确保设计的正确性,在功能定义完成后,利用逻辑综合技术,把功能描述转换成某一具体结构芯片的网表文件,输出给厂商的布局布线器进行布局布线。布局布线结果还可反标回同一仿真器,进行包括功能和时序的后验证,以保证布局布线所带来的门延时和线延时不会影响设计的性能。“自顶向下”设计方法的优越性是显而易见的。首先,由于功能描述可以完全独立于芯片结构,在设计的最初阶段,设计师可不受芯片结构的约束,集中精力进行产品设计,进而避免了传统设计方法所带来的重新再设计风险,大大缩短了设计周期。其次,设计的再利用得到保证。目前的电子产品正向模块化方向发展。所谓模块化就是对以往设计成果进行修改、组合和再利用,产生全新的或派生设计。而“自顶向下”设计方法的功能描述可与芯片结构无关。因此,可以以一种IP(Intelligence Property 知识产权)的方式进行存档,以便将来重新利用。第三,设计规模大大提高。简单的语言描述即可完成复杂的功能,而不需要手工绘图。第四,芯片选择更加灵活。设计师可在较短的时间内采用各种结构芯片来完成同一功能描述,从而在设计规模、速度、芯片价格及系统性能要求等方面进行平衡,选择最佳结果。目前最为常用的功能描述方法是采用均已成为国际标准的两种硬件描述语言VHDL和Verilog HDL。2.3 VHDL硬件描述语言VHDL的英文全名是Very-High-Speed Integrated Circuit Hardware Description Language,诞生于1982年。VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。应用VHDL进行工程设计的优点是多方面的。1. 与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。2. VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。3. VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。4. 对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。5. VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计2.4 Quartus II简介Quartus II软件是Altera公司在MAX+PLUS II软件基础上推出的一种更佳的设计软件。对于一个高性能、价格合理、尽快面市的方案,结合使用Quartus II软件和Altera FPGA将是非常好的选择。Quartus II软件比所有竞争产品具有更佳的集成设计环境(例如综合、仿真、逻辑分析和布局布线)。Quartus II平面配置器在输入引脚至所有连接逻辑的信号追踪上,表现出色。集成的Signal Tap II逻辑分析器非常易于使用,不像MAX+PLUS II那样,还要购买第三方开发工具。Quartus II软件比MAX+PLUS II更加可靠,用户界面更加友好,特别是在仿真,节点发现和引脚分配等方面。同样,图形激励生成器比第三方的仿真工具更快、更有效。转换设计一直非常简单,在很短的时间内,就可以适用到目标器件中。3 12864点阵型液晶显示器3.1 12864点阵型液晶显示器的显示原理12864液晶显示屏共有12864点阵,即每行显示128点,每列显示64点。此种型号的液晶显示屏以中间间隔平均划分为左屏和右屏分别显示,均为6464点阵,而且各自都有独立的片选信号控制选择。先显示左屏,左屏全部显示完后才能显示右屏。显示屏上的显示数据由显示数据随机存储器DDRAM提供。DDRAM每字节中的每1个bit,对应显示屏上的1个点。bit值为1,对应点显示,反之不显示。DDRAM与显示屏的对应位置如图1所示。每半屏显示数据共有512字节的DDRAM,分为8个数据页来管理,这些页对应显示屏从上到下编号为07页,每页64字节,涵盖半边显示屏的64行64列8bit点阵数据。向显示屏写数据实际上是向DDRAM中写数据,DDRAM不同页和不同列中的字节数据唯一对应显示屏一行的8个显示点。例如,向DDRAM第0页的第0列写入数据00010100B,则显示屏左上角第0列的8个显示点只有从上往下的第3和5点显示。不同页和不同列DDRAM的寻址,通过左半屏和右半屏各自的页地址计数器和列地址计数器实现,因此对显示屏DDRAM写显示数据前,需要先设置页地址和列地址。 每一点对应的地址信息图1 12864液晶显示屏与内部RAM的对应关系3.2 12864液晶显示器的内部结构及外部引脚3.2.1 12864液晶显示器的内部结构12864液晶显示器的内部结构框图如图2。 图2 12864点阵型液晶显示器的内部结构框图 IC1控制模块的左半屏,IC2控制模块的右半屏。IC3为行驱动器。IC1,IC2为列驱动器。IC1,IC2,IC3含有如下主要功能器件。了解如下器件有利于对LCD模块的编程。a) 指令寄存器(IR) IR是用来寄存指令码,与数据寄存器寄存数据相对应.当D/I=1 时,在E信号下降沿的作用下,指令码写入IR。.b) 数据寄存器(DR) DR是用来寄存数据的,与指令寄存器寄存指令相对应.当D/I=1时,在E信号的下降沿作用下,图形显示数据写入DR,或在E信号高电平作用下由DR读到DB7DB0 数据总线.DR 和DDRAM之间的数据传输是模块内部自动执行的。 c) 状态寄存器有效数据位3位,用于记录“忙”信号标志位(BF),复位标志位(RST)以及开/关显示状态位(ON/OFF)。d) XY地址计数器 XY地址计数器是一个9位计数器。高三位是X地址计数器,低6位为Y地址计数器,XY地址计数器实际上是作为DDRAM的地址指针,X地址计数器为DDRAM的页指针,Y地址计数器为DDRAM的Y地址指针。 X地址计数器是没有记数功能的,只能用指令设置。 Y地址计数器具有循环记数功能,各显示数据写入后,Y地址自动加1,Y地址指针从0到63。e) 显示数据RAM(DDRAM) DDRAM是存贮图形显示数据的。DDRAM与地址和显示位置的关系见图1。f) Z地址计数器 Z地址计数器是一个6位计数器,此计数器具备循环记数功能,它是用于显示行扫描同步。当一行扫描完成,此地址计数器自动加1,指向下一行扫描数据,RST复位后Z地址计数器为0。Z地址计数器可以用指令DISPLAY START LINE 预置。因此,显示屏幕的起始行就由此指令控制,即DDRAM的数据从哪一行开始显示在屏幕的第一行。此模块的DDRAM共64行,屏幕可以循环滚动显示64行。3.2.2 12864液晶显示器的外部引脚 12864液晶显示模块共有20个引脚,包括8位双向数据线、6条控制线及电源线等。具体引脚功能见下表所示。管脚号管脚名称电平管脚功能描述1VSS0V电源地2VDD5.0V电源电压3V0-液晶显示器驱动电压4D/IH/LD/I=“H”,表示DB7DB0为显示数据D/I=“L”,表示DB7DB0为显示指令数据5R/WH/LR/W=“H”,E=“H”,数据被读到DB7DB0R/W=“L”,E=“HL”, DB7DB0的数据被写到IR或DR6EH/L使能信号:R/W=“L”,E信号下降沿锁存DB7DB0 R/W=“H”,E=“H” DRAM数据读到DB7DB0(使能端,高电平有效)7DB0H/L数据线8DB1H/L数据线9DB2H/L数据线10DB3H/L数据线管脚号管脚名称电平管脚功能描述11DB4H/L数据线12DB5H/L数据线13DB6H/L数据线14DB7H/L数据线15CS1H/L左半屏片选信号,高电平有效16CS2H/L右半屏片选信号,高电平有效17RESETH/L复位信号,低电平复位18VEE-10VLCD驱动负电压19IED+DC+5V背光板电源20IED-DC0V背光板电源3.3 12864液晶显示器的编程指令1) 显示开关控制(DISPLAY ON/OFF)代码R/W D/IDB7DB6DB5DB4DB3DB2DB1DB0形式 0 0 0 0 1 1 1 1 1 1设置屏幕显示开/关。DB0=1,开显示。DB0=0,关显示。不影响DDRAM中的内容。2) 设置显示起始行(DISPLAY START LINE) 代码R/W D/IDB7DB6DB5DB4DB3DB2DB1DB0形式 0 0 1 1 A5 A4 A3 A2 A1 A0 前面在介绍Z地址计数器时已经描述了显示起始行是由Z地址计数器控制的。A5A0 6位地址自动送入Z地址计数器,起始行的地址可以是063的任意一行。例如:选择A5A0是62,则起始行与DDRAM行的对应关系如下:DDRAM 行:62 63 0 1 2 3 28 29屏幕显示行: 1 2 3 4 5 6 31 323) 设置页地址(SET PAGE “X ADDRESS”)代码R/W D/IDB7DB6DB5DB4DB3DB2DB1DB0形式 0 0 1 0 1 1 1 A2 A1 A0 所谓页地址就是DDRAM的行地址,8行为一页,模块共64行即8页,A2A0表示07页。读写数据对地址没有影响,页地址由本指令或RST信号改变复位后页地址为0。4) 设置Y地址(SET Y ADDRESS) 代码R/W D/IDB7DB6DB5DB4DB3DB2DB1DB0形式 0 0 0 1 A5 A4 A3 A2 A1 A0 此指令的作用是将A5A0送入Y地址计数器,作为DDRAM的Y地址指针。在对DDRAM进行读写操作后,Y地址指针自动加1,指向下一个DDRAM单元。5) 读状态(STATUS READ)代码R/W D/IDB7DB6DB5DB4DB3DB2DB1DB0形式 1 0 BUSY 0ON/OFFRET 0 0 0 0 当R/W=1 D/I=0时,在E信号为“H”的作用下,状态分别输出到数据总线(DB7DB0)的相应位。BF:BF1,内部正在进行操作,BF0,空闲状态。ON/OFF:ON/OFF1,表示显示打开,ON/OFF0,表示显示关闭。RST: RST=1表示内部正在初始化,此时组件不接受任何指令和数据。6) 写显示数据(WRITE DISPLAY DATE) 代码R/W D/IDB7DB6DB5DB4DB3DB2DB1DB0形式 0 1 D7 D6 D5 D4 D3 D2 D1 D0 D7D0为显示数据,此指令把D7D0写入相应的DDRAM单元,Y地址指针自动加1。7) 读显示数据(READ DISPLAY DATE) 代码R/W D/IDB7DB6DB5DB4DB3DB2DB1DB0形式 1 1 D7 D6 D5 D4 D3 D2 D1 D0 此指令把DDRAM的内容D7D0读到数据总线DB7DB0,Y地址指针自动加1。4 接口电路设计通过前面对12864显示屏引脚功能的分析可以知道,该模块有一个整体的片选信号“E”,只有当该信号为高电平时,所有的电路才会有效。另外左右半屏各有一个选择信号CS1和CS2,CS1和CS2各自为高电平时,分别选中左半屏和右半屏。为了区分读写的是数据还是指令,还设置了一个数据/指令控制线D/I。根据这些原则,设计出接口电路如图3所示。 5 软件设计5.1整体流程图对12864的具体结构有了比较深入的了解,12864分左右两屏,像素点为128*64个像素点,行有128个像素点,列有64个像素点,行又设置为8页,在12864默认状态下中文字体都是16*16的大小,每个页包含8个像素行,所以要显示一个中文就需要2页;初始行的设定可以使得你要显示的字出现在任意你想要的位置。对液晶显示器的编程就是向DDRAM中写数据。在写DDRAM之前,需要先清除RAM,且左屏和右屏要分别进行清除。方法就是向RAM的所有单元写入0值。12864写驱动程序的时候需要写七个指令分别是:“检忙”,“写指令”,“写数据”,“写显示开关”,“写页”,“写列”,“写初始行”。向LCD写显示数据的流程图如下:NYNYYN将起始页地址存入BL页地址加1设置列地址显示RAM设置页地址LCD工作忙已写入64列页地址已设置8次结束5.2 VHDL代码 LCD模块library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;-entity lcd isport( clk: in std_logic; rst: in std_logic; lcddata: in std_logic_vector (7 downto 0); lcddatal: in std_logic_vector (7 downto 0); outadd,outaddl: inout std_logic_vector (8 downto 0); db: out std_logic_vector(13 downto 0) );end lcd;-architecture beha of lcd is type state_type is (pidle,idle,line_write,row_write,pline_write,prow_write,data_write,pdata_write,display,pdisplay,pline_write1,line_write1,pdata_write1,data_write1,pidle1); signal state: state_type; signal line,line1: std_logic_vector(2 downto 0);-begin process(clk,rst) begin if rst=1 then state = idle; db = 00000000000000; -清零 line=000; line1=000; outadd=000000000; -左屏地址清零 outaddl state state=row_write; db state=pline_write; db state=line_write; db state=pdata_write; db state=data_write; db state=pidle; db=100101&lcddata; outadd line=outadd(8 downto 6); if outadd(8 downto 0)=000000000 then state=pline_write1; -进入下一屏 else state state=line_write1; db state=pdata_write1; db state=data_write1; db state=pidle1; db=101001&lcddatal; outaddl line1=outaddl(8 downto 6); if outaddl(8 downto 0)=000000000 then state=pdisplay; -进入显示设置 else state state=display; db state=display; db state=idle; end case; end if;end process;end beha; VHDL代码生成 lcd模块 如图所示 5.3 Rom模块并还要生成如图所示的rom1和rom2两个模块,分别存储左屏和右屏的数据。生成方式,打开quartus软件,点击toos,选择在里面选择展开选择,并设置相关参数,就可生成如图所示的rom模块,如要在rom中载入数据,需要先建立一个文件,把容量设置成512个字节,宽带设为8,就生成一个存储表格,可在表格中填写数据,可下载到rom中。(可参考EDA技术实用教程 潘松 黄继业) 对字模的提取中用到了HZDotReader软件,对文字需要设置成16*16,纵向取模,下高位.例如:武 5.4 进行仿真分析,5.5 试验箱验证对管脚进行绑定,RST连接pin-103(SW1)下载到EDA试验箱上可显示。SW1高电平复位,低电平显示。 左屏 右屏结束语通过对基于FPGA的12864液晶模块的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 澧县船员安全培训班课件
- 法院撤回申请书
- 艺考生申请留长发申请书
- 更年期讲座课件
- 查询申请书民间借贷
- 控股股东变更申请书
- 银行筹建申请书
- 公司注销备案申请书范本
- 善行助学申请书
- 2025矿山承包经营合同范本
- 《情满今生》读书笔记模板
- 胸痛中心网络医院STEMI患者绕行急诊和CCU方案流程图
- 2021年一级注册消防工程师继续教育试题答案
- 急危重病人营养与代谢支持
- 甲醇理化性质及危险特性表MSDS
- GB/T 7216-2009灰铸铁金相检验
- GB/T 5796.3-1986梯形螺纹基本尺寸
- 华北理工大学2016年《互换性及技术测量》期末考试复习题
- 医学影像学总论-X线课件
- 大班科学《神奇的洞洞》课件
- 第二次全国陆生野生动物资源调查技术规程
评论
0/150
提交评论