ly-tft系列彩屏使用说明通用板v1_第1页
ly-tft系列彩屏使用说明通用板v1_第2页
ly-tft系列彩屏使用说明通用板v1_第3页
ly-tft系列彩屏使用说明通用板v1_第4页
ly-tft系列彩屏使用说明通用板v1_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、带 SD 卡功能 TFT 真参考资料版本日期内容备注V1.02015/10/18无部分屏幕无触摸功能User Manual1. 硬件结构1.1. TFT 彩屏原理与应用范围TFT 是指液晶显示器上的每一液晶像素点都是由集成在其后的薄膜晶体管来驱动。从而可以做到高速度高亮度高对比度显示屏幕信息,TFT-LCD(薄膜晶体管液晶显示器)是多数液晶显示器的一种。单片机用彩屏的基本信息:分辨率:常用 320 x240,当前主流或者平板的分辨率是 1920 x1200,分辨率是硬件决定的,制造的时候就定型完成。以 320 x240 为例,tft 总像素数=320 x240=76800 个,单片机写入信息按

2、照像素位操作,刷完一个整屏幕需要写入 76800 次信息,分辨率越大,刷新的速度要求越高。由于一般单片机的速度限制,不适合整屏幕刷新,可以使用局部更新数据。颜色格式:TFT 每个像素都可以独立显示任何颜色,显示颜色的总数取决于总线宽度,一般有单色、9 位、16 位、18 位,位数越多,颜色显示越细腻。单片机常用 16 位格式,这种格式基本不影响显示效果,而且驱动连接和程序都非常容易实现。常用的格式是 RGB565,这个数字的意义是红色(R)占前面 5 位,绿色(G)间 6 位,蓝)占后面 5 位。一共 16 位。使用 8 位单片机的时候需要连续输出 2 次 8 位数据才能显示 1 个像素的颜色

3、。彩屏尺寸:任何家电、使用的彩屏都是使用英制尺寸计量,是英寸,简称吋。屏幕的大小是屏幕对角线的长度。比如 2.4 吋, 表示 2.4 英寸, 换算成厘米:2.4x2.54cm=6.096cm。4、驱动类型:彩屏驱动是集成 TFT 玻璃表面,所以称之为 COG(chip on glass ),一般的都集成所有以下接口类型:9 位并口、16 位并口、18 位并口、SPI 串口、RGB接口。但是在屏幕厂家制作的时候往往根据需要紧紧引出 12 种接口,用户在使用之前需要更具需要选择对应的接口或者采取屏幕定制的方式。51 单片机是 8 位机,建议采用 8 位并口,STM32 属于ARM 核,32 位机,

4、使用 16 位接口,SPI 端口是串行端口,使用数据线少,对总线速度要求高,当前大部分彩屏都不使用这种驱动方式,部分小尺寸小分辨率屏幕会使用这种通讯接口。RGB 适合 ARM9 以上的驱动,这种有大容量 RAM,所有的彩屏信息在 RAM 中暂存,通过RGB 接口不间断刷新屏幕。el 的 8080 接口:这里以 8 位或者 16 位并口模式为例。一般的 lcd 简介当中都会出现这么几个词,lcd 的接口为 16 位的 80 并口,那么16 位的 80 并口呢?其实,80 并口全称为 8080 并口协议是有,除 8080 接口协议外还有摩托罗拉的 6800 接公司口协议,其不同在于控制器,如下:8

5、080 是通过“读使能(RE)”和“写使能(WE)”两条控制线进行读写操作6800 是通过“总使能(E)”和“读写选择(W/R)”两条控制线进行很多 MCU 或者 LCD 模块外部接口一般采用并行方式,并行接口接口线的读写时序常见以下两种模式:8080 模式,6800 模式。21.2. 电阻触摸屏基本原理1.2.1.电阻屏基本原理电阻式触摸屏是一种传感器,它将矩形区域中触摸点(X,Y)的物理位置转换为代表 X 坐标和Y 坐标的电压。很多 LCD 模块都采用了电阻式触摸屏,这种屏幕可以用四线、五线、七线或八线来产生屏幕偏置电压,同时读回触摸点的电压。单片机行业中常用 4 线触摸屏,使用的触屏数模

