液晶显示屏LCD显示接口设计-课程设计new

上传人:ca****in 文档编号:199839351 上传时间:2023-04-12 格式:DOC 页数:33 大小:934KB
收藏 版权申诉 举报 下载
液晶显示屏LCD显示接口设计-课程设计new_第1页
第1页 / 共33页
液晶显示屏LCD显示接口设计-课程设计new_第2页
第2页 / 共33页
液晶显示屏LCD显示接口设计-课程设计new_第3页
第3页 / 共33页
资源描述:

《液晶显示屏LCD显示接口设计-课程设计new》由会员分享,可在线阅读,更多相关《液晶显示屏LCD显示接口设计-课程设计new(33页珍藏版)》请在装配图网上搜索。

1、江西理工大学应用科学学院SOPC/EDA综合课程设计报告设计题目: 液晶显示屏LCD显示接口设计设 计 者: 肖小龙 学 号: 08060209114 班 级: 自动化091班 指导老师: 王忠锋 完成时间: 2012年1月6日 设计报告综合测试总评格式(10)内容(40)图表(10)答辩(20)平时(20)摘 要 如今,科技进步给我们的生活带来了很大的变化。液晶显示设备越来越多,各种各样的液晶显示产品走进我们生活中。从手机到电脑显示器,从掌上电脑到平板电视。无处没有液晶显示技术的身影。液晶显示器由于具有低压、微功耗、显示信息量大、体积小等特点,在移动通信终端、便携计算机、GPS卫星定位系统等

2、领域有广泛用途,成为使用量最大的显示器件。液晶显示控制器作为液晶驱动电路的核心部件通常由集成电路组成,通过为液晶显示系统提供时序信号和显示数据来实现液晶显示。本设计是一种基于FPGA(现场可编程门阵列)的液晶显示控制器。与集成电路控制器相比,FPGA更加灵活,可以针对不同的液晶显示模块更改时序信号和显示数据。FPGA的集成度、复杂度和面积优势使得其日益成为一种颇具吸引力的高性价比ASIC替代方案。本文选用GW48系列的SOPC/EDA实验开发系统,利用硬件描述语言VHDL设计了液晶显示控制器,实现了替代专用集成电路驱动控制LCD的作用。关键词: EDA(电子设计自动化),VHDL(硬件描述语言

3、),液晶控制器接口设计,LCD(液晶显示器)。目 录第1章 预备知识.11.1 12864点阵型液晶显示屏的基本原理与使用方法11.1.1 12864点阵型LCD简介11.1.2 点阵LCD的显示原理21.1.3 字模提取软件的应用31.1.4 12864液晶显示模块接口时序41.1.5 有关FPGA的知识61.2 课程设计题目:液晶显示屏LCD显示接口设计71.2.1 课程设计目的及基本要求71.3 设计要求9第2章 设计内容提要及说明.102.1 元件原理图102.2 12864指令系统122.2.1 12864用户指令集122.2.2 FPGA与LCD连接方式14第3章 系统硬件设计.1

4、5第4章 设计过程.184.1 初始化部分的状态机设计184.2 时钟模块的设计184.3 中文字符部分的数据模块204.4 图形的数据模块23第5章 实习总结.28致谢.29参考文献.30第1章 预备知识1.1 12864点阵型液晶显示屏的基本原理与使用方法1.1.1 12864点阵型LCD简介图1 12864实物图LCD液晶显示器是 Liquid Crystal Display 的简称,LCD 的构造是在两片平行的玻璃当中放置液态的晶体,两片玻璃中间有许多垂直和水平的细小电线,透过通电与否来控制杆状水晶分子改变方向,将光线折射出来产生画面。比CRT要好的多,但是价钱较其它显示器贵。 128

