实验三 触摸屏 LCD接口

合集下载

液晶显示器实训实验报告

液晶显示器实训实验报告

一、实验目的1. 理解液晶显示器(LCD)的基本工作原理和组成结构。

2. 掌握液晶显示器驱动电路的设计与调试方法。

3. 熟悉液晶显示器的接口技术及其与单片机的连接方式。

4. 通过实验验证液晶显示器的显示功能,并实现简单图形和文字的显示。

二、实验原理液晶显示器(LCD)是一种利用液晶材料的光学各向异性来实现图像显示的设备。

它主要由液晶层、偏光片、电极阵列、驱动电路等部分组成。

液晶分子在电场作用下会改变其排列方向,从而改变通过液晶层的光的偏振状态,实现图像的显示。

三、实验器材1. 液晶显示器模块(如12864 LCD模块)2. 单片机开发板(如STC89C52单片机)3. 电源模块4. 连接线5. 实验平台(如面包板)四、实验内容1. 液晶显示器模块的识别与检测首先,对所购买的液晶显示器模块进行外观检查,确保无损坏。

然后,根据模块说明书,连接电源和单片机开发板,进行初步的检测。

2. 液晶显示器驱动电路的设计与调试根据液晶显示器模块的技术参数,设计驱动电路。

主要包括以下部分:- 电源电路:将单片机提供的电压转换为液晶显示器所需的电压。

- 驱动电路:负责控制液晶显示器模块的行、列电极,实现图像的显示。

- 接口电路:将单片机的信号与液晶显示器的控制信号进行连接。

在设计电路时,需要注意以下几点:- 电源电压要稳定,避免对液晶显示器模块造成损害。

- 驱动电路的驱动能力要足够,确保液晶显示器模块能够正常显示。

- 接口电路的信号传输要可靠,避免信号干扰。

设计完成后,进行电路调试,确保电路正常工作。

3. 液晶显示器的控制程序编写根据液晶显示器模块的控制指令,编写控制程序。

主要包括以下部分:- 初始化程序:设置液晶显示器的显示模式、对比度等参数。

- 显示程序:实现文字、图形的显示。

- 清屏程序:清除液晶显示器上的显示内容。

在编写程序时,需要注意以下几点:- 控制指令要正确,避免对液晶显示器模块造成损害。

- 程序要简洁,易于调试和维护。

lcd显示实验报告

lcd显示实验报告

lcd显示实验报告LCD显示实验报告概述:本次实验旨在研究和探究液晶显示技术的原理和应用。

液晶显示器(LCD)是一种广泛应用于电子设备中的平面显示技术,其优点包括低功耗、高对比度、视角广等特点。

通过实验,我们将深入了解LCD的工作原理以及其在各种设备中的应用。

实验步骤:1. 实验前准备在实验开始前,我们需要准备一块LCD显示屏、适配器、电源线以及连接所需的电缆。

2. 实验搭建将LCD显示屏与适配器通过电缆连接,并将电源线插入适配器和电源插座之间。

确保所有连接牢固可靠。

3. 实验操作打开电源开关,观察LCD显示屏是否正常亮起。

如果显示屏亮起,说明连接成功。

4. 实验观察观察LCD显示屏上的图像、文字或图标是否清晰可见。

注意观察显示屏的对比度、颜色鲜艳度以及视角范围等特点。

5. 实验分析通过对比实验观察到的LCD显示效果,我们可以得出以下结论:- LCD显示屏的图像清晰度和对比度较高,能够呈现出细节丰富的图像。

- LCD显示屏的颜色鲜艳度较高,能够准确还原图像的真实色彩。

- LCD显示屏的视角范围较广,观察者可以从不同角度观察屏幕上的内容而不会出现明显的颜色变化或失真。

实验原理:液晶显示器的工作原理是利用液晶分子的光学性质来调节光的透过程度。

液晶分子在电场的作用下会发生旋转或排列,从而改变光的透过程度,进而形成图像。

液晶显示器主要由两层玻璃基板构成,中间夹层有液晶分子。

在两层玻璃基板上分别涂有透明电极,并通过透明电极与外部电源相连。

当外部电源施加电压时,电场作用下液晶分子发生旋转或排列,从而改变光的透过程度。

液晶显示器通常由红、绿、蓝三种基本颜色的像素组成,通过控制每个像素的电压来调节颜色的深浅和亮度。

通过对不同像素的电压控制,液晶显示器能够呈现出丰富多彩的图像。

应用领域:液晶显示器已广泛应用于各种电子设备中,包括但不限于以下领域:1. 个人电脑和笔记本电脑:作为主要的显示设备,液晶显示器提供了清晰、高对比度的图像,使用户能够更好地操作和浏览信息。

触摸屏实验报告

触摸屏实验报告

触摸屏实验报告一、实验目的本次触摸屏实验的主要目的是深入了解触摸屏的工作原理、性能特点以及应用场景,并通过实际操作和测试,掌握触摸屏的基本使用方法和相关技术参数的测量。

二、实验设备1、触摸屏实验装置一套,包括触摸屏、控制器、数据线等。

2、电脑一台,用于运行测试软件和数据处理。

3、测量工具,如游标卡尺、万用表等。

三、实验原理触摸屏是一种可接收触头等输入讯号的感应式液晶显示装置。

从技术原理来区别触摸屏,可分为五个基本种类:电阻技术触摸屏、电容技术触摸屏、红外线技术触摸屏、表面声波技术触摸屏和近场成像技术触摸屏。

电阻触摸屏的屏体部分是一块多层复合薄膜,由一层玻璃或有机玻璃作为基层,表面涂有一层透明的导电层(ITO 膜),上面再盖有一层外表面硬化处理、光滑防刮的塑料层。

它的工作原理是通过压力使上下两层导电层在触摸点位置接触,从而实现触摸位置的检测。

电容触摸屏是利用人体的电流感应进行工作的。

电容屏是一块四层复合玻璃屏,玻璃屏的内表面和夹层各涂有一层 ITO(纳米铟锡金属氧化物),最外层是一薄层矽土玻璃保护层,夹层 ITO 涂层作为工作面,四个角上引出四个电极,内层 ITO 为屏蔽层以保证良好的工作环境。

当手指触摸在金属层上时,由于人体电场,用户和触摸屏表面形成一个耦合电容,对于高频电流来说,电容是直接导体,于是手指从接触点吸走一个很小的电流。

这个电流分别从触摸屏的四角上的电极中流出,并且流经这四个电极的电流与手指到四角的距离成正比,控制器通过对这四个电流比例的精确计算,得出触摸点的位置。

四、实验步骤1、连接设备将触摸屏实验装置与电脑正确连接,确保数据线连接牢固,设备电源正常接通。

2、安装驱动和测试软件在电脑上安装触摸屏的驱动程序,并运行相应的测试软件。

3、校准触摸屏按照测试软件的提示,进行触摸屏的校准操作,以确保触摸位置的准确性。

4、进行触摸测试使用手指或专用的触摸笔在触摸屏上进行点击、滑动、缩放等操作,观察触摸屏的响应情况,并记录相关数据。

lcd的显示实验报告

lcd的显示实验报告

lcd的显示实验报告LCD的显示实验报告概述:本次实验旨在研究液晶显示屏(LCD)的原理和显示效果。

通过搭建实验装置,观察和分析不同输入信号对LCD显示效果的影响,以及了解液晶分子的排列和光学特性。

实验装置:1. 液晶显示屏:使用一块常见的LCD显示屏,尺寸为10英寸。

2. 驱动电路:使用专业的LCD驱动电路板,可提供不同的输入信号。

3. 信号发生器:用于产生不同频率和幅度的信号,以模拟不同图像和视频场景。

实验步骤:1. 连接实验装置:将LCD显示屏和驱动电路连接,确保电路正常工作。

2. 设置信号发生器:根据实验要求,设置信号发生器的频率和幅度。

3. 观察LCD显示效果:通过改变信号发生器的输入信号,观察LCD显示屏上显示的图像和视频场景的变化。

实验结果:1. 彩色显示效果:通过调整信号发生器的输入信号,我们观察到LCD显示屏可以呈现丰富多彩的图像和视频场景。

不同的颜色通过液晶分子的排列方式和光学特性实现。

2. 对比度和亮度:通过改变信号发生器的幅度,我们发现LCD显示屏的对比度和亮度也会相应改变。

较大的幅度可以增加对比度和亮度,但过大的幅度可能导致图像失真。

3. 响应时间:我们还观察到LCD显示屏的响应时间对快速移动图像的显示效果有影响。

较短的响应时间可以减少运动模糊,提高图像的清晰度。

讨论与分析:1. 液晶分子排列:液晶显示屏的显示效果是通过液晶分子的排列方式来实现的。

液晶分子在电场的作用下,可以改变其排列方式,从而改变透光性。

这种特性使得液晶显示屏可以呈现不同的图像和颜色。

2. 优点与缺点:与传统的CRT显示器相比,液晶显示屏具有体积小、重量轻、功耗低等优点。

然而,液晶显示屏的响应时间相对较长,可能导致快速移动图像的模糊。

此外,液晶显示屏的视角范围有限,需要保持正对屏幕才能获得最佳视觉效果。

3. 应用领域:液晶显示屏已广泛应用于电子产品领域,如电视、计算机显示器、智能手机等。

其轻薄便携的特点使得液晶显示屏成为现代生活中不可或缺的一部分。

4.6 彩色LCD显示接口与触摸屏