6、信息。图 1-1 4 线电阻触摸屏原理图 1-2 4 线触摸电阻屏结构31.2.2.优点电阻式触摸屏的优点是它的屏和控制系统都比较便宜,反应灵敏度很好,而且不管是四线电阻触摸屏还是五线电阻触摸屏,它们都是一种对外界完全的工作环境,不怕灰尘和水汽,能适应各种恶劣的环境。它可以用任何物体来触摸,稳定性能较好。缺点是电阻触摸屏的外层薄膜容易被划伤导致触摸屏不可用,多层结构会导致很大的光损失,对于手持设备通常需要加大背光源来弥补透光性不好电阻式触摸屏的优点可归类为:,但这样也会增加电池的消耗。电阻式触控屏的精确度高,可到像素点的级别,适用的最大分辨率可达 4096x4096。屏幕不受灰尘、水汽和油污的

7、影响,可以在较低或较高温度的环境下使用。电阻式触控屏使用的是压力感应,可以用任何物体来触摸,即便是带着手套也可以操作,并可以用来进行手写识别。4. 电阻式触控屏由于成技术和较低的门槛,成本较为廉价。1.2.3.缺点电阻式触摸屏的缺点可归类为:电阻式触控屏能够设计成多点触控,但当两点同时受压时,屏幕的压力变得不平衡,导致触控出现误差,因而多点触控的实现程度较难。电阻式触控屏较易因为划伤等导致屏幕触控部分受损。1.3. 电容触摸屏基本原理1.3.1.电容屏基本知识电容式触摸屏技术是利用的电流感应进行工作的。电容式触摸屏是一块四层复合玻璃屏,玻璃屏的内表面和夹层各涂有一层 ITO,最外层是一薄层矽土

8、玻璃保护层,夹层 ITO涂层作为工作面,四个角上引出四个电极,内层 ITO 为层以保证良好的工作环境。 当手指触摸在金属层上时,由于电场,用户和触摸屏表面形成以一个耦合电容,对于高频电流来说,电容是直接导体,于是手指从接触点吸走一个很小的电流。这个电流分别从触摸屏的四角上的电极中流出,并且流经这四个电极的电流与手指到四角的距离成正比,控制器通过对这四个电流比例的精确计算,得出触摸点的位置。1.3.2.优点1.2.3.电容触摸屏只需要触摸,而不需要压力来产生信号。电容触摸屏在生产后只需要一次或者完全不需要校正,而电阻技术需要常规的校正。电容方案的会长些,因为电容触摸屏中的不需任何移动。电阻触摸屏

9、中,上层的ITO 薄膜需要足够薄才能有弹性,以便向下弯曲接触到下面的 ITO 薄膜。电容技术在光损失和系统功耗上优于电阻技术。4.45.选择电容技术还是电阻技术主要取决于触碰萤幕的物体。如果是手指触碰,电容触摸屏是比较好的选择。如果需要触笔,不管是塑胶还是金属的,电阻触摸屏可以胜任。电容触摸屏也可以使用触笔,但是需要特制的触笔来配合。表面电容式可以用于大尺寸触摸屏,并且相成该也较低,但时下无法支持手势识别:感应电容式主要用于中小尺寸触摸屏,并且可以支持手势识别。6.7.电容式技术耐磨损、用可被进一步降低。长,用户使用时成本低,因此生产厂家的整体运营费8.电容式触摸屏就是可以支持多点触控技术,而

10、且不像电阻式触摸屏反应迟钝并且不易磨损。1.3.3.缺点电容触摸屏的透光率和清晰度优于四线电阻屏,当然还不能和表面声波屏和五线电阻屏相比。电容屏反光严重,而且,电容技术的四层复合触摸屏对各波长光的透光率不均匀,存在色彩失真,由于光线在各层间的反射,还造成图像字符的模糊。电流:电容屏在原理上把当作一个电容器元件的一个电极使用,当有导体靠近与夹层ITO 工作面之间耦合出足够量容值的电容时,流走的电流就足够引起电容屏的误动作。电容值虽然与极间距离成反比,却与相对面积成正比,并且还与介质的的绝缘系数有关。因此,当较大面积掌或手持的导体物靠近电容屏而不是触摸时就能引起电容屏的误动作,在潮湿的天气,这种情