5、64是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及12864全点阵液晶显示器组成。可完成图形显示,也可以显示84个(1616点阵)汉字。实物如上图所示。引脚号引脚名称方向功能说明1VSS-模块的电源地2VDD-模块的电源正端3V0-LCD驱动电压输入端4RS(CS)H/L并行的指令/数据选择信号;串行的片选信号5R/W(SID)H/L并行的读写选择信号;串行的数据口6E(CLK)H/L并行的使能信号;串行的同步时钟7DB0H/L数据08DB1H/L数据19DB2H/L数据210DB3H/L数据311DB4H/L数据412DB5H/L数据513DB6H/L数据614DB7H/L数据715

6、PSBH/L并/串行接口选择:H-并行;L-串行16NC空脚17/RETH/L复位 低电平有效18NC空脚19LED_A-背光源正极(LED+5V)20LED_K-背光源负极(LED-OV)表1 12864引脚说明逻辑工作电压(VDD):4.55.5V电源地(GND):0V工作温度(Ta):060(常温) / -2075(宽温)1.1.2 点阵LCD的显示原理在数字电路中,所有的数据都是以0和1保存的,对LCD控制器进行不同的数据操作,可以得到不同的结果。对于显示英文操作,由于英文字母种类很少,只需要8位(一字节)即可。而对于中文,常用却有6000以上,于是我们的DOS前辈想了一个办法,就是将

7、ASCII表的高128个很少用到的数值以两个为一组来表示汉字,即汉字的内码。而剩下的低128位则留给英文字符使用,即英文的内码。那么,得到了汉字的内码后,还仅是一组数字,那又如何在屏幕上去显示呢?这就涉及到文字的字模,字模虽然也是一组数字,但它的意义却与数字的意义有了根本的变化,它是用数字的各位信息来记载英文或汉字的形状,如英文的A在字模的记载方式如图2所示:图2 “A”字模图而中文的“你”在字模中的记载却如图3所示:图3 “你”字模图1.1.3 字模提取软件的应用对于我们需要显示的一两个字符来说,用手工的方法去取模是可以的,但是随着我们需要显示的字符的数量增加以及多样化,手工取模就显的很吃力

8、,并且效率底下,所以我们需要一个取模工具,网上流传的一个字模提取软件可以让我们高效的得到我们需要显示的字符的代码。随着电子行业的发展,很多研发机构把汉字以代码的形式固化在液晶显示屏中,形成了带字库的液晶显示屏,方便了我们使用液晶显示屏,但是对于复杂多变的图形,他就显得就无能为力了,只能用取模软件去取得显示代码,因此学会字摸软件的使用,会使我们的工作效率事半功倍的。字模软件界面如下:图4 字模提取软件1.1.4 12864液晶显示模块接口时序模块有并行和串行两种连接方法(时序如下):1、8位并行连接时序图5 MPU写资料到模块图6 MPU从模块读出资料2、串行连接时序图图7 串行连接时序图1.1

9、.5 有关FPGA的知识图8 FPGA芯片FPGA是英文FieldProgrammable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三

10、个部分。FPGA的基本特点主要有: 1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。 2)FPGA可做其它全定制或半定制ASIC电路的中试样片。 3)FPGA内部有丰富的触发器和IO引脚。 4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一5) FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。1.2 课程设计题目:液晶显示屏LCD显示接口设计1.2.1 课程设计目的及基本要求 液晶显示屏已广泛应用于人们的日常生活中,在各种领域中起到越来越重要的位置。因此,掌握和控制液晶显示屏是非常重要的技能。进行课程设计是加 强实践,提

11、高动手能力的重要环节,通过课程设计,同时在软件编程,排错调试,相关仪器设备的使用技术等方面得到全面的提高。掌握液晶显示屏实现的相关方法,为将来的实际工作打下一定的基础。本课程设计是以SED1520控制器为基础,基本要求是: 1、掌握SED1520控制器基本结构2、掌握液晶显示屏的工作原理及使用方法3、掌握用VHDL语言编写程序 4、掌握Quartus II的使用方法 5、掌握GW48系列SOPC/EDA实验开发系统:a:闲置不用GW48系统时,必须关闭电源,拔下电源插头! b:在实验中,当选中某种模式后,要按一下右侧的复位键,以使系统进入该结构模式工作。c:换目标芯片时要特别注意,不要插反或插