4.6 彩色LCD显示接口与触摸屏

3.4 触摸屏接口触摸屏是一种新型的输入设备,它是目前最简单、方便、自然的一种人机交互方式。

使用者不必事物接受专业训练,仅需以手指触摸计算机显示屏上的图符或文字就能实现对主机操作,大大简化了计算机的操作模式。

触摸屏的界面直观、自然,特别给非计算机专业人员带来了极大方便,免除了对键盘不熟悉所造成的苦恼,有效地提高了人机对话的效率,因此它是当今最佳的计算机输入设备。

3.4.1 触摸屏简介1、触摸屏的发展最早的触摸屏技术起源于国外军方,当时利用压力触摸屏技术,让士兵可以用手指在屏上触动以瞄准显示器中、视野内的准星十字坐标。

触摸屏在国内的应用可以追溯到20世纪80年代末。

1992年以前销量很小,在经过4~5年的尝试之后,随着一批以触摸屏为主营项目的经销商出现,市场于1996年进入了一个稳定发展的时期。

在此之后,随着大量应用软件的出现,触摸屏以惊人的速度由一个应用领域很窄的专业市场过渡到可以用于各行业的大众化产品。

它已经成为继键盘、鼠标、手写板、语音输入后最为普通百姓易于接受的计算机输入方式,是一种极有发展前途的交互式输入技术。

触摸屏的发展经历了从红外屏、四线电阻屏、电容屏、表面声波触摸屏到五线电阻触摸屏的发展历程,性能越来越可靠,技术也越来越先进。

从视觉效果上比较,各种触摸屏技术的优劣顺序是:红外线技术、表面声波技术、电阻技术、电容技术。

从定位原理上比较,优劣顺序是:红外线技术、电阻技术、表面声波技术、电容技术。

电容触摸屏器件的参数特性容易漂移,很难长时间稳定工作。

表面声波触摸屏对灰尘和脏物比较敏感,传感器寿命也比较短。

改进后的红外线技术和电阻技术都能长时间稳定工作。

电阻触摸屏功耗比较低,但是在使用过程中容易被划伤。

红外触摸屏的价格比电阻屏要高一些。

前几年,红外触摸屏和声波触摸屏都表现出较好的前景,而且声波触摸屏由于对显示器表面平整度的要求不高,在球面、柱面显示器市场上占了先机。

而红外触摸屏对显示器表面平整度要求较高,但近两年来,纯平显示器和液晶显示器逐渐成为时尚,使红外触摸屏的市场前景豁然开朗。

LCD屏接口详解

LCD屏接口详解

LCD的接口有多种,分类很细。

主要看LCD的驱动方式和控制方式,目前手机上的彩色LCD的连接方式一般有这么几种:MCU模式,RGB模式,SPI模式,VSYNC模式,MDDI模式,DSI模式。

MCU模式(也写成MPU模式的)。

只有TFT模块才有RGB接口。

但应用比较多的就是MUC模式和RGB 模式,区别有以下几点:1.MCU接口:会解码命令,由timing generator产生时序信号,驱动COM和SEG驱器。

RGB接口:在写LCD register setting时,和MCU接口没有区别。

区别只在于图像的写入方式。

2.用MCU模式时由于数据可以先存到IC内部GRAM后再往屏上写,所以这种模式LCD可以直接接在MEMORY的总线上。

用RGB模式时就不同了,它没有内部RAM,HSYNC,VSYNC,ENABLE,CS,RESET,RS可以直接接在MEMORY的GPIO口上,用GPIO口来模拟波形.3.MPU接口方式:显示数据写入DDRAM,常用于静止图片显示。

RGB接口方式:显示数据不写入DDRAM,直接写屏,速度快,常用于显示视频或动画用。

MCU接口和RGB接口主要的区别是:MCU接口方式:显示数据写入DDRAM,常用于静止图片显示。

RGB接口方式:显示数据不写入DDRAM,直接写屏,速度快,常用于显示视频或动画用。

MCU模式因为主要针对单片机的领域在使用,因此得名.后在中低端手机大量使用,其主要特点是价格便宜的。

MCU-LCD接口的标准术语是Intel提出的8080总线标准,因此在很多文档中用I80 来指MCU-LCD屏。

主要又可以分为8080模式和6800模式,这两者之间主要是时序的区别。

数据位传输有8位,9位,16位,18位,24位。

连线分为:CS/,RS(寄存器选择),RD/,WR/,再就是数据线了。

优点是:控制简单方便,无需时钟和同步信号。

缺点是:要耗费GRAM,所以难以做到大屏(3.8以上)。

LCD液晶显示试验

LCD液晶显示试验

实验二十二、LCD液晶显示器实验(并行方式)【实验目的】1.了解LCD液晶模块的基本原理和功能;2.掌握LCD 液晶模块和微控制器的硬件接口和软件设计方法。

【实验设备】1.PⅣ主机/128内存/60G硬盘计算机一台2.微控制器原理及接口技术实验系统一台【实验原理】RT12864HZ汉字图形点阵液晶显示模块可显示汉字和图形。

内置8192个中文汉字(16*16点阵)、128个字符(8*16点阵)及64*256点阵显示(用于图形)。

模块由20个引脚与外界电路相连,其中8条数据线,5条控制线,3条电源线,2条背光电源线,2条没定义。

引脚详细说明见附录。

模块可以并行或串行方式与微控制器相连,由15脚选择。

15脚接高电平时为并行,接低电平时为串行。

通过送入指令和数据,可对显示方式和显示内容作出选择。

而D7~D0则决定指令功能。

基本指令共11条,扩展指令7条。

基本指令包括清除、地址归位、输入方式设置、显示开关控制、写位控制、功能设定等。

详细指令说明见附录。

文本显示RAM提供8个*4行的汉字空间,当写入文本显示RAM时,可以分别显示CGROM、HCGROM和CGRAM字型。

HCGROM为半宽字型(8*16点阵),CGROM为中文字型,CGRAM为自定义的中文字型。

三种字型的选择由写入DDRAM的编码选择。

详见附录。

实验原理线路图如下:【实验内容及要求】通过编程在LCD上第一行显示0~9 十个数字,第二行显示A~Q十六个字母。

【实验步骤】1.接通电源,将拨动开关S20拨向左方,使液晶模块的背景光亮起来;2.将拨动开关S16,S17,S18拨向右方,S19拨向左方,硬件已准备就绪;3.通过仿真器编辑,编译并运行程序,观察LCD屏幕。

【实验设计报告要求】结合资料,考虑怎么在LCD上显示汉字。

【实验实验程序】W_C_ADD EQU 2070H ;写命令字地址W_D_ADD EQU 2071H ;写数据地址R_S_ADD EQU 2072H ;读状态字地址R_D_ADD EQU 2073H ;读数据地址DATA1 EQU 30H ;存放待显示字符的ASCII码ORG 0000HLJMP MAINMAIN: MOV SP,#60H ;设置SP初值LCALL INI ;调用初始化子程序LCALL DCHAR ;调用字符显示子程序JMP $ ;等待;字符显示子程序DCHAR: MOV DATA1,#30H ;第一行显示0~9 十个数字MOV B,#10 ;设置显示数据个数为10MOV A,#80H ;设置显示坐标,80H对应字符的第一行第一列LCALL CMD_LCD ;送命令DCH0: MOV A,DATA1LCALL W_LCD ;送数据INC DATA1DJNZ B,DCH0MOV DATA1, #41H ;第二行显示A~Q十六个字母MOV B,#16 ;设置显示数据个数为16MOV A,#90H ;设置显示坐标,90H对应字符的第二行第一列LCALL CMD_LCD ;送命令DCHA: MOV A,DATA1LCALL W_LCD ;送数据INC DATA1DJNZ B,DCHARETINI: PUSH ACC ;初始化子程序MOV A,#30H ;功能设置LCALL CMD_LCDLCALL DELAYMOV A,#30H ;功能设置LCALL CMD_LCDLCALL DELAYMOV A,#30H ;功能设置LCALL CMD_LCDMOV A,#0CH ;显示状态 ONLCALL CMD_LCDMOV A,#01H ;清除显示LCALL CMD_LCDMOV A,#02H ;地址归位LCALL CMD_LCDPOP ACCRETDELAY: MOV R6,#00H ;延时50毫秒子程序MOV R7,#00HDELAY1: NOPDJNZ R7,DELAY1DJNZ R6,DELAY1RETCHKBUSY:PUSH DPH ;忙状态检测子程序PUSH DPLPUSH PSWPUSH ACCMOV DPTR,#R_S_ADD ;送读状态字地址CHK: MOVX A,@DPTR ;从液晶模块读状态JB ACC.7,CHK ;判断状态POP ACCPOP PSWPOP DPLPOP DPHRETCMD_LCD:PUSH DPH ;写命令到LCD子程序PUSH DPLLCALL CHKBUSY ;忙状态检测MOV DPTR,#W_C_ADD ;送写命令字地址MOVX @DPTR,A ;向液晶模块写命令POP DPLPOP DPHRETW_LCD: PUSH DPH ;写数据到LCD子程序PUSH DPLLCALL CHKBUSY ;忙状态检测MOV DPTR,#W_D_ADD ;送写数据地址MOVX @DPTR,A ;向液晶模块写数据POP DPLPOP DPHRETEND实验二十三、LCD液晶显示器(串行方式)【实验目的】同实验二十一。

LCD实验报告

LCD实验报告