11、况尤为严重,手扶住显示器、手掌靠近显示器 7 厘米以内或身体靠近显示器 15 厘米以内就能引起电容屏的误动作。电容屏的另一个缺点用戴手套持不导电的物体触摸时没有反应,这是因为增加了更为绝缘的介质。或手漂移:电容屏更主要的缺点是漂移:当环境温度、湿度改变时,环境电场发生改变时,都会引起电容屏的漂移,造成确。例如:开机后显示器温度上升会造成漂移:用户触摸屏幕的同时另一只手或身体一侧靠近显示器会漂移;电容触摸屏附近较大的物体搬移后会漂移,使用者触摸 时如果有人围过来也会引起漂移;电容屏的漂移原因属于技术上的,环境电势面(包括用户的身体)虽然与电容触摸屏离得较远,却比手指头面积大的多,他们直接影响了触

12、摸位置的测定。其他:此外,理论上许多应该线性的关系实际上却是非线性,如:体重不同或者手指湿润程度不同的人吸走的总电流量是不 同的,而总电流量的变化和四个分电流量的变化是非线性的关系,电容触摸屏采用的这种四个角的自定义极坐标系还没有坐标上的原点,漂移后控制器不能察觉和恢 复,而且,4 个 A/D 完成后,由四个分流量的值到触摸点在直角坐标系上的 X、Y 坐标值的计算过程复杂。由于没有原点,电容屏的漂移是累积的,在工作现场也经常需要校准。 电容触摸屏最外面的矽土保护玻璃防刮擦性很好,但是怕指甲或硬物的敲击,敲出一个小洞就会伤及夹层 ITO,不管是伤及夹层 ITO 还是安装面ITO 层, 电容屏就不

13、能正常工作了。过程中伤及内表51.4. SD 卡基本原理及应用1.4.1.定义安全数码卡,是一种基于半导体快闪器的新一代设备,它被广泛地于便携式装置上使用,例如数码相机、个人数码助理(外语缩 写PDA)和多器等。SD 卡(Secure松下主导概念,Digital Memory Card)是一种基于半导体闪存工艺的卡,1999 年由参与者东芝和SanDisk 公司进行实质研发而完成。2000 年这几家 公司发起成立了 SD(Secure Digital Assotion 简称 SDA),阵容强大,吸引了大量厂商参加。其中包括 IBM,Motorola,NEC、Samsung 等。在这些厂商的推动

14、下,SD 卡已成为目前消费数码设备中应用最广泛的一种卡。SD 卡具有大容量、高性能、安全等多种特点的多功能卡,它比 MMC 卡多了一个进行数据著作权保护的暗号认证功能(SDMI 规格),读写速度比 MMC 卡要快 4 倍,达 2M/秒。1.4.2.基本结构图 1-3 SD 卡的外观和功能图 1-4 SD 卡数据含义6图 1-5 SD 卡等级符号表 1-1 SD 卡级别分类SD 容量有 8MB、16MB、32MB、64MB、128MB、256MB、512MB、1GB、2GB SDHC 容量有 2GB 、4GB、8GB、16GB、32GBSDXC 容量有 32GB、48GB、64GB、128GB、

15、256GB、512GB、1TB、2TB表 1-2 SD 卡引脚定义SD 卡分为 2 种接口模式,SPI 和 SDIO 接口,前者通用,很多微处理器都可以连接,后者速度快,但需要接口,STM32 大容量单片机都包含 SDIO 接口。7针脚4 位 SD 模式1 位 SD 模式SPI 模式名称描述名称描述名称描述1CD/DAT3卡监测/数据位 3CD卡监测CS选择2CMD命令/回复CMD命令/回复DI数据输入3VSS1地VSS1地VSS1地4VCC电源VCC电源VCC电源5CLK时钟CLK时钟CLK时钟6VSS2地VSS2地VSS2地7DAT0数据位 0DAT数据位DO数据输出8DAT1数据位 1R