12、错,也不要带电插拔,确信插对后才能开电源。其它接口都可带电插拔。请特别注意,尽可能不要随意插拔适配板,及实验系统上的其他芯片。d:并行口工作模式设置在“EPP”模式!e: 跳线座“SPS” 默认向下短路(PIO48);右侧开关默认拨向“TO MCU”。f: 对于GW48-PK2系统,左下角拨码开关除第4档“DS8使能”向下拨(8数码管显示)外,其余皆默认向上1.3 设计要求使用FPGA设计一个液晶显示屏LCD显示的控制器,使其能够显示文字、数字或图形(根据需要选择LCD屏),至少需要显示“江西理工大学应用科学学院课程设计”字样,另外需要显示班级姓名和日期。其它功能可自行增加! (型号GW48-

13、PK2)第2章 设计内容提要及说明2.1 元件原理图一般在把程序固化到配置芯片之前,一般先使用JTAG模式去调试程序,也就是把程序下载到FPGA芯片上运行。虽然这种方式在断电以后会程序丢失,但是充分利用了PFGA的无限擦写性。所以一般FPGA有两个下载接口:JTAG调试接口和AS模式下载接口。所不同的是前者是下载至FPGA后者是编程配置芯片(如EPCSx),然后再配置FPGA。JTAG模式和AS模式的电路原理图如下: 图9 下载/编程接口电路图FPGA的EP1C3T144C8芯片与LCD 12864的连接示意图:图10 液晶显示屏与FPGA芯片连接示意图2.2 12864指令系统2.2.1 1

14、2864用户指令集指令表1:(RE=0:基本指令集)指 令指令码说明执行时间(540KHZ)RSRWDB7DB6DB5DB4DB3DB2DB1DB0清除显示0000000001将DDRAM填满“20H”,并且设定DDRAM的地址计数器(AC)到“00H”4.6ms地址归位000000001X设定DDRAM的地址计数器(AC)到“00H”,并且将游标移到开头原点位置;这个指令并不改变DDRAM的内容4.6ms进入点设定00000001I/DS指定在资料的读取与写入时,设定游标移动方向及指定显示的移位72us显示状态开/关0000001DCBD=1:整体显示ONC=1:游标ONB=1:游标位置ON

15、72us游标或显示移位控制000001S/CR/LXX设定游标的移动与显示的移位控制位元;这个指令并不改变DDRAM的内容72us功能设定00001DLX0REXXDL=1 (必须设为1)RE=1: 扩充指令集动作RE=0: 基本指令集动作72us设定CGRAM地址0001AC5AC4AC3AC2AC1AC0设定CGRAM地址到地址计数器(AC)72us设定DDRAM地址001AC6AC5AC4AC3AC2AC1AC0设定DDRAM地址到地址计数器(AC)72us读取忙碌标志(BF)和地址01BFAC6AC5AC4AC3AC2AC1AC0读取忙碌标志(BF)可以确认内部动作是否完成,同时可以读

16、出地址计数器(AC)的值0us写资料到RAM10D7D6D5D4D3D2D1D0写入资料到内部的RAM(DDRAM/CGRAM/IRAM/GDRAM)72us读出RAM的值11D7D6D5D4D3D2D1D0从内部RAM读取资料(DDRAM/CGRAM/IRAM/GDRAM)72us表2指令表2:(RE=1:扩充指令集)指令指令码说 明执行时间(540KHZ)RSRWDB7DB6DB5DB4DB3DB2DB1DB0待命模式0000000001将DDRAM填满“20H”,并且设定DDRAM的地址计数器(AC)到“00H”72us卷动地址或IRAM地址选择000000001SRSR=1:允许输入垂