LCD显示器实验周四上午夏晓天电子信息科学与技术06300720040【预习报告】一.实验目的1.掌握LCD显示器的工作原理。

2.掌握基于MCS-51的LCD显示器接口电路的设计方法。

二.实验内容1.设计基于MCS-51的2行16个字符的LCD显示器接口电路,在第一行从左到右依次显示数字0~9,A~F;在第二行从左到右依次显示小写英文字母a~p。

2.利用MCS-51定时器计时,在2行16个字符的LCD 显示器的第一行显示当前时间的年、月、日,在第二行显示时、分、秒。

格式:××××年××月××日,××:××:××。

3.同上,利用MCS-51定时器计时(仅计分、秒),显示当前的年、月、日,时、分、秒(年、月、日、时采用固定数据)。

所有的信息在2行16个字符的LCD 显示器的第一行上显示,采用滚动的喜爱你是方式。

格式:××××年××月××日,××:××:××。

三.电原理图和程序清单总的硬件连接图:CPLD电原理图:7-4-1.第一行显示0~9,A~F,第二行显示a~p程序清单:ORG 0000HAJMP MAINORG 0030HMAIN:COM EQU 20H ;指令寄存器DAT EQU 21H ;数据寄存器CW_ADD EQU 0000H ;指令口写地址CR_ADD EQU 0002H ;指令口读地址DW_ADD EQU 0001H ;数据口写地址DR_ADD EQU 0003H ;数据口读地址;初始化INIT: MOV A,#30H ;工作方式设置指令代码MOV DPTR,#CW_ADD ;指令口地址设置MOV R2,#03H ;循环量=3MOVX @DPTR,A ;写指令代码INIT1: LCALL DELAY ;延时DJNZ R2,INIT1MOV A,#38H ;设置8位总线工作方式MOVX @DPTR,AMOV COM,#01H ;清屏LCALL PR1MOV COM,#06H ;设置输入方式LCALL PR1MOV COM,#0CH ;设置显示方式LCALL PR1MOV COM,#80H ;设置DDRAM地址为00H(第一行第一位)LCALL PR1MOV R0,#10H ;第一行循环量=16MOV R2,#0FH ;偏移量UP: MOV DPTR,#TABLE1 ;取字符代码MOV A,R2MOVC A,@A+DPTRMOV DAT,A ;暂存DATLCALL PR2 ;显示字符DEC R2DJNZ R0,UPMOV DPTR,#CW_ADDMOV COM,#0C0H ;设置DDRAM地址为40H(第二行第一位) LCALL PR1MOV R0,#10H ;第二行循环量=16MOV R2,#0FH ;偏移量DOWN: MOV DPTR,#TABLE2 ;取字符代码MOV A,R2MOVC A,@A+DPTRMOV DAT,A ;暂存DATLCALL PR2 ;显示字符DEC R2DJNZ R0,DOWNHE: SJMP HE;写指令代码(子程序)PR1: PUSH DPHPUSH DPLPUSH ACCMOV DPTR,#CR_ADDPR11: MOVX A,@DPTR ;查询LCD是否忙JB ACC.7,PR11MOV A,COMMOV DPTR,#CW_ADD ;写指令MOVX @DPTR,APOP ACCPOP DPLPOP DPHRET;延时5ms(子程序)DELAY: MOV R6,#28HDEL1: MOV R7,#7BHDEL2: DJNZ R7,DEL2DJNZ R6,DEL1RET;写显示数据(子程序)PR2: PUSH DPHPUSH DPLPUSH ACCMOV DPTR,#CR_ADDPR21: MOVX A,@DPTR ;查询LCD是否忙 JB ACC.7,PR21MOV A,DATMOV DPTR,#DW_ADD ;写数据MOVX @DPTR,APOP ACCPOP DPLPOP DPHRET;字符存储区TABLE1:DB 46H,45H ;’F’,’E’DB 44H,43H ;’D’,’C’DB 42H,41H ;’B’,’A’DB 39H,38H ;’9’,’8’DB 37H,36H ;’7’,’6’DB 35H,34H ;’5’,’4’DB 33H,32H ;’3’,’2’DB 31H,30H ;’1’,’0’TABLE2:DB 70H,6FH ;’p’,’o’DB 6EH,6DH ;’n’,’m’DB 6CH,6BH ;’k’,’l’DB 6AH,69H ;’I’,’j’DB 68H,67H ;’g’,’h’DB 66H,65H ;’e’,’f’DB 64H,63H ;’c’,’d’DB 62H,61H ;’a’,’b’END7-4-2.固定显示时间程序清单:ORG 0000HAJMP MAINORG 0030HMAIN:MNTG EQU 30H ;分高位寄存器MNTD EQU 31H ;分低位寄存器SCNDG EQU 32H ;秒高位寄存器SCNDD EQU 33H ;秒低位寄存器COM EQU 20H ;指令寄存器DAT EQU 21H ;数据寄存器CW_ADD EQU 0000H ;指令口写地址CR_ADD EQU 0002H ;指令口读地址DW_ADD EQU 0001H ;数据口写地址DR_ADD EQU 0003H ;数据口读地址;初始化MOV R0,#04H ;循环4次MOV R1,#30HCLRJ: MOV @R1,#00H ;30H~33H寄存器清零INC R1DJNZ R0,CLRJINIT: MOV A,#30H ;工作方式设置指令代码MOV DPTR,#CW_ADD ;指令口地址设置MOV R2,#03H ;循环量=3MOVX @DPTR,A ;写指令代码INIT1: LCALL DELAY ;延时DJNZ R2,INIT1MOV A,#38H ;设置8位总线工作方式MOVX @DPTR,AMOV COM,#01H ;清屏LCALL PR1MOV COM,#06H ;设置输入方式LCALL PR1MOV COM,#0CH ;设置显示方式LCALL PR1;写汉字字模‘年’MOV COM,#40H ;设置CGRAM地址为00HLCALL PR1MOV R0,#00H ;偏移量MOV DPTR,#ZYEAR ;将’年’写入CGRAM中00H~07H单元LCALL HANZI;写汉字字模‘月’MOV COM,#48H ;设置CGRAM地址为08H~0FHLCALL PR1MOV DPTR,#ZMONTH ;将’月’写入CGRAM中08H~0FH单元LCALL HANZI;写汉字字模‘日’MOV COM,#50H ;设置CGRAM地址为10H~17HLCALL PR1MOV DPTR,#ZDAY ;将’日’写入CGRAM中10H~17H单元LCALL HANZI;初始显示第一行MOV COM,#80H; ;设置DDRAM地址为00H(第一行第一位) LCALL PR1MOV R0,#0BH ;第一行显示11个字MOV R2,#0AH ;偏移量MOV DPTR,#TBL1ROW1: MOV A,R2MOVC A,@A+DPTR ;取字符MOV DAT,A ;暂存DATLCALL PR2 ;显示DEC R2DJNZ R0,ROW1;初始显示第二行MOV COM,#0C0H; ;设置DDRAM地址为40H(第二行第一位) LCALL PR1MOV R0,#08H ;第二行显示8个字MOV R2,#07H ;偏移量MOV DPTR,#TBL2ROW2: MOV A,R2MOVC A,@A+DPTR ;取字符MOV DAT,A ;暂存DATLCALL PR2 ;显示DEC R2DJNZ R0,ROW2;计时TIME: MOV R0,#14H ;20×50ms=1sTIME1: MOV TMOD,#01H ;设置定时器0工作方式MOV TH0,#03CH ;设置计数初值为3CB0HMOV TL0,#0B0HSETB EA ;开CPU中断SETB ET0 ;开定时器中断SETB TR0 ;开始计时L: JNB TF0,$CLR TF0 ;清定时器溢出标志DJNZ R0,TIME1MOV R0,#14HMOV TH0,#03CH ;重新写入计数初值MOV TL0,#0B0HSETB EASETB ET0SETB TR0MOV A,SCNDD ;取秒低位INC A ;秒低位加1MOV SCNDD,ACJNE A,#0AH,M1 ;逢十进一MOV SCNDD,#00HMOV A,SCNDG ;取秒高位INC A ;秒低位满十秒高位加1MOV SCNDG,ACJNE A,#06H,M2 ;逢六进一MOV SCNDG,#00HMOV A,MNTD ;取分低位INC A ;秒高位满六分低位加1MOV MNTD,ACJNE A,#0AH,F1 ;逢十进一MOV MNTD,#00HMOV A,MNTG ;取分高位INC A ;分低位满十分高位加1MOV MNTG,ACJNE A,#06H,F2 ;分高位满六分低位加1MOV MNTG,#00HLCALL BIAN ;改变分秒显示(满1小时)SJMP LM1: LCALL BIAN ;只改变秒低位显示(未满10秒)SJMP LM2: LCALL BIAN ;只改变秒显示(未满1分钟)SJMP LF1: LCALL BIAN ;只改变秒和分高位显示(未满10分钟) SJMP LF2: LCALL BIAN ;改变分秒显示(未满1小时)SJMP L;改变分、秒的显示(子程序)BIAN: MOV A,SCNDDADD A,#30H ;将秒低位转为ASCII码MOV COM,#0C7H ;秒低位显示在第二行第八位LCALL PR1MOV DAT,ALCALL PR2MOV A,SCNDGADD A,#30H ;将秒高位转为ASCII码MOV COM,#0C6H ;秒高位显示在第二行第七位LCALL PR1MOV DAT,ALCALL PR2MOV A,MNTDADD A,#30H ;将秒低位转为ASCII码MOV COM,#0C4H ;分低位显示在第二行第五位LCALL PR1MOV DAT,ALCALL PR2MOV A,MNTGADD A,#30H ;将分高位转为ASCII码MOV COM,#0C3H ;分高位显示在第二行第四位 LCALL PR1MOV DAT,ALCALL PR2RET;延时5ms(子程序)DELAY: MOV R6,#28HDEL1: MOV R7,#7BHDEL2: DJNZ R7,DEL2DJNZ R6,DEL1RET;存储汉字(子程序)HANZI: PUSH DPHPUSH DPLPUSH ACCNEXT: POP ACCPOP DPLPOP DPHPUSH DPHPUSH DPLPUSH ACCMOV A,R0MOVC A,@A+DPTR ;取字模MOV R1,AMOV DPTR,#CR_ADDHANZI2:MOVX A,@DPTRJB ACC.7,HANZI2 ;查询LCD是否忙MOV A,R1MOV DPTR,#DW_ADDMOVX @DPTR,A ;写入CGMRAMINC R0CJNE R0,#08H,NEXTMOV R0,#00HPOP ACCPOP DPLPOP DPHRET;写指令代码(子程序)PR1: PUSH DPHPUSH DPLPUSH ACCMOV DPTR,#CR_ADDPR11: MOVX A,@DPTR ;查询LCD是否忙JB ACC.7,PR11MOV A,COMMOV DPTR,#CW_ADD ;写指令MOVX @DPTR,APOP ACCPOP DPLPOP DPHRET;写显示数据(子程序)PR2: PUSH DPHPUSH DPLPUSH ACCMOV DPTR,#CR_ADDPR21: MOVX A,@DPTR ;查询LCD是否忙 JB ACC.7,PR21MOV A,DATMOV DPTR,#DW_ADD ;写数据MOVX @DPTR,APOP ACCPOP DPLPOP DPHRET;汉字字模存储区ZYEAR: DB 08H,0FH,12H,0FH,0AH,1FH,02H,02H ;’年’ ZMONTH:DB 0FH,09H,0FH,09H,0FH,09H,09H,13H ;’月’ ZDAY: DB 0FH,09H,09H,0FH,09H,09H,0FH,00H ;’日’ ;字符代码存储区TBL1: DB 02H,32H,30H,01H,34H,30H,00H,39HDB 30H,30H,32HTBL2: DB 30H,30H,3AH,30H,30H,3AH,30H,31HEND7-4-3.滚动显示时间程序清单:ORG 0000HAJMP MAINORG 0030HMAIN:MNTG EQU 30H ;分高位寄存器MNTD EQU 31H ;分低位寄存器SCNDG EQU 32H ;秒高位寄存器SCNDD EQU 33H ;秒低位寄存器COM EQU 20H ;指令寄存器DAT EQU 21H ;数据寄存器CW_ADD EQU 0000H ;指令口写地址CR_ADD EQU 0002H ;指令口读地址DW_ADD EQU 0001H ;数据口写地址DR_ADD EQU 0003H ;数据口读地址;初始化MOV R0,#04H ;循环4次MOV R1,#30HCLRJ: MOV @R1,#00H ;30H~33H寄存器清零INC R1DJNZ R0,CLRJINIT: MOV A,#30H ;工作方式设置指令代码MOV DPTR,#CW_ADD ;指令口地址设置MOV R2,#03H ;循环量=3MOVX @DPTR,A ;写指令代码INIT1: LCALL DELAY ;延时DJNZ R2,INIT1MOV A,#38H ;设置8位总线工作方式MOVX @DPTR,AMOV COM,#01H ;清屏LCALL PR1MOV COM,#06H ;设置输入方式LCALL PR1MOV COM,#0CH ;设置显示方式LCALL PR1;写汉字字模‘年’MOV COM,#40H ;设置CGRAM地址为00HLCALL PR1MOV R0,#00H ;偏移量MOV DPTR,#ZYEAR ;将’年’写入CGRAM中00H~07H单元 LCALL HANZI;写汉字字模‘月’MOV COM,#48H ;设置CGRAM地址为08H~0FHLCALL PR1MOV DPTR,#ZMONTH ;将’月’写入CGRAM中08H~0FH单元 LCALL HANZI;写汉字字模‘日’MOV COM,#50H ;设置CGRAM地址为10H~17HLCALL PR1MOV DPTR,#ZDAY ;将’日’写入CGRAM中10H~17H单元 LCALL HANZI;将显示字符存储到34H~47H单元MOV R0,#13H ;循环次数19次MOV R1,#34H ;34H单元起始MOV R2,#12H ;偏移量CHN: MOV DPTR,#TBL ;表格首地址MOV A,R2MOVC A,@A+DPTR ;取字符MOV @R1,A ;传送INC R1DEC R2DJNZ R0,CHN;初始显示第一行MOV COM,#80H ;第一行第一位LCALL PR1MOV R2,#10H ;第一行初始显示16位MOV R0,#34HGX: MOV A,@R0MOV DAT,ALCALL PR2INC R0DJNZ R2,GX;计时TIME: MOV R0,#14H ;20×50ms=1sTIME1: MOV TMOD,#01H ;设置定时器0工作方式MOV TH0,#03CH ;设置计数初值为3CB0HMOV TL0,#0B0HSETB EA ;开CPU中断SETB ET0 ;开定时器中断SETB TR0 ;开始计时L: JNB TF0,$CLR TF0 ;清定时器溢出标志DJNZ R0,TIME1MOV R0,#14HMOV TH0,#03CH ;重新写入计数初值MOV TL0,#0B0HSETB EASETB ET0SETB TR0MOV COM,#1CH ;每过1秒执行一次画面向左滚动 LCALL PR1MOV A,SCNDD ;取秒低位INC A ;秒低位加1MOV SCNDD,ACJNE A,#0AH,M1 ;逢十进一MOV SCNDD,#00HMOV A,SCNDG ;取秒高位INC A ;秒低位满十秒高位加1MOV SCNDG,ACJNE A,#06H,M2 ;逢六进一MOV SCNDG,#00HMOV A,MNTD ;取分低位INC A ;秒高位满六分低位加1MOV MNTD,ACJNE A,#0AH,F1 ;逢十进一MOV MNTD,#00HMOV A,MNTG ;取分高位INC A ;分低位满十分高位加1MOV MNTG,ACJNE A,#06H,F2 ;分高位满六分低位加1MOV MNTG,#00HLCALL BIAN ;改变分秒显示值(满1小时)LCALL XSHI ;显示改变后的分秒值SJMP LM1: LCALL BIAN ;只改变秒低位显示值(未满10秒)LCALL XSHI ;显示改变后的分秒值SJMP LM2: LCALL BIAN ;只改变秒显示值(未满1分钟)LCALL XSHI ;显示改变后的分秒值SJMP LF1: LCALL BIAN ;只改变秒和分高位显示值(未满10分钟) LCALL XSHI ;显示改变后的分秒值SJMP LF2: LCALL BIAN ;改变分秒显示值(未满1小时)LCALL XSHI ;显示改变后的时间SJMP L;显示改变后的时间(子程序)XSHI: MOV R3,#13H ;共19个字符MOV R0,#34HMOV COM,#80H ;从第一行第一位开始显示LCALL PR1XSHI1: MOV A,@R0MOV DAT,ALCALL PR2INC R0DJNZ R3,XSHI1RET;改变分秒的显示值(子程序)BIAN: MOV A,SCNDDADD A,#30H ;将秒低位转为ASCII码MOV 46H,A ;将改变后的秒低位存到46H单元MOV A,SCNDGADD A,#30H ;将秒高位转为ASCII码MOV 45H,A ;将改变后的秒高位存到45H单元 MOV A,MNTDADD A,#30H ;将秒低位转为ASCII码MOV 43H,A ;将改变后的分低位存到43H单元 MOV A,MNTGADD A,#30H ;将分高位转为ASCII码MOV 42H,A ;将改变后的分高位存到42H单元 RET;延时5ms(子程序)DELAY: MOV R6,#28HDEL1: MOV R7,#7BHDEL2: DJNZ R7,DEL2DJNZ R6,DEL1RET;存储汉字(子程序)HANZI: PUSH DPHPUSH DPLPUSH ACCNEXT: POP ACCPOP DPLPOP DPHPUSH DPHPUSH DPLPUSH ACCMOV A,R0MOVC A,@A+DPTR ;取字模MOV R1,AMOV DPTR,#CR_ADDHANZI2:MOVX A,@DPTRJB ACC.7,HANZI2 ;查询LCD是否忙MOV A,R1MOV DPTR,#DW_ADDMOVX @DPTR,A ;写入CGMRAMINC R0CJNE R0,#08H,NEXTMOV R0,#00HPOP ACCPOP DPLPOP DPHRET;写指令代码(子程序)PR1: PUSH DPHPUSH DPLPUSH ACCMOV DPTR,#CR_ADDPR11: MOVX A,@DPTR ;查询LCD是否忙 JB ACC.7,PR11MOV A,COMMOV DPTR,#CW_ADD ;写指令MOVX @DPTR,APOP ACCPOP DPLPOP DPHRET;写显示数据(子程序)PR2: PUSH DPHPUSH DPLPUSH ACCMOV DPTR,#CR_ADDPR21: MOVX A,@DPTR ;查询LCD是否忙 JB ACC.7,PR21MOV A,DATMOV DPTR,#DW_ADD ;写数据MOVX @DPTR,APOP ACCPOP DPLPOP DPHRET;汉字字模存储区ZYEAR: DB 08H,0FH,12H,0FH,0AH,1FH,02H,02HZMONTH:DB 0FH,09H,0FH,09H,0FH,09H,09H,13HZDAY: DB 0FH,09H,09H,0FH,09H,09H,0FH,00H;字符代码存储区TBL: DB 30H,30H,3AH,30H,30H,3AH,30H,31HDB 02H,32H,30H,01H,34H,30H,00H,39HDB 30H,30H,32HEND【实验报告】一.修改后的电原理图:(不需修改)二.修改后的程序清单和流程图7-4-1.第一行显示0~9,A~F,第二行显示a~p(不需修改,见预习报告)流程图:7-4-2.固定显示时间只需修改定时器部分:;计时TIME: MOV R0,#14H ;20×50ms=1sL: JNB TF0,$CLR TF0 ;清定时器溢出标志 DJNZ R0,TIME1MOV R0,#14HMOV TH0,#03CH ;重新写入计数初值 MOV TL0,#0B0HSETB EASETB ET0SETB TR0流程图:(见下页)7-4-3.滚动显示时间只需修改定时器部分:;计时TIME: MOV R0,#14H ;20×50ms=1sL: JNB TF0,$CLR TF0 ;清定时器溢出标志 DJNZ R0,TIME1MOV R0,#14HMOV TH0,#03CH ;重新写入计数初值 MOV TL0,#0B0HSETB EASETB ET0SETB TR0流程图:(见下页)三.实验数据和结果7-4-1.第一行显示0~9,A~F,第二行显示a~p 测试数据:(不需)测试结果:proteus仿真结果实验结果和仿真结果一致7-4-2.固定显示时间测试数据:(不需)测试结果:proteus仿真结果实验结果和仿真结果一致7-4-3.滚动显示时间测试数据:(不需)测试结果:proteus仿真结果实验结果和仿真结果一致四.实验分析7-4-1.第一行显示0~9,A~F,第二行显示a~p实验刚开始连接好电路,运行程序,LCD上却没有显示任何东西。