16、SV保留RSV保留9DAT2数据位 2RSV保留RSV保留容量等级容量范围磁盘格式SD上限至 2GBFAT 12, 16SDHC2GB 至 32GBFAT 32SDXC32GB 至 2TBexFAT1.5. 模块电路图模块电路图(参考,具体参考单独电路图文件)图 1-6 TFTLCD 模块电路图1.6. 模块实物图图 1-7 彩屏实物图,正,参考,具体实物81.7. 接线说明1.7.1.TFT 彩屏与单片机连接图 1-8 液晶屏直接彩屏连接 LY-51S 接口定义12864 插座,箭头处对齐表 1-3 彩屏连接 LY-51S 接口定义9序号LY-51STFT 模块 J21P2.2CS2P2.1

17、RST3P2.4RS4P2.5WR5P2.6RD6P0DB0DB71.7.2.电阻触摸屏与单片机连接,无此功能则不连接图 1-9 彩屏与触摸屏连接表 1-4 触摸屏连接到开发板对应表程序后开机会出现第一个校正光标,精确点击矫正后会出现第二个校正光标,再次10序号LY-51STFT 模块 J21P2.2CS2P2.1RST3P2.4RS4P2.5WR5P2.6RD6P0DB0DB7序号LY-51STFT 模块 J11P1.0CLK2P1.1CS3P1.2DIN4不连接BUSY5P1.4DOUT6P1.5IRQ精确点击,完成校正。然后可以在屏幕上画图,由于 51 速度限制,画线速度不能太快,否则会

18、出现虚线、断线。程序没有提供任何识别功能。点击右下角可以清屏,用于重新画图。或者按复位按键重新进入程序校正。程序使用 2 点校正,算法简单但不够精确,用户可以自行编写 4 点或者 5 点校正,借用 uCGUI 中的触摸算法,本手册中不涉及。1.7.3.SD 卡与单片机连接图 1-10 SD 卡功能连线实物图表 1-5 LY-51S 连接彩屏及 SD 卡模块11序号LY-51STFT 模块 J21P2.2CS2P2.1RST3P2.4RS4P2.5WR5P2.6RD6P0DB0DB7序号LY-51STFT 模块 J31P1.0DOUT2P1.1SCK3P1.2DIN4P1.3CS2. 配套2.1

19、. Image2lcd基本功能图 2-1转为二进制数据 112图 2-2转为二进制数据 2图 2-3转为二进制数据 313图 2-4转为 c 语言数组图 2-5 本可以将转为 BMP 等类型,方便单片机处理14图 2-6可以输出各种灰度或者信息图 2-7可以实现水平扫描或者垂直扫描152.2. Winhex基本功能,不同大小 SD和不同大小彩屏数字不相同图 2-8点击“工具”“打开磁盘”图 2-9 winhex 查看文件的首地址16图 2-10 包括物理地址、逻辑地址、内存大小等信息3. 单片机程序编程思路3.1. TFT 彩屏基本显示彩屏的驱动程序与普通的液晶屏,如 1602、12864 等

20、基本相同,普通的单色屏一般是 8位数据,使用于大多数的 8 位单片机,彩屏主流是 16 位数据,适合 ARM 以上驱动,大部分彩屏的控制本身都兼容 8 位、9 位、16 位、18 位、SPI 以及 RGB 接口。只是部分接口并未引出。由于 51 单片机是 8 位,此时需要彩屏具有 8 位接口,当然也可以操作 16位接口,需要在硬件上增加分时操作,对应 51 类型的单片机来说,后者复杂、成本高。下面把基本的时序函数列出来:写指令函数:17voidm(u16 i)/写指令LCD_CS=0;LCD_RD=1; LCD_RS=0;写数据函数读数据函数18u16 ReadData(u16 addr)/读