17、直卷动地址SR=0:允许输入IRAM地址72us反白选择00000001R1R0选择4行中的任一行作反白显示,并可决定反白与否72us睡眠模式0000001SLXXSL=1:脱离睡眠模式SL=0:进入睡眠模式72us扩充功能设定000011X1REG0RE=1: 扩充指令集动作RE=0: 基本指令集动作G=1 :绘图显示ONG=0 :绘图显示OFF72us设定IRAM地址或卷动地址0001AC5AC4AC3AC2AC1AC0SR=1:AC5AC0为垂直卷动地址SR=0:AC3AC0为ICON IRAM地址72us设定绘图RAM地址001AC6AC5AC4AC3AC2AC1AC0设定CGRAM地

18、址到地址计数器(AC)72us表32.2.2 FPGA与LCD连接方式FPGA与LCD连接方式:(仅PK2型含此)。由实验电路结构图COM可知,默认情况下,FPGA是通过89C51单片机控制LCD液晶显示的,但若FPGA中有Nios嵌入式系统,则能使FPGA直接控制LCD显示。方法是拔去此单片机(在右下侧),用连线将座JP22/JP21(LCD显示器引脚信号)各信号分别与座JP19/JP20(FPGA引脚信号)相连接即可。图11 实验电路结构图COM第3章 系统硬件设计本方案采用的FPGA为Alter公司的ACEX1K30芯片,它可提供系统的时钟及读写控制,ACEX系列的FPGA由逻辑数组块L

19、AB(Logic array block)、嵌入式数组块EAB(embedded arr ay block)、快速互联以及IO单元构成,每个逻辑数组块包含8个逻辑单元LE(logic element)和一个局部互联1。每个逻辑单元则由一个4输入查找表(LUT)、一个可编程触发器、快速进位链、级连链组成,多个LAB和多个EAB则可通过快速通道互相连接。EAB是ACEX系列器件在结构设计上的一个重要部件,他是输入埠和输出埠都带有触发器的一种灵活的RAM块,其主要功能是实现一些规模不太大的FIFO、ROM、RAM和双埠RAM等。在本液晶显示接口电路中,EAB主要用宏功能模块实现片上ROM。它通过调用

20、FPGA上的EAB资源来实现汉字的显示和字符的存储,并根据控制信号产生的地址值从ROM中读取字符值,然后送LCD显示器进行显示。由于所用的图形点阵液晶块内置有SED1520控制器,所以,其电路特性实际上就是SED1520的电路特性。SED1520的主要特性如下: (1)具有液晶显示行驱动器,具有16路行驱动输出,并可级联实现32行驱动。(2)具有液晶显示列驱动器,共有61路列驱动输出。(3)内置时序发生器,其占空比可设置为1/16和1/32两种。(4)内藏显示内存,显示内存内的数据可直接显示,1为显示,0为不显示。(5)接口总线时序可适配8080系列或M6800系列,并可直接与计算机接口。(6

21、)操作简单,有13条控制指令。(7)采用CMOS工艺,可在电压低至2.4-7.0V时正常工作,功耗仅30W。本设计所用的字符液晶模块CM12232由两块SED1520级来驱动,其中一个工作在主工作方式下,另一个工作在从方式下,主工作方式SED1520负责上半屏16行的驱动和左半屏的61列驱动,从工作方式的SED1520则负责下半屏16行的驱动和右半屏的61列驱动,使能信号E1、E2用来区分具体控制的是那一片SED1520,其系统的硬件连接图如图1所示。由图1可见,该系统的硬件部分连接十分简单,其中FPGA部分没画出,而液晶与FPGA的接口则可直接以网表的形式给出,将它们直接与FPGA的普通I/

22、O引脚相连即可。系统的软件接口实现具体实现的重点是如何从存放有字符的ROM块中读出数据,并按照液晶的时序正确的写入,在介绍具体实现方法前,首先要熟悉SED1520的指令。SED1520的控制指令表:指令名称控制信号控制代码 A0 R/WD7 D6 D5 D4 D3 D2 D1 D0复位0 01 1 1 0 0 0 1 0显示开关设置0 01 0 1 0 1 1 1 Di地址排序设置0 01 0 1 0 0 0 0 A体闲状态设置0 01 0 1 0 0 1 0 S占空比设置0 01 0 1 0 1 0 0 Du显示起始行设置0 01 1 0 L4 L3 L2 L1 L0页面地址设置0 01 0