实验三 触摸屏 LCD接口

实验三  触摸屏 LCD接口

实验三触摸屏和LCD接口实验目的1了解ARM处理器LCD驱动控制器的处理机制,掌握在S3C2440A平台下进行LCD 应用编程2了解ARM处理器触摸屏的处理机制,掌握在S3C2440A平台下进行触摸屏应用编程需要完成的任务完成A,B两部分的实验A部分LCD实验本实验实现了LCD的显示和简单的画图功能,具体步骤如下。

步骤1:I/O口LCD功能设置由于I/O口的复用功能,因此需要设置S3C2440A的I/O控制寄存器。

利用ADS1.2工具(ADS工具的使用请参照前面的实验)打开“\SourceCode\Interface\LCD_test”工程文件LCD_test.mcp工程文件。

在程序的开始调用Port_Init()函数,其中就有对PC和PD两个端口的功能设置,读者可以参考。

步骤2:LCD初始化程序根据上述分析,在点亮LCD之前,首先对LCD控制器相关的寄存器进行初始化,从而使LCD控制器的配置与外接LCD模块特性能够匹配;同时在内存中划出一块显示缓冲区,与显示像素点一一对应。

Lcd_Tft_LQ080V3DG1_Init()函数实现了LCD初始化功能。

Lcd_Init();LcdBkLtSet(70);Lcd_PowerEnable(0,1);Lcd_EnvidOnOff(1); //turnonvedioLcd_ClearScr(0xffff); //fillallscreenwithsomecolor#defineLCD_BLANK 12#defineC_UP(LCD_XSIZE_TFT_640480-LCD_BLANK*2)#defineC_RIGHT(LCD_XSIZE_TFT_640480-LCD_BLANK*2)#defineV_BLACK((LCD_YSIZE_TFT_640480-LCD_BLANK*4)/6)Glib_FilledRectangle(LCD_BLANK,LCD_BLANK,(LCD_XSIZE_TFT_640480LCD_BLANK),(LCD_YSIZE_TFT_640480-LCD_BLANK),0x0000);//fillaRectanglewithsomeco lorGlib_FilledRectangle((LCD_BLANK*2),(LCD_BLANK*2+V_BLACK*0),(C_RIGHT),(L CD_BLANK*2+V_BLACK*1),0x001f);//fillaRectanglewithsomecolorGlib_FilledRectangle((LCD_BLANK*2),(LCD_BLANK*2+V_BLACK*1),(C_RIGHT),(L CD_BLANK*2+V_BLACK*2),0x07e0);//fillaRectanglewithsomecolorGlib_FilledRectangle((LCD_BLANK*2),(LCD_BLANK*2+V_BLACK*2),(C_RIGHT),(L CD_BLANK*2+V_BLACK*3),0xf800);//fillaRectanglewithsomecolorGlib_FilledRectangle((LCD_BLANK*2),(LCD_BLANK*2+V_BLACK*3),(C_RIGHT),(L CD_BLANK*2+V_BLACK*4),0xffe0);//fillaRectanglewithsomecolorGlib_FilledRectangle((LCD_BLANK*2),(LCD_BLANK*2+V_BLACK*4),(C_RIGHT),(L CD_BLANK*2+V_BLACK*5),0xf81f);//fillaRectanglewithsomecolorGlib_FilledRectangle((LCD_BLANK*2),(LCD_BLANK*2+V_BLACK*5),(C_RIGHT),(LGlib_Line(LCD_BLANK,LCD_BLANK,(LCD_XSIZE_TFT_640480-LCD_BLANK),(LCD _YSIZE_TFT_640480-LCD_BLANK),0x0000);Glib_Line(LCD_BLANK,(LCD_YSIZE_TFT_640480-LCD_BLANK),(LCD_XSIZE_TFT_ 640480-LCD_BLANK),LCD_BLANK,0x0000);首先该函数调用Lcd_Init()进行基本初始化,其中包括对各个控制寄存器的设置,并在内存中指定一内存缓冲区。

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

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