21、数据u8 dataH,dataL;m(addr);DBH = 0 xff;LCD_CS=0; LCD_WR=1; LCD_RS=1;DBH = 0 xff; LCD_RD=0;dataH = DBH;void WriteData(u16 i)/写数据LCD_CS=0;LCD_RD=1; LCD_RS=1;DBH=i8; LCD_WR=0; LCD_WR=1;DBH=i; LCD_WR=0; LCD_WR=1;LCD_CS=1;DBH=i8; LCD_WR=0; LCD_WR=1;DBH=i; LCD_WR=0; LCD_WR=1;LCD_CS=1;上述就是基本数据控制程序,包含写寄存器、写数据

22、、读数据。其他的所有后续的程序都是在此基础上操作。屏幕有许多寄存器,初始化的时候需要设置这些寄存器以达到相应的功能或者发挥最佳效能。不同的主控初始化程序也不相同,初始化程序是彩屏的关键部分,很多初次使用彩屏的朋友都会在这个部分出现问题。彩屏初始化需要注意以下2 点:1、复位信号。一般彩屏是低电平复位,而 51 单片机是复位,所以在不增加硬件的基础上不能直接共用复位。其他的单片机都可以把彩屏复位与系统复位连接一起,这样复位稳定,不易出现问题。保证彩屏有效的复位才能进行下一步操作。51 单片机使用 I/O 口控制彩屏的复位引脚,以达到复位目的。所以要求复位有足够的时长保证其有效。寄存器组设置。由于

23、彩屏的寄存器比一般的显示器件要多很多,大部分的2、寄存器初始化都是有彩屏厂家校准后提供。在单片机行业,彩屏的应用范围相对较少,厂家提供的资料大多不全面。这样也是导致很多用户不能顺利使用的主要原因。单片机控制彩屏要比日常使用的民用产品很多,相关的资料也比较少。关于这部分一般不建议自己书写,直接移植厂家或者商家提供的程序。上述 2 点顺利完成后,就可以对彩屏进行写数据操作。最基本的测试是刷屏,就是把一个屏幕充满同一种颜色。这个测试可以测试以下 3 点:1、 屏幕分辨率。正确刷完一屏颜色,如果程序设置正确,整个屏幕应该没有边缘遗漏等问题。如果边缘数行数列有没有写到的地方,可能是分辨率不对应。2、 颜

24、色正确。通过刷屏可以分辨颜色是否正确。按照 RGB565 的格式刷屏,确认颜色正确性,如果颜色有色差,一般有 2 种问题,一是初始化寄存器设置错误,二是屏幕本身质量较差。3、 是否有坏点。刷屏是以像素为操作,理论上屏幕的每个点都会出现对应的颜色,如果中间有 1 个或者数个像素不显示,说明这些是坏点。下面列出清屏函数19/*-清屏函数-*/void ClearScreen(u16 bColor)u16 i,j;LCD_RD=1;DBH = 0 xff; LCD_RD=0;dataL = DBH; LCD_RD=1;LCD_CS=1;return (dataH8)|dataL;程序解读:程序分为

25、2 个部分,第一部分是设置坐标,相当于设置一个矩形框,最大值过屏幕的显示区域,比如分辨率是 240 x320,上述的参数应是:X 方向 0239,Y 方向 0319,这个函数了刷屏的范围。第二部是循环写入数据,循环分为内循环和外循环,先扫描第一行,再扫描第二行,一直到最后一行。基本函数就讲这些,其他的函数都是在此基础上衍生出来的,用户自行分析。彩屏本身是一张画布,任何信息在彩屏上都能显示,可以从任意位置开始,也可以从任意位置结束。不存在其他的屏幕中的各种限制。任何一个像素点都能显示 216 种颜色,每个点都是完全独立操作的,所以可以这么说,彩屏的显示是万能的。3.2. 汉字显示原理写汉字之前需