23、 1 1 1 0 P1 P0列地址设置0 00 C6 C5 C4 C3 C2 C1 C0启动改写方式0 01 1 1 0 0 0 0 0结束改写方式0 01 1 1 0 1 1 1 0读取状态字0 1BUSY ADC ON/OFF RESET 0 0 0 0写显示数据1 0数 据读显示数据1 1数 据表4图12 系统硬件连接图第4章 设计过程4.1 初始化部分的状态机设计执行时间字符模块初始化的流程图72us72us72us72us4.6ms4.6ms72us游标和显示控制显示状态开设定DDRAM地址功能设定地址归位清除显示点设定图13 LCD初始化流程图4.2 时钟模块的设计由于FPGA开发

24、板上自带的晶振频率为50MHZ,而所需要的时钟频率则需要小于13.9K。因此需要一个分频器对其进行分频。这里采用简单的计数器对其进行分频,通过分频器将外部输入的32 MHZ的信号分成频率为153600HZ的信号。在分频之后由于时钟信号需要同时控制LCD模块以及FPGA的模块,因此需要编写一个程序,使得两者之间同步。library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity baud is port(clk,resetb:in std_lo

25、gic; bclk:out std_logic);end baud;architecture behavioral of baud isbeginprocess(clk,resetb)variable cnt:integer;beginif resetb=1 thencnt:=0;bclk=208 then cnt:=0;bclk=1;else cnt:=cnt+1;bclk=0;end if;end if;end process;end behavioral;图14 时钟模块图15 时钟模块的仿真图形4.3 中文字符部分的数据模块中文部分由于VHDL中无法识别中文,使用时需要参照中文字符表,