江西理工大学应用科学学院SOPC/EDA综合课程设计报告设计题目:液晶显示屏LCD显示接口设计设计者:肖小龙学号:08060209114班级:自动化091班指导老师:王忠锋完成时间:2012年1月6日设计报告综合测试总评格式(10)内容(40)图表(10)答辩(20)平时(20)摘要如今,科技进步给我们的生活带来了很大的变化。

液晶显示设备越来越多,各种各样的液晶显示产品走进我们生活中。

从手机到电脑显示器,从掌上电脑到平板电视。

无处没有液晶显示技术的身影。

液晶显示器由于具有低压、微功耗、显示信息量大、体积小等特点,在移动通信终端、便携计算机、GPS卫星定位系统等领域有广泛用途,成为使用量最大的显示器件。

液晶显示控制器作为液晶驱动电路的核心部件通常由集成电路组成,通过为液晶显示系统提供时序信号和显示数据来实现液晶显示。

本设计是一种基于FPGA(现场可编程门阵列)的液晶显示控制器。

与集成电路控制器相比,FPGA更加灵活,可以针对不同的液晶显示模块更改时序信号和显示数据。

FPGA的集成度、复杂度和面积优势使得其日益成为一种颇具吸引力的高性价比ASIC替代方案。

本文选用GW48系列的SOPC/EDA实验开发系统,利用硬件描述语言VHDL设计了液晶显示控制器,实现了替代专用集成电路驱动控制LCD的作用。

关键词:EDA(电子设计自动化),VHDL(硬件描述语言),液晶控制器接口设计,LCD(液晶显示器)。

目录第1章预备知识 (1)1.1 12864点阵型液晶显示屏的基本原理与使用方法 (1)1.1.1 12864点阵型LCD简介 (1)1.1.2 点阵LCD的显示原理 (2)1.1.3 字模提取软件的应用 (4)1.1.4 12864液晶显示模块接口时序 (5)1.1.5 有关FPGA的知识 (6)1.2 课程设计题目:液晶显示屏LCD显示接口设计 (8)1.2.1 课程设计目的及基本要求 (8)1.3 设计要求 (9)第2章设计内容提要及说明 (10)2.1 元件原理图 (10)2.2 12864指令系统 (12)2.2.1 12864用户指令集 (12)2.2.2 FPGA与LCD连接方式 (14)第3章系统硬件设计 (15)第4章设计过程 (19)4.1 初始化部分的状态机设计 (19)4.2 时钟模块的设计 (19)4.3 中文字符部分的数据模块 (21)4.4 图形的数据模块 (24)第5章实习总结 (29)致谢 (30)参考文献 (31)第1章预备知识1.1 12864点阵型液晶显示屏的基本原理与使用方法1.1.1 12864点阵型LCD简介图1 12864实物图LCD液晶显示器是Liquid Crystal Display 的简称,LCD 的构造是在两片平行的玻璃当中放置液态的晶体,两片玻璃中间有许多垂直和水平的细小电线,透过通电与否来控制杆状水晶分子改变方向,将光线折射出来产生画面。

miniSTM32F103开发版LCD显示实验和触摸屏实验文档

miniSTM32F103开发版LCD显示实验和触摸屏实验文档