26、要了解汉字的结构,与英语字符和数字方法相同,都是画矩形的图形,数字无非是 09,英文字母是 az 和AZ,数量非常少,只需要把这写基础的字符点阵信息存储起来,需要用的时候直接调用并组合程序单词即可。汉字的数量非常多,如果都存下来一般的单片机容量不够。所以写汉字有 2 种常用方法:一是自己造字库,这种方法时候汉字数量非常少的场合,通过自定义的字库和摆放规律进行按需调取点阵信息。二是使用字库,这种取点阵信息。已经好多种字体和大小的汉字,通过内码和字库约定的方式读一般数字和字母使用 8x16 点阵结构,但汉字最低需要 16x16 点阵,写汉字就是在 16x16的正方形内画点,需要显示的部分写成前景色

27、,不需要显示的部分写成背景色,就完成汉字显示的目的。这个和其他的屏幕是完全一样的,不同的是这里的汉字可以是任意颜色,背景也可以是任意颜色。这里只说了常用的 16x16 的字体,其他大小的字体还需要单独造字库。下面是英文及汉字部分的程序:20/*-写 8x16 字符函数-*/#include 8X16.hvoid LCD_Phar8x16(unsigned short x, unsigned short y, char c, u16 fColor, u16 bColor)u16 i,j;LCD_Set(x,x+8-1,y,y+16-1);for(i=0; i16;i+) u8 m=Font8x1

28、6c*16+i; for(j=0;j8;j+) if(m&0 x80)=0 x80) LCD_Set(0,X_MAX-1,0,Y_MAX-1);/for (i=0;iY_MAX;i+)for (j=0;jX_MAX;j+) WriteData(bColor);3.3. 触摸功能编程思路触摸屏与彩屏是分开的,他们相互独立,触摸屏简称 TP,TP 直接覆盖在 TFT 屏幕上面,这样他们直接就建立一种联系,坐标是相同的,通过校正触摸屏,实现 TP 和TFT 的坐21WriteData(fColor);else WriteData(bColor); m=1;/*-写 16x16 汉字函数-*/#inc

29、lude GB1616.h /16*16 汉字字模void PutGB1616(unsigned short x, unsigned short y, u8 c2, u16 fColor,u16 bColor)u16 i,j,k;LCD_Set(x, x+16-1,y, y+16-1);for (k=0;k64;k+) /64 标示自建汉字库中的个数,循环查询内码 if(codeGB_16k.Index0=c0)&(codeGB_16k.Index1=c1) for(i=0;i32;i+) unsigned short m=codeGB_16k.Mski; for(j=0;j8;j+) if(

30、m&0 x80)=0 x80) WriteData(fColor);else WriteData(bColor); m=1;实现屏幕触摸功能。TP 的有效尺寸比 TFT 大,这样才能保证每个点标完全一致,都能有效。常用的电阻触摸屏是ADS7843,XTP2046 等,这是 12 位的AD 转换器,SPI接口,带有中断引脚功能。启动 AD 转换功能X 方向和 Y 方向的模拟量,然后根据比例公式计算出触摸的位置。触屏的关键部分是校正,触屏使用时间过长也会导致位置偏移,需要重新校正,完善的校正程序使用 4 点或者 5 点校。本样例仅用 2 点校正验证触屏的基本功能,其他方法暂不提及。下面列出画校正点

31、的程序,校正的程序请自行分析,或者借鉴经典的uCGUI 的校正方法。3.4.显示编程(大容量单片机)由于占用空间大,一般的 51 单片机以直接一个整屏。假设分辨率240 x320,样例程序使用 16bit 表示一个点颜色,格式 565。240 x320 x2=153600 字节,即 150K,如果完整写一幅,假设程序运行最小需要 5K ROM,则最低需要 155K ROM 容量,显然 51 系列单片机是不够的(最大ROM 64K),所以可以通过小图标来并通过程序显示到彩需要 SD 或者其他大容量 Flash学习验证显示功能,下面以。不能直接显示大型的商标为例讲解如果处理,的商标尺寸为 150