26、将需要的字符所对应的数据输入RAM,然后通过和英文模块不重复的符号来实现对其的调用。如 “肖”这个中文字符,所对应国标码”D0A4”,因此在函数部分应为:constant data_buf : data buffer := (xD0,xA4);本程序驱动液晶显示“江西理工大学应用科学学院课程设计” “自动化”“091”“肖小龙”“2012.1.3”。library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity lcd isgeneric(d

27、ivide_to_100k :integer:=1000);port(clk, rst:in std_logic;rw, rs, e, lcd_rst :out std_logic;lcd_data:out std_logic_vector(7 downto 0); end lcd;architecture behavioral of lcd issignal clk_100k:std_logic;type state is(s0,s1,s2,s3,s4);signal current_s: state ;type data_buffer is array (0 to 65) of std_l

28、ogic_vector ( 7 downto 0 ) ;constant data_buf : data_buffer := (xBD,xAD,xCE,xF7, -江西xC0,xED,xB9,xA4, -理工xB4,xF3,xD1,xA7, -大学xD3,xA6,xD3,xC3, -应用xBF,xC6,xD1,xA7, -科学 xD1,xA7,xD4,xBA, -学院xBF,xCE,xB3,xCC, -课程xC9,xE8,xBC,xC6, -设计 xD7,xD4,xB6,xAF,xBB ,xAF , -自动化 xA3,xB0,xA3,xB9, xA3 ,xB1, -091xD0,xA4,xD0

29、, xA1,xC1, xFA, -肖小龙 xA3,xB2,xA3,xB0,xA3,xB1,xA3,xB2,xA3,xAE,xA3,xB1,xA3,xAE,xA3,xB3); -2012.1.3beginprocess(clk)variable cnt:integer range 0 to divide_to_100k;beginif rising_edge(clk)then cnt:=cnt+1;if cnt=divide_to_100k then cnt:=0;end if;if cntdivide_to_100k/2 then clk_100k= 0;else clk_100k = 1;e

30、nd if;end if;end process;process(clk_100k)variable cnt1:integer range 0 to 500;variable cnt1_1:integer range 0 to 100;variable code_cnt:integer range 0 to 13;variable data_cnt:integer range 0 to 48; beginif rising_edge(clk_100k)thenif rst = 1 then current_s = s0 ; cnt1 := 0 ;cnt1_1 := 0;code_cnt :=

31、0 ; data_cnt := 0 ; lcd_rst rw= 1;rs = 1;e = 1;cnt1:=cnt1+1;if cnt1 250 then lcd_rst = 0;elsif cnt1 500 then lcd_rst = 1;elsif cnt1=500 then lcd_rst = 1;cnt1 := 0;current_s cnt1_1:=cnt1_1+1; if cnt1_1 1*3 then e = 1;rs = 0;rw = 0;elsif cnt1_12*3 then lcd_data=x0c;elsif cnt1_110*3 then e=0;elsif cnt1

32、_1=10*3 then cnt1_1:=0;current_scnt1_1:=cnt1_1+1; if cnt1_11*3 then e=1;rs=0;rw=0;elsif cnt1_12*3 then lcd_data=x80;elsif cnt1_110*3 then e=0;elsif cnt1_1=10*3 then cnt1_1:=0;current_s if cnt1_11*3 then e=1;rs=1;rw=0;elsif cnt1_12*3 then lcd_data=data_buf(data_cnt);elsif cnt1_1=2*3 then data_cnt:= d

33、ata_cnt+1;elsif cnt1_1100 then e=0;end if;cnt1_1:=cnt1+1;if cnt1_1=100 then cnt1_1:=0;if data_cnt=16 then current_scurrent_s=s0;end case;end if;end if;end process;end Behavioral;图16 文字显示模块图17 文字显示模块仿真图4.4 图形的数据模块library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity lcdlineh

34、ozi is port( clk,key3: in std_logic; ck0,disp,hsync,vsync:out std_logic; rgb:out std_logic_vector(0 to 23); end;architecture wx of lcdlinehozi issignal clk_temp1,clk_temp2,ck :std_logic ;signal cnt1,cnt2:std_logic_vector(2 downto 0);signal cnt:std_logic_vector(1 downto 0);signal hs_cnt,vs_cnt:intege

35、r range 0 to 525;signal rgbx,rgby: std_logic_vector(0 to 23);constant thp:integer :=41;constant thb:integer :=2;constant thf:integer :=2;constant tvp:integer :=10;constant tvb:integer :=2;constant tvf:integer :=2;constant thd:integer :=480;constant tvd:integer :=272;beginprocess(key3) begin if key3e

36、vent and key3=1 then if cnt=10 then cnt=00; else cnt=cnt+1; end if; end if; end process; process(cnt) begin if cnt=00 then rgb=111111111111111111111111; elsif cnt=01then rgb=rgbx; elsif cnt=10then rgb=rgby; else rgb=000000000000000000000000; end if;end process; process(hs_cnt,vs_cnt) begin if hs_cnt

37、102 then rgbx=000000000000000000000000; elsif hs_cnt162 then rgbx=000000000000000011111111; elsif hs_cnt222 then rgbx=111111110000000000000000; elsif hs_cnt282 then rgbx=000000001111111111111111; elsif hs_cnt342 then rgbx=000000001111111100000000; elsif hs_cnt402 then rgbx=111111110000000011111111;

38、elsif hs_cnt462 then rgbx=111111111111111100000000; elsif hs_cnt522 then rgbx=111111111111111111111111; else rgbx=101010101010101010101010; end if; if vs_cnt43 then rgby=000000000000000000000000; elsif vs_cnt75 then rgby=000000000000000011111111; elsif vs_cnt107 then rgby=111111110000000000000000; e

39、lsif vs_cnt139 then rgby=000000001111111111111111; elsif vs_cnt171 then rgby=000000001111111100000000; elsif vs_cnt203 then rgby=111111110000000011111111; elsif vs_cnt235 then rgby=111111111111111100000000; elsif vs_cnt267 then rgby=111111111111111111111111; else rgby=101010101010101010101010; end i

40、f; end process; clock:process(clk) begin if clkevent and clk=1then if cnt1=2 then cnt1=000; else cnt1=cnt1+1;end if; end if; end process; process (clk) begin if clkevent and clk=0 then if cnt2=2 then cnt2=000; else cnt2=cnt2+1;end if; end if; end process; process(clk) begin if clkevent and clk=1 the

41、n if cnt1=0 then clk_temp1=1; elsif cnt1=1 then clk_temp1=0; end if; end if; end process; process (clk) begin if clkevent and clk=0then if cnt2=0 then clk_temp2=1; elsif cnt2=1 then clk_temp2=0; end if; end if; end process; ck=clk_temp1 or clk_temp2; ck0=ck; process(ck) begin if ckevent and ck=1 the

42、n if hs_cnt=thp-1 then hsync=1; hs_cnt=hs_cnt+1; elsif hs_cnt=thp+thb+thd+thf-1 then-524 hs_cnt=0;hsync=0; if vs_cnt=tvp+tvb+tvd+tvf-1 then-285 vs vs_cnt=0;vsync=0;disp=1; elsif vs_cnt=tvp-1 then vsync=1;vs_cnt=vs_cnt+1; else vs_cnt=vs_cnt+1; end if; else hs_cnt=hs_cnt+1;end if;end if; end process;

43、end wx;图18 显示图像模块图19 显示图像模块仿真图系统连接关系图:图20 系统连接图系统仿真结果:图21 系统仿真结果第5章 实习总结上机实践中,我发现一不小心就会调用错误,说明了作为软件编程人员是不能粗心大意的,一个程序的质量的高低与你细心与否有着一定的联系。在编程时,我充分使用了结构化的思想,这样程序检查起来也比较方便,调试时也给了我很大方便,只要一个模块一个模块进行调就可以了,充分体现了结构化编程的优势。在设计中要求我要有耐心和毅力,一个小的错误就会导致结果的不正确,而对错误的检查要求我要有足够的耐心,通过这次设计和设计中遇到的问题,也积累了一定的经验,对以后从事编程工作会有一

44、定的帮助。 通过的紧张工作,完成了我的设计任务液晶显示屏LCD显示接口设计。通过本次课程设计的学习,我深深的体会到设计课的重要性和目的性所在。对软件工程的一些错误理解有了重新的认识。在设计过程中,遇到了很多问题,在解决这些问题的过程中,对它们有了重新的正确认识。更重要的是在设计过程中培养锻炼了我科学严谨的学习、工作作风和认真的态度。本次设计课不仅仅培养了我们的实际操作能力,也培养了我们灵活运用课本知识,理论联系实际,独立自主的进行设计的能力。此次系统设计给我提供了一个既动手又动脑、自学、独立实践的机会,使我养成了勤翻阅各种相关资料的习惯,将书本上的理论知识和实际有机地结合起来,锻炼了实际分析问

45、题和解决问题的能力,提高了适应实际的能力,为今后的学习和实践打下了良好的基础。致谢在本次设计中,我想首先要感谢王忠锋老师,因为在课程设计还没开始前,老师就叫我们早做准备,熟悉Quartus的使用方法;在设计过程中给我们一一解决难题,使我们的课程设计能够较成功地完成。参考文献1 潘松,黄继业。EDA技术与VHDL(第二版),清华大学出版社。2 刘韬,楼兴华。FPGA数字电子系统设计与开发实例导航,人民邮电出版社。3 周立功等编著。EDA实验与实践,北京航空航天大学出版社。4 王彦 主编。基于FPGA的工程设计与应用,西安电子科技大学出版社。5杨晓慧,杨永健 著。 基于FPGA的EDA/SOPC技术与VHDL,国防工业出版社。30

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!