表 16.1.3 MY、MX、MV 设置与 LCD 扫描方向关系表 这样,我们在利用 ILI9341 显示内容的时候,就有很大灵活性了,比如显示 BMP 图片, BMP 解码数据,就是从图片的左下角开始,慢慢显示到右上角,如果设置 LCD 扫描方向为从 左到右,从下到上,那么我们只需要设置一次坐标,然后就不停的往 LCD 填充颜色数据即可, 这样可以大大提高显示速度。 接下来看指令:0X2A,这是列地址设置指令,在从左到右,从上到下的扫描方式(默认) 下面,该指令用于设置横坐标(x 坐标) ,该指令如表 16.1.4 所示:
图 16.1.4 16 位数据与显存对应关系图 从图中可以看出,ILI9341 在 16 位模式下面,数据线有用的是:D17~D13 和 D11~D1,D0 和 D12 没有用到,实际上在我们 LCD 模块里面,ILI9341 的 D0 和 D12 压根就没有引出来,这 样,ILI9341 的 D17~D13 和 D11~D1 对应 MCU 的 D15~D0。 这样 MCU 的 16 位数据,最低 5 位代表蓝色,中间 6 位为绿色,最高 5 位为红色。数值越 大,表示该颜色越深。另外,特别注意 ILI9341 所有的指令都是 8 位的(高 8 位无效) ,且参数 除了读写 GRAM 的时候是 16 位,其他操作参数,都是 8 位的,这个和 ILI9320 等驱动器不一 样,必须加以注意。 接下来,我们介绍一下 ILI9341 的几个重要命令,因为 ILI9341 的命令很多,我们这里就 不全部介绍了,有兴趣的大家可以找到 ILI9341 的 datasheet 看看。里面对这些命令有详细的介 绍。我们将介绍:0XD3,0X36,0X2A,0X2B,0X2C,0X2E 等 6 条指令。 首先来看指令: 0XD3, 这个是读 ID4 指令, 用于读取 LCD 控制器的 ID, 该指令如表 16.1.1 所示: 顺序 指令 参数 1 参数 2 参数 3 参数 4 控制 RS 0 1 1 1 1 RD 1 ↑ ↑ ↑ ↑ WR ↑ 1 1 1 1 D15~D8 XX XX XX XX XX D7 1 X 0 1 0 1 X 0 0 1 各位描述 D6 D5 0 X 0 0 0 D4 1 X 0 1 0 D3 0 X 0 0 0 D2 0 X 0 0 0 D1 1 X 0 1 0 D0 1 X 0 1 1 HEX D3H X 00H 93H 41H

LCD图片显示器实验报告

LCD图片显示器实验报告

LCD图片显示器实验报告
实验目的
1、了解LCD显示的基本原理。

2、了解LCD的接口与控制方法
3、掌握LCD显示图形的方法
4、学习键盘接口的原理
5、掌握通过I/O端口扩展键盘的方法
实验内容
编写图形显示函数,能在LCD上显示图形,同时,能够通过键盘控制显示特定图片内容,例如:按下键盘键“1”,LCD上显示一张图片,按下键盘键“2”,LCD上显示另一张图片,按下键盘键“3”,LCD上再显示一张图片。

设计原理与硬件电路
1、键盘的基本原理(p134)
2、LCD原理(p138)
3、LCD的图形显示方式(p140)
4、硬件电路图(p139)
程序流程图(p137图改一下)
获取键码->判断键码值->调用相应条件下的图形显示函数->在LCD上显示图片->ROW++... 程序代码(复制一部分关键代码即可)
程序及硬件系统调试情况(截图,照相)
设计总结与体会
通过本次课程设计,我了解了LCD显示的基本原理,初步尝试了LCD的接口与控制编程实现,初步掌握了LCD显示图形的方法,我是采用最直观的图形显示方式,将图形中的颜色信息一个点一个点地输出到LCD的相应位置。

另外,我也学习了键盘接口的相关知识了解了键盘接口的原理,初步编程实现了通过键盘控制图形在LCD上的显示。

参考文献
《ARM9嵌入式技术及Linux高级实践教程》。

触摸屏实验报告

触摸屏实验报告

触摸屏实验报告姓名:林翕组员:郑磊专业:机制班级:11-4学号:1101014252014年10月触摸屏(touch screen)又称为“触控屏”、“触控面板”,是一种可接收触头等输入讯号的感应式液晶显示装置,当接触了屏幕上的图形按钮时,屏幕上的触觉反馈系统可根据预先编程的程式驱动各种连结装置,可用以取代机械式的按钮面板,并借由液晶显示画面制造出生动的影音效果。

触摸屏作为一种最新的电脑输入设备,它是目前最简单、方便、自然的一种人机交互方式。

它赋予了多媒体以崭新的面貌,是极富吸引力的全新多媒体交互设备。

主要应用于公共信息的查询、领导办公、工业控制、军事指挥、电子游戏、点歌点菜、多媒体教学、房地产预售等。

而在本学期的触摸屏实验课中我与组员接触的是一款来自普洛菲斯公司的触摸屏产品,该产品为GP77R系列的GP377R型号,在我们拿到这款产品后,我们先将产品的公司以及型号等数据参数记下,然后通过普洛菲斯公司官方电话得到了该公司在北京地区的代理商北京北方立铭公司,通过电话联系我们从立铭公司技术人员处得到软件下载密码,文件名为GP-ProPB3 V7.25,解压此文件我们到了触摸屏的编程软件ProPBWin C-Package03,根据里面的操作说明书我们到了触摸屏各接口的含义以及数据参数,如下1.接口图D: 电源输入端电源输入端和接地端。

E: 辅助输入/输出(AUX)连接触摸开关,系统报警,蜂鸣,RUN输出和远程复位输入。

H: 画面传送接口连接传送电缆或条形码读入器。

2.环境条件GP270/370/37W/470 GP377/477R GP570/675 GP577R操作温度0~50℃0~40℃保存温度–10~60℃环境温度20~85%(无凝露)30~85%(无凝露)耐振动10~25Hz(X,Y,Z方向各30分钟2G)抗干扰电压噪声:1200Vp-p (DC24V型为1000Vp-p)脉冲宽度:1微秒保持时间(上升/下降):1ns周围空气无腐蚀性气体接地接地电阻小于100Ω保护结构适合IP65F (GP37W-LG11为IP64F)NEMA#250TYPE4X/12 (不包含防结冰)3.屏幕储存GP477R/577R/675 GP37W2/370/377/470/570 GP270/37W 内部存储器FLASHEPROM容量2Mbytes1Mbytes256Kbytes 4.外部接口串行接口RS-232C/RS-422(支持多种PLC协议)数据长度:7或8bit停止位:1或2bit奇偶校验:无, 奇数或偶数数据传送:2400-38400bps(77R系列:到115200bps)辅助输入/输出(AUX)GP270/370/377 /37W无触摸式开关输出:DC24V 8点系统报警输出:DC24V 1点蜂鸣输出:DC24V 1点RUN输出:DC24V 1点外部复位输入:DC24V 1点打印机输出GP270/370/377 并行口输出可接HP,Laserjet,PCL4兼容机,NEC PR系列,EPSON ESC/P24/37W无或兼容打印机图型传送接口RS-232C传送方式,TTL标准接口,有2种工作方式,开发使用来传送画面数据,运行时用做条形码读入接口5.串行接口25针D形插座针号信号名名称针号信号名名称1 FG 框架地14 VCC 5V输出0.25A2 SD 发送数据(RS-232C)15 SDB 发送数据B(RS-422)3 RD 接收数据(RS-232C) 16 RDB 接收数据B(RS-422)4 RS 发送请求(RS-232C)17 NC 不连接5 CS 解除发送(RS-232C) 18 CSB 清除发送B(RS-422)6 NC 不连接19 ERB 使能接收B(RS-422)7 GND 系统地20 ER 使能接收(RS-232C)8 CD 载波检测(RS-232C)21 CSA 清除发送A(RS-422)9 TRMX 终端(RS-422) 22 ERA 使能接收A(RS-422)10 RDA 接收数据A(RS-422) 23 RESERVED保留以后使用11 SDA 发送数据A(RS-422)24 NC 不连接12 NC 不连接25 RESERVED保留以后使用13 NC 不连接如上图中的F口为一个9针的接口,由于没有原厂配线我与组员在老师的带领下动手制作符合规定的接线,我们通过锡焊制作了两根线,一根接了7针,一根9针,然后在实验室通过连接,发现触摸屏与PC 短连接后就黑屏,拔掉就显示,我们与老师探讨过后决定再向北京北方立铭公司求助,通过电话联系我们得到是因为我们的触摸屏与PC 端的接线不是原装线,缺少核心芯片转换口无法将触摸屏与PC端连通使用编程软件进行练习实验,所缺连接线为9针口型号为CPW-CB02/03,由于受实验资金的影响无法继续接下来的实验,所以放弃GP77R系列型号GP377R触摸屏的实验,与老师商量后决定改用另外的触摸进行实验。

LCD屏接口详解

LCD屏接口详解

LCD的接口有多种,分类很细。

主要看LCD的驱动方式和控制方式,目前手机上的彩色LCD的连接方式一般有这么几种:MCU模式,RGB模式,SPI模式,VSYNC模式,MDDI模式,DSI模式。

MCU模式(也写成MPU模式的)。

只有TFT模块才有RGB接口。

但应用比较多的就是MUC模式和RGB 模式,区别有以下几点:1.MCU接口:会解码命令,由timing generator产生时序信号,驱动COM和SEG驱器。

RGB接口:在写LCD register setting时,和MCU接口没有区别。

区别只在于图像的写入方式。

2.用MCU模式时由于数据可以先存到IC内部GRAM后再往屏上写,所以这种模式LCD可以直接接在MEMORY的总线上。