32、x60 像素,通过公式计算,150 x60 x2=18000,18000/102417.6K,屏至少需要 20K ROM 单片机。22ClearScreen(BColor); /清屏 ADS7846_Initial(); /初始化触摸Rectangle(1,9,19,11,FColor); /在这个坐标画点,矫正用,坐标Rectangle(9,1,11,19,FColor); while(ads7846_IRQ);/等待触摸中断信号x1=GUI_TOUCH_X_MeasureX(); /该点的触摸值y1=GUI_TOUCH_X_MeasureY();Rectangle(1,9,19,11,BC

33、olor); Rectangle(9,1,11,19,BColor); /清除这个点,并准备画下一个点 while(!ads7846_IRQ);/等待离开触摸屏,防止干扰下一个点 Rectangle(X_MAX-19,Y_MAX-11,X_MAX-1,Y_MAX-9,FColor);Rectangle(X_MAX-11,Y_MAX-19,X_MAX-9,Y_MAX-1,FColor);/画第二个点 while(ads7846_IRQ);/等待触摸中断信号x2=GUI_TOUCH_X_MeasureX(); /该点触摸值y2=GUI_TOUCH_X_MeasureY();Rectangle(X_

34、MAX-19,Y_MAX-11,X_MAX-1,Y_MAX-9,BColor);Rectangle(X_MAX-11,Y_MAX-19,X_MAX-9,Y_MAX-1,BColor);/清除第二个点 delayms(200);/延时图 3-1 选择对应参数转为 c 语言数组图 3-2 保存为对应的 c 文件23图 3-3 打开 c 文件文本内容图 3-4 粘贴到工程中 LCD 相关的 c 文件中24图 3-5 修改关键字与数组名称、类型等参数直接拷贝的数组需要修改一些参数:1、 const 改为 code :这里仅在 51 单片机中有效,其他的单片机不用更改。2、 数组名称修改为简单的 pic

35、:原来的名称中包含中文,不支持,而且不容易。3、 1 维数组改为 2 维数组:方便写程序。不同的分辨率请自行修改,举例如下:150 x60节数据分别,表示有 60 行,每行有 150 个像素,其中每个像素的颜色是由 2 个字,因为在处理的时候选择了 16 位真彩,如果使用其他位数,这里的数据也会有相应的变化。改为二维数组的大小为 pic60150 x2,有了二维数组,数据的时候在程序中需要计算的数据变少,可以提高单片机的执行速度。图 3-6 显示部分函数程序部分说明:首先定义 2 个变量x、y,定义为无符号整形,最大值 65535,如果使用字符型,最大只有 255,一些大分辨率的屏幕刷图时会出

36、错。然后设定刷图矩形区域,紧接着就是在这个区域中连续写入读出的数据。由于使用水平取模,所以扫描显示的时候也是一行一行扫描显示,150 就作为内循环,60 作为外循环,刷新完一行再刷新下一行,直到60 行全部刷新完成。写字节中需要先写后面的字节,再写前面的字节,低 8 位先,高 8位后。这个顺序可以通过取模的设置进行修改。这个程序仅能显示固定参数的,的尺寸变化,这里的 2 个循环的数据也需要修改。25图 3-7显示效果图263.5. SD 卡读编程思路(无 FAT 系统)图 3-8 通过转为为二进制文件并到 SD 卡之前需要格式化 SD 卡,由于本样例没有使用 fat 或者 fat32 系统操作

37、,故不能识别位置,格式化 SD 卡后,存入的是按照顺序排列的,没有碎片,然后通过 winhex之间的位置间隔,就可以实现连续刷新。上图有 3 个重要寻找的首地址和参数需要和与彩屏参数一致,否则可能不能正确显示1、 输出数据类型:二进制。2、 最大宽度和高度:的真实分辨率。可不同于彩屏分辨率,如果小于彩屏分辨率,显示的时候仍然正常,不过不能铺满整个屏幕。3、 16 位数据格式:默认使用 565 格式。一般无需改动。27图 3-9 winhex 查看 SD 卡中文件信息上图有几个重要参数需要了解:1、 点击对应的文件,蓝色一行表示正在查看的文件,后面有大小、时间、属性、扇区等信息。2、 这个扇区是逻辑扇区地址,在此程序中,2

温馨提示

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

评论

0/150

提交评论