用RGB模式时就不同了,它没有内部RAM,HSYNC,VSYNC,ENABLE,CS,RESET,RS可以直接接在MEMORY的GPIO口上,用GPIO口来模拟波形.3.MPU接口方式:显示数据写入DDRAM,常用于静止图片显示。

RGB接口方式:显示数据不写入DDRAM,直接写屏,速度快,常用于显示视频或动画用。

MCU接口和RGB接口主要的区别是:MCU接口方式:显示数据写入DDRAM,常用于静止图片显示。

RGB接口方式:显示数据不写入DDRAM,直接写屏,速度快,常用于显示视频或动画用。

MCU模式因为主要针对单片机的领域在使用,因此得名.后在中低端手机大量使用,其主要特点是价格便宜的。

MCU-LCD接口的标准术语是Intel提出的8080总线标准,因此在很多文档中用I80 来指MCU-LCD屏。

主要又可以分为8080模式和6800模式,这两者之间主要是时序的区别。

数据位传输有8位,9位,16位,18位,24位。

连线分为:CS/,RS(寄存器选择),RD/,WR/,再就是数据线了。

优点是:控制简单方便,无需时钟和同步信号。

缺点是:要耗费GRAM,所以难以做到大屏(3.8以上)。

实验三 LCD显示实验

实验三  LCD显示实验

实验三LCD显示实验实验学时:2实验类型:设计实验要求:必修一、实验目的通过本实验的学习,使学生熟悉LCD1602,了解液晶显示屏的使用及其电路设计方法,初步掌握液晶的控制方式和显示的方法;二、实验内容采用LCD1602进行电路设计,并编写程序实现LCD显示。

三、实验原理、方法和手段1.液晶显示屏液晶显示屏(LCD,Liquid Crystal Display)主要用于显示文本及图形信息。

液晶显示屏具有轻薄、体积小、耗电量低、无辐射危险、平面直角显示以及影像稳定不闪烁等特点;因此,在许多电子应用系统中,常使用液晶显示屏作为人机界面。

本实验采用的1602液晶模块是2行16个字的显示模块,其内部有80*8位的RAM数据缓冲区。

2.主要技术参数3.1602引脚介绍1602采用标准的16脚接口,其中:第1脚:VSS为地电源第2脚:VDD接5V正电源第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。

第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。

当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。

第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。

第7~14脚:D0~D7为8位双向数据线。

第15~16脚:空脚1602液晶显示模块可以和单片机A T89C51直接接口,电路如图所示(仅供参考):4.1602字符代码对应关系1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如表1所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(xxH),显示时模块把地址xxH中的点阵字符图形显示出来,我们就能看到字母“A”5.1602指令1602液晶模块内部的控制器共有11条控制指令,如表2所示,它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。

LCD实验

LCD实验

裸机实验之—LCD显示实验一实验要求:1、掌握LCD控制器的编程原理。

2、编写测试代码并利用AXD调试验证。

二实验器材:软件:RVDS2.2 AXD硬件:PC机j-link Tiny6410 开发板三实验背景知识:LCD(Liquid Crystal Display),即液晶显示器,是一种采用了液晶控制透光度技术来实现色彩的显示器。

它与传统的CRT显示器相比有很多优点:轻薄,能耗低,辐射小等,市场占有率越来越大。

LCD有多种类型,比如STN、TFT、L TPS TFT、OLED等,各有优缺点。

CPU或显示卡发出的数据图像是TTL信号,LCD接受的也是TTL信号。

由于TTL信号在高速率的长距离传输时性能不佳,抗干扰能力比较差,后来又提出了多种接口,比如LVDS 、TMDS、GVIF等等的接口。

它们实际上就是将CPU或显卡的发出的TTL信号编码成各种信号以便传输,在LCD那边将接受的信号进行解码得到TTL信号。

对于TFT LCD 信号有24数据线对应像素值的每一位。

显示器上的数据组织格式,一幅图像被称为一帧,每帧由多行组成,每行由多个像素组成,每个像素的颜色用若干位数据来表示。

对于单色显示器,每个像素用1位来表示,称为1BPP;对于256色显示器,每个像素用8位来表示,称为8bpp.显示器从屏幕的左上方开始,一行一行地取出每个像素的数据并显示出来,当显示到一行的最右边时,跳到下一行的最左边开始显示下一行;当显示完所有行数后跳到左上方开始执行下一帧。

显示器沿Z字行的路线扫描,使用HSYNC、VSYNC信号来控制扫描信号的跳转,HSYNC表示“是跳到最左边的时候了”,VSYNC表示“是跳到最上边的时候了”。

TFT LCD操作:要操作LCD 就必需先了解TFT LCD的时序这使得我们在设置各个寄存器有个形象的概念。

每个VSYNC信号表示一帧数据的开始;每个HSYNC信号表示一行数据的开始,无论这些数据是否有效;每个VCLK信号表示在传输一个像素数据,无论他是否有效。

触摸屏实训报告

触摸屏实训报告

触摸屏实训报告天津电子信息职业技术学院计算机控制综合实训触摸屏实训报告姓名 zyh学号 04班级电气s07-3班专业电气自动化所在系电子技术系指导教师郑凤歧、张晓燕完成日期 2009年11月26日前言ehsy西域品质提供的西门子5.7英寸触摸屏k-tp178micro系列有如下特点:☆ 5.7 英寸触摸屏, 蓝色4级灰度显示☆ s7-200 plc专用触摸屏☆友好的操作界面:触摸屏+按键☆快速的系统启动时间和操作响应时间☆超大存储空间☆触摸声音反馈☆硬件设计全面更新,无与伦比的高可靠性☆ 5种在线语言切换,32种语言支持,使您的设备能应用于世界各地☆强大的密码保护功能,50个用户组☆更高的鲁棒性,防冲击和震动,并能防水耐脏☆采用32位arm7处理器,性能优异☆集成的lcd控制器,消除了cpu和lcd控制器的之间的传输瓶颈☆组态软件:wincc flexible,编程灵活快捷☆为中国用户量身定做,符合中国用户使用习惯☆作为众多知名品牌的合作伙伴,ehsy西域以其优良的品质和服务来保证操作人员的职业健康,安全环境和美好未来。

- 1 - 技术参数- 2 - - 3 - k-tp178micro触摸屏的多行业应用工程机械行业一般来说工作环境恶劣,常常要在露天和强光照射下工作,灰尘、油污很多,因此要求此类机械设备具有很强的抗冲击、抗振动的能力。

k-tp178micro是该公司专门针对中国中小型自动化产品用户需求而设计的全新5.7ins7-200专用触摸屏。

它集中了同类产品的众多优点,功能强大、性能优越、高可靠性、外表美观、同时价格低廉,适合使用在众多的自动化设备上。

k-tp178micro倾注了全球领先的设计理念、采用最先进的hmi技术,选用最可靠的电子元器件,以及本地化的生产策略。

k-tp178micro与s7-200plc完美结合,能给客户提供最佳的解决方案。

k-tp178micro以其先进强大的功能,稳定可靠的质量,低廉的价格和完善的服务广泛应用于纺织机械、工程机械、医疗制药、空调制冷等行业,均受到最终用户的好评。

LCD数据接口

LCD数据接口

LCD-DBI接口与DPI接口与DSI接口(1)DPI接口也就是通常所说的RGB接口,采用普通的同步、时钟、信号线来传输特定数据,采用SPI等控制线完成命令控制。

某种程度上,DPI与DBI的最大差别是,DPI的数据线和控制线分离,而DBI 是复用的。

它的模型如下:它的信号时序图如下:曾经在调试一个DPI接口LCM时碰到一个奇怪现象,RGB的接口用一个LVDS转换芯片跟一款LVDS模组相连。

重烧程序完后可以显示图像,断电再上电就没有图像,后来发现是上电屏参初始化中没有配置一个CS拉高的使能信号脚。

烧完程序后改脚为高所以可以显示,重断电再上电默认为低所以没有图像。

(2)DBI接口A,也就是通常所讲的MCU借口,俗称80 system接口。

The lcd interface between host processor and LCM device list as below,The LCM driver will repeated update panel display。

MCU借口通过并行接口传输控制命令和数据,并通过往LCM模组自带的GRAM(graphic RAM)更新数据实现屏幕的刷新。

DBI接口分为串行和并行两种,模型如下:B,以典型的18位数据跟16位数据做说明(8位寄存器控制)。

如上硬件采用18位数据线,控制命令和参数占用DB0到DB7并行传输,图像数据采用RGB666的格式并行传输。

如上硬件采用16位数据线,控制命令和参数占用DB0到DB7并行传输,图像数据采用RGB565的格式并行传输。

C,关于DBI data format的说明(I)对于16位的datawidth,典型的数据格式举例如下1cycle/1pixel,RGB565,格式是:rrrrrggggggbbbbb3cycle/2pixel,RGB666,格式是:xxxxrrrrrrgggggg xxxxbbbbbbrrrrrr xxxxggggggbbbbbb3cycle/2pixel,RGB888,格式是:rrrrrrrrgggggggg bbbbbbbbrrrrrrrr ggggggggbbbbbbbb(II)对于18位的datawidth,典型的数据格式举例如下1cycle/1pixel,RGB666,格式是:rrrrrrggggggbbbbbb3cycle/2pixel,RGB888,格式是:rrrrrrrrgggggggg bbbbbbbbrrrrrrrr ggggggggbbbbbbbbD,硬件接口及时序(I)硬件连接图:RESX:复位;CSX:chip select片选;TE:tearing enable;D/CX:register select寄存器选择;WRX/SCL:write control;RDX:read control;DB[....]:传输线。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三触摸屏和LCD接口实验目的1了解ARM 处理器LCD 驱动控制器的处理机制,掌握在S3C2440A 平台下进行LCD 应用编程2 了解ARM 处理器触摸屏的处理机制,掌握在S3C2440A 平台下进行触摸屏应用编程需要完成的任务完成A,B两部分的实验A部分LCD实验本实验实现了LCD 的显示和简单的画图功能,具体步骤如下。

步骤1:I/O 口LCD 功能设置由于I/O 口的复用功能,因此需要设置S3C2440A 的I/O 控制寄存器。

利用ADS1.2 工具(ADS 工具的使用请参照前面的实验)打开“\SourceCode\Interface\LCD_test”工程文件LCD_test.mcp 工程文件。

在程序的开始调用Port_Init()函数,其中就有对PC 和PD两个端口的功能设置,读者可以参考。

步骤2:LCD 初始化程序根据上述分析,在点亮LCD 之前,首先对LCD 控制器相关的寄存器进行初始化,从而使LCD 控制器的配置与外接LCD 模块特性能够匹配;同时在内存中划出一块显示缓冲区,与显示像素点一一对应。

Lcd_Tft_LQ080V3DG1_Init()函数实现了LCD 初始化功能。

Lcd_Init();LcdBkLtSet( 70 ) ;Lcd_PowerEnable(0, 1);Lcd_EnvidOnOff(1); //turn on vedioLcd_ClearScr(0xffff); //fill all screen with some color#define LCD_BLANK 12#define C_UP ( LCD_XSIZE_TFT_640480 - LCD_BLANK*2 )#define C_RIGHT ( LCD_XSIZE_TFT_640480 - LCD_BLANK*2 )#define V_BLACK ( ( LCD_YSIZE_TFT_640480 - LCD_BLANK*4 ) / 6 )Glib_FilledRectangle( LCD_BLANK, LCD_BLANK, ( LCD_XSIZE_TFT_640480LCD_BLANK ), ( LCD_YSIZE_TFT_640480 -LCD_BLANK ),0x0000);//fill a Rectangle with some colorGlib_FilledRectangle( (LCD_BLANK*2), (LCD_BLANK*2 + V_BLACK*0), (C_RIGHT), (LCD_BLANK*2 + V_BLACK*1),0x001f); //fill a Rectangle with some colorGlib_FilledRectangle( (LCD_BLANK*2), (LCD_BLANK*2 + V_BLACK*1), (C_RIGHT), (LCD_BLANK*2 + V_BLACK*2),0x07e0); //fill a Rectangle with some color Glib_FilledRectangle( (LCD_BLANK*2), (LCD_BLANK*2 + V_BLACK*2), (C_RIGHT), (LCD_BLANK*2 + V_BLACK*3),0xf800); //fill a Rectangle with some colorGlib_FilledRectangle( (LCD_BLANK*2), (LCD_BLANK*2 + V_BLACK*3), (C_RIGHT), (LCD_BLANK*2 + V_BLACK*4),0xffe0); //fill a Rectangle with some colorGlib_FilledRectangle( (LCD_BLANK*2), (LCD_BLANK*2 + V_BLACK*4), (C_RIGHT), (LCD_BLANK*2 + V_BLACK*5),0xf81f); //fill a Rectangle with some colorGlib_FilledRectangle( (LCD_BLANK*2), (LCD_BLANK*2 + V_BLACK*5), (C_RIGHT),Glib_Line(LCD_BLANK,LCD_BLANK, (LCD_XSIZE_TFT_640480-LCD_BLANK), (LCD_YSIZE_TFT_640480-LCD_BLANK), 0x0000 ) ;Glib_Line(LCD_BLANK,(LCD_YSIZE_TFT_640480-LCD_BLANK),(LCD_XSIZE_TFT_640480-LCD_BLANK), LCD_BLANK, 0x0000 ) ;首先该函数调用Lcd_Init()进行基本初始化,其中包括对各个控制寄存器的设置,并在内存中指定一内存缓冲区。

Volatile static unsignedshort LCD_BUFER[SCR_YSIZE_TFT_640480][SCR_XSIZE_TFT_640480];然后点亮LCD 屏,并执行一系列画图操作。

步骤3:LCD 测试程序Lcd_Tft_LQ080V3DG1_Test()函数实现了LCD 的测试功能。

具体源码如下:Uart_Printf("\nTest LQ080V3DG1 (TFT LCD)!\n");Lcd_ClearScr( (0x00<<11) | (0x00<<5) | (0x00) ) ; //clear screenUart_Printf( "\nLCD clear screen is finished! press any key to continue!\n" );Uart_Getch() ; //wait uart inputLcd_ClearScr( (0x1f<<11) | (0x3f<<5) | (0x1f) ) ; //clear screenUart_Printf( "LCD clear screen is finished! press any key to continue!\n" );Uart_Getch() ; //wait uart input Lcd_ClearScr( (0x00<<11) | (0x00<<5) | (0x1f) ) ; //clear screenUart_Printf( "LCD clear screen is finished! press any key to continue!\n" );Uart_Getch() ; //wait uart inputLcd_ClearScr( (0x00<<11) | (0x3f<<5) | (0x00) ) ; //clear screenUart_Printf( "LCD clear screen is finished! press any key to continue!\n" );Uart_Getch() ; //wait uart inputLcd_ClearScr( (0x1f<<11) | (0x00<<5) | (0x00) ) ; //clear screenUart_Printf( "LCD clear screen is finished! press any key to continue!\n" );Uart_Getch() ; //wait uart inputLcd_ClearScr( (0x00<<11) | (0x3f<<5) | (0x1f) ) ; //clear screenUart_Printf( "LCD clear screen is finished! press any key to continue!\n" );Uart_Getch() ; //wait uart input Lcd_ClearScr( (0x1f<<11) | (0x00<<5) | (0x1f) ) ; //clear screenUart_Printf( "LCD clear screen is finished! press any key to continue!\n" );Uart_Getch() ; //wait uart inputLcd_ClearScr( (0x1f<<11) | (0x3f<<5) | (0x00) ) ; //clear screenUart_Printf( "LCD clear screen is finished! press any key to continue!\n" );Uart_Getch() ; //wait uart input Lcd_ClearScr(0xffff); //fill all screen with some color#define LCD_BLANK 12#define C_UP ( LCD_XSIZE_TFT_640480 - LCD_BLANK*2 )#define C_RIGHT ( LCD_XSIZE_TFT_640480 - LCD_BLANK*2 )#define V_BLACK ( ( LCD_YSIZE_TFT_640480 - LCD_BLANK*4 ) / 6 )Glib_FilledRectangle( LCD_BLANK, LCD_BLANK, ( LCD_XSIZE_TFT_640480LCD_BLANK ), ( LCD_YSIZE_TFT_640480 - LCD_BLANK ),0x0000); //fill a Rectangle with some colorGlib_FilledRectangle( (LCD_BLANK*2), (LCD_BLANK*2 + V_BLACK*0), (C_RIGHT),Glib_FilledRectangle( (LCD_BLANK*2), (LCD_BLANK*2 + V_BLACK*1), (C_RIGHT), (LCD_BLANK*2 + V_BLACK*2),0x07e0); //fill a Rectangle with some colorGlib_FilledRectangle( (LCD_BLANK*2), (LCD_BLANK*2 + V_BLACK*2), (C_RIGHT), (LCD_BLANK*2 + V_BLACK*3),0xf800); //fill a Rectangle with some colorGlib_FilledRectangle( (LCD_BLANK*2), (LCD_BLANK*2 + V_BLACK*3), (C_RIGHT), (LCD_BLANK*2 + V_BLACK*4),0xffe0); //fill a Rectangle with some colorGlib_FilledRectangle( (LCD_BLANK*2), (LCD_BLANK*2 + V_BLACK*4), (C_RIGHT), (LCD_BLANK*2 + V_BLACK*5),0xf81f); //fill a Rectangle with some colorGlib_FilledRectangle( (LCD_BLANK*2), (LCD_BLANK*2 + V_BLACK*5), (C_RIGHT), (LCD_BLANK*2 + V_BLACK*6),0x07ff); //fill a Rectangle with some colorGlib_Line( LCD_BLANK,LCD_BLANK, (LCD_XSIZE_TFT_640480-LCD_BLANK), (LCD_YSIZE_TFT_640480-LCD_BLANK), 0x0000 ) ;Glib_Line( LCD_BLANK,(LCD_YSIZE_TFT_640480-LCD_BLANK),(LCD_XSIZE_TFT_640480-LCD_BLANK), LCD_BLANK, 0x0000 ) ;Uart_Printf("Any Key To Next!\n") ;Uart_Getch() ; //Any Key To Next Paint_Bmp(0,0,640,480, girl3_640_480); //paint a bmp Uart_Printf( "LCD paint a bmp, please look! press any key to continue! \n" );Uart_Getch() ; //wait uart input程序中执行了颜色填充,矩形画图,画线及位图绘制等功能,具体程序读者可参照光盘提供的源代码,但原理都是向显示缓冲区里写入一定的值而已,这一点读者应该自己掌握,以便自己写出LCD 操作的函数库用以后的程序使用。

相关文档
最新文档