广告

7寸视频&串口显示模组开发指南之3——指令集

2011-11-29 10:08 2758 0 分类: MCU/ 嵌入式

7寸视频&串口显示模组开发指南之3——指令集

题记:

         历经一年,终于完成了视频&串口模组的开发和研制,目前已经开始向部分客户小批量供货了。从最原始的5.7640*480的视频采集模组,到5.7640*480的视频&串口模组,再到今天7800*480的视频&串口模组,特权花费了很大的心血,尤其是第一台原型样机的开发调试。

         借着2011EDN创新奖的“东风”,这款7寸的视频&串口模组(型号:M070AS26)也有机会搬上台面与各位网友见面。特权同学希望藉着后面一系列的开发指南、应用参考和调试技巧,能够帮助各位全方面的了解她。也希望各位看官能够不吝惜手中的鼠标,轻轻一点投上一票。若是正好项目中能够用上类似产品,那就正好考察一下这台模组的功能、性能。

大家若对后续的文章有任何看法见解或是建议要求,特权同学都愿意洗耳恭听——或许您的一句话就会带来我们下一款产品的创新和超越。

(投票链接:http://award.ednchina.com/Product/Product_Detail.aspx?ProductId=1109

 

         7寸视频&串口显示模组预留给客户一条符合RS232电平标准的串口收发信号,用户只要使用这条串口通道给模组传送指令即可实现所有功能。这个串口通道通常有两个用途:一是用户的最终应用(用户嵌入式系统的串口与模组互连);二是下载用户的界面图片到模组中(PC机与模组互连)。

         本文重点介绍模组的指令集以及实现的效果,后续文章会详细讨论如何使用PC机或是单片机系统与模组通信,以实现图片下载或终端应用。按照前面的分类,模组支持的指令集主要也分为两大类,一类是用户的最终应用,另一类是图片字库等的下载交互。由于后者的功能都集成在了晶奥科技提供的“晶奥串口模组集成开发工具”软件中,用户也无需深入了解指令集的详细内容,因此本文不详细论述和讨论。而对于用户终端应用(与单片机、ARMDSP等相接口)的指令集本文要详细论述。该视频&串口模组的主要可用指令如表1所示。

1 7寸视频&串口指令集

分类

功能

指令

指令参数

描述

系统

握手指令

0x00

 

在初始化时,单片机不断发送完整的握手指令(包括帧头和帧尾),若接收到正确的返回数据(0xaa+version(1Byte版本号)),表示系统初始化完成,可以执行其它操作。

显示参数配置

设置调色板

0x40

Fcor(2Byte) + Bcor(2Byte)

设置前景色(Fcor)和背景色(Bcor)。

设置字符显示间距

0x41

Xdis(1Byte) + Ydis(1Byte)

文本显示时,Xdis为相邻左右字符的间距,Ydis为相邻上下字符的间距(Ydis目前暂时无效,以0x00,0x00代替)。

文本显示

16X16点阵GB2312国标简体汉字

0x54

Xadd(2Byte) + Yadd(2Byte) + String

(Xadd,Yadd)为当前字符串显示的启示坐标。String为多个需要显示的国标码值。每个国标码为两个字节,其中高字节在前、低字节在后。若显示ASIIC码,则直接送ASIIC码值即可。

32X32点阵GB2312国标简体汉字

0x55

64X64点阵GB2312国标简体汉字

0x6e

置点

背景色显示多个点

0x50

Xadd(2Byte)+Yadd(2Byte) +……

(Xadd,Yadd)为当前需要显示背景色像素点的坐标。若显示n个点,则连续送n次的XY坐标值。该指令主要用于删除点。

前景色显示多个点

0x51

(Xadd,Yadd)为当前需要显示前景色像素点的坐标。若显示n个点,则连续送n次的XY坐标值。

多线段连线

多个指定点用线段进行连接(前景色)

0x56

Xadd(2Byte)+Yadd(2Byte) +……

(Xadd,Yadd)为当前需要用前景色连线的像素点坐标。若连接n个点,则送nXY坐标值。

多个指定点用线段进行连接(背景色)

0x6d

(Xadd,Yadd)为当前需要用背景色连线的像素点坐标。若连接n个点,则送nXY坐标值。该指令主要用于删除点。

频谱显示

0x75

X0add(2Byte)+Y0add(2Byte)+Hmax+h1+h2+……

X0addx轴坐标起点,Y0add为频谱水平起点,Hmax(1Byte)为谱线的最大高度。hi(0=0,1,2……)为单根谱线的高度(1Byte),每增加一个i值,x轴坐标自动增1。谱线显示前景色,比hi值大的区域显示背景色。

画圆

画圆弧

0x57

Type(1Byte) + xadd(2Byte) + yadd(2Byte) + r(1Byte)

Type=0x00:背景色画圆;Type=0x01:前景色画圆。以(xadd,yadd)为圆心,画半径为r的圆弧。

区域操作

区域清屏(背景色填充)

0x64

X0add2Byte) + Y0add(2Byte) + X1add2Byte) + Y1add(2Byte)

对起始坐标(X0add,Y0add)到结束坐标(X1add,Y1add)的矩形区域使用背景色填充。

整屏清屏

0x52

背景色填充整屏显示。

图片显示

满屏区

0x70

Photo_num(1Byte)

显示Flash中预存的第 Photo_num(0-49)幅满屏图片。

小图区

0x9c

Photo_num(1Byte) + xadd(2Byte) + yadd(2Byte)

在以(xadd,yadd)为起点的位置显示Flash中预存的第Photo_num(0-191)幅小图片。

背光控制

背光开启/关闭

0x5e

On_off(1Byte)

0xff—开启,0x00—关闭。上电默认关闭。开启背光的同时PWM被设置为100

背光PWM调节

0x5f

Pwm(1Byte)

Pwm取值1-100,上电默认为100

触摸屏控制

校准模式

0xe4

0x55+0xaa+0x5a+0xa5

MCU发送该指令后,液晶屏四个角上出现蓝色矩形框,用户需要用触摸笔依次点击“左上角”、“左下角”、“右下角”、“右上角”。点击相应位置并保持几十ms后该区域变成绿色,表示该点校准成功。

开关控制

0x66+0x99+0x69+0xff

开启触摸屏控制

0x66+0x99+0x69+0x00

关闭触摸屏控制,上电后默认关闭

触摸屏按下后位置上传

0x73

Xpos(2Byte) + Ypos(2Byte)

该指令为串口模组发送给MCUXposX坐标值,YposY坐标值,均为16位,且高字节在前传送。

串口控制

波特率设置寄存器

0xe0

Bps_set(1Byte)

Bps_set值用于设置串口波特率,上电后模组默认串口波特率为9600bps。如果需要更改波特率,则在9600bps波特率下发送相应指令。指令译码见特别说明。

AV显示控制

拍照指令

0x80

0x40 + page(1Byte)

执行一次拍照操作,page表示拍照存储页,可取值为1-7

拍照显示

0x41 + page(1Byte)

执行拍照显示,page表示显示的拍照页,可取值为1-7,当希望返回正常实时AV显示时,设置page = 0即可。

视频显示模式

0x88

Dis_mode(1Byte) + Xpos(2Byte) + Ypos(2Byte)

Dis_mode为视频缩放控制寄存器:0—640*480; 1--480*360; 2—400*300; 3—320*240 XposYpos为视频显示起始坐标,高字节在前。

AV芯片配置功能

0x8f

ADDR(1Byte) + DATA(1Byte)

具体功能定义查看说明

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

特别说明

  串口波特率可调,上电默认为9600bps

  帧头0xaa,帧尾0xcc,0x33,0xc3,0x3c

  “文本显示”前需要设置好“显示参数配置”选项。

  当叠加层色彩为0x0000时,当前显示视频层图像;当叠加层色彩为0xffff时,则当前显示图片层图像;否则,当前像素将显示叠加层数据所表示的相应色彩。

  控制器内部串口缓冲区为128Byte,建议用户一次串口指令发送数据总量不要超过128Byte

  对于某些指令,如清屏指令需要耗费比较长的执行时间,用户在使用中需要在一定延时后才可再次发送其它指令。

  串口波特率设置指令译码(建议实际应用中波特率不要超过115200bps,以保证系统长期正常稳定工作):

Bps_set指令值

0x00

0x01

0x02

0x03

0x04

0x05

0x06

0x07

波特率

1200

2400

4800

9600

19200.

38400

57600

115200

Bps_set指令值

0x08

0x09

0x0a

0x0b

0x0c

0x0d

0x0e

0x0f

波特率

28800

76800

62500

125000

250000

230400

345600

691200

  图片区存储说明:满屏区(位号0-49可用),该区主要用于存储满屏(800*480)图片。小图区(位号0-191可用),小图区又分为多个不同大小的图片存储块,通常建议用户根据所用图片实际大小将图片放置到对应的存储区块中,这样更有利于存储空间的利用和优化。图片存储量的计算公式为:图片X分辨率*图片Y分辨率*2(单位Byte)。例如,一张分辨率为160*30的图片存储量为160*30*2=9600Byte

大区

小区(可用位号)

图片存储量范围

最小

最大

满屏区

0-49

满屏(800*480*2Byte

满屏(800*480*2Byte

小图区

0-63

0

满屏(800*480*2Byte

64-127

0

382Kbyte

128-191

0

126Kbyte

  AV芯片配置功能

该指令用于配置AV芯片的相关寄存器。该指令的配置数据有两个字节:第一个字节为AV芯片配置地址,第二个字节为AV芯片配置数据。

AV芯片配置可操作的地址和数据如下表所示。

功能

配置地址(ADDR

配置数据(DATA)

设置对比度

0x05

(默认0x80

设置亮度

0x06

(默认0x00

设置色调

0x07

(默认0x80

设置饱和度

0x08

(默认0x88

低功耗关断

0x04

0x18

正常工作

0x04

0x10

彩色显示

0x0b

0x23

黑白显示

0x0b

0xa3

选择VIN1

0x09

0x02

选择VIN2

0x09

0x42

自动选择

0x09

0x82

测试信号关:显示AV信号

0x0c

0x00

测试信号:黑屏

0x0c

0x20

测试信号:蓝屏

0x0c

0x21

测试信号:75%彩条

0x0c

0x22

测试信号:100%彩条

0x0c

0x23

指令延时说明

由于不同的指令在串口模组内处理的时间不同,因此建议用户在发送每帧串口指令后适当的延时(部分指令不需要)。延时的长短要视指令而定,下面对几个主要指令的延时计算方法做一些说明(未罗列的指令通常不需要延时)。

指令

延时

备注

区域清屏(背景色填充)

>240ns*x*y

x*y为清屏区域总像素点数

整屏清屏

>240ns*800*480=92160000ns(约93ms

 

显示一幅满屏图片

>82ms

 

显示一幅小图片

>[(x*y)/1024+1]*230us

 

1.    概述

该应用指南适用于晶奥信息科技有限公司自主研发生产的串口系列(包括视频&串口系列)液晶显示模组,对模组的各个串口控制指令的使用和注意事项进行详细的说明,并给出相应的参考实例。

2.    串口说明

2.1  串口工作模式

晶奥串口模组的用户控制端均采用异步、全双工串口(UART)通信。串口模式为8n1,即每个数据传送采用十个位:1个起始位、8个数据位(低位在前传送,LSB)和1个停止位。

上电时,默认串口波特率为9600bps,用户可通过发送特定指令重新设置波特率,可设置的波特率范围是:1200bps-691200bps,具体设置方法参照章节4.11

2.2  数据帧结构

晶奥SOC串口的数据帧由4个数据块组成,如表1所示。

1 串口指令帧结构

数据块

帧头

指令

数据

帧尾

数据

0xaa

……

……

0xcc,0x33,0xc3,0x3c

描述

帧头,固定

指定功能

数据,最多120字节

帧尾,固定

2.3  字节传送顺序

本文档的指令或数据均以十六进制(HEX)格式表示。

在实际帧数据传输中,对于字型(2字节)数据,若无特别说明,均为高字节先传送(MSB)。例如:x坐标为100,其HEX格式数据为0x0064,传送时,传送顺序为0x00,0x64

3.    指令速查表

3.1  通用串口指令

对于我们公司的串口模组,无特别说明,都支持表2所列的通用串口指令。若串口模组的使用说明书中指令与表2不同,则以使用说明书为准。

2 通用串口指令表

分类

功能

指令

指令参数

系统

握手指令

0x00

显示参数配置

设置调色板

0x40

Fcor(2Byte) + Bcor(2Byte)

设置字符显示间距

0x41

Xdis(1Byte) + Ydis(1Byte)

文本显示

16X16点阵国标汉字

0x54

Xadd(2Byte) + Yadd(2Byte) + String

32X32点阵国标汉字

0x55

64X64点阵国标汉字

0x6e

置点

背景色显示多个点

0x50

Xadd(2Byte)+Yadd(2Byte) +……

前景色显示多个点

0x51

多线段连线

前景色链接多个点

0x56

Xadd(2Byte)+Yadd(2Byte) +……

背景色链接多个点

0x6d

频谱显示

0x75

X0add(2Byte)+Y0add(2Byte)+Hmax+h1+h2+……

画圆

画圆弧

0x57

Type(1Byte) + xadd(2Byte) + yadd(2Byte) + r(1Byte)

区域操作

区域清屏(背景色填充)

0x64

X0add2Byte) + Y0add(2Byte) + X1add2Byte) + Y1add(2Byte)

整屏清屏

0x52

图片显示

显示一幅满屏图片

0x70

Photo_num(1Byte)

显示一幅小图片

0x9c

Photo_num(1Byte) + xadd(2Byte) + yadd(2Byte)

背光控制

背光开启/关闭

0x5e

On_off(1Byte)

背光PWM调节

0x5f

Pwm(1Byte)

串口控制

波特率设置寄存器

0xe0

Bps_set(1Byte)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.2  特殊串口指令

特殊串口指令针对于含有触摸屏控制或AV显示控制功能的特殊串口模组。若串口模组的使用说明书中指令与表3不同,则以使用说明书为准。

3 特殊串口指令表

分类

功能

指令

指令参数

AV显示控制

拍照指令

0x80

0x40 + page(1Byte)

拍照显示

0x41 + page(1Byte)

视频显示模式

0x88

Dis_mode(1Byte) + Xpos(2Byte) + Ypos(2Byte)

AV芯片配置功能

0x8f

ADDR(1Byte) + DATA(1Byte)

触摸屏控制

校准模式

0xe4

0x55+0xaa+0x5a+0xa5

开关控制

0x66+0x99+0x69+0xff

0x66+0x99+0x69+0x00

触摸屏按下后位置上传

0x73

Xpos(2Byte) + Ypos(2Byte)

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

1.    指令集说明

1.1  握手指令

TX aa 00 cc 33 c3 3c

RX aa version

参数说明:

?  Version1Byte):表示版本号。

功能描述:

在初始化时,一般建议单片机定时发送完整的握手指令(包括帧头和帧尾),直到接收到正确的返回数据(0xaa+version),如V1.0版则返回 aa 00,则表示系统初始化完成,可以对串口模组发送其它控制指令。

举例:

    通过“串口调试助手”向串口模组发送“aa 00 cc 33 c3 3c”后,可以观察到返回握手成功数据,如图1所示。

20110617164928001.jpg

1 握手指令实例

1.2  显示参数配置

1.2.1         设置调色板

TX: aa 40 cc 33 c3 3c

RX:

参数说明:

?  Fcor2Byte):表示前景色(16 bit / 65K)

?  Bcor2Byte):表示背景色(16 bit / 65K)

?  65K色(16 bit)调色板定义(5R6G5B模式)如表4所示。

4 调色板定义

16 bit 65K色调色板位定义

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

颜色

R4

R3

R2

R1

R0

G5

G4

G3

G2

G1

G0

B4

B3

B2

B1

B0

功能描述:

该指令用于设置前景色和背景色。发送该指令后液晶屏不会立刻有显示颜色变化,只有发送其它涉及前景色/背景色显示的指令时,屏才会有色彩显示变化。

举例:

TX: aa 40 f8 00 00 1f cc 33 c3 3c

即可设置前景色为红色(0xf800)背景色为蓝色(0x001f)。当用户使用背景色进行满屏清屏,然后使用前景色/背景色模式写字符“King-Eye”和“晶奥科技”时,效果如图2所示。

1.bmp

2 调色板设置实例

注:调色板一旦设定好(除非重新设定),会一直保留下来。上图的白色字体为文档说明信息(后文类同),不是实例显示效果。

1.2.2         设置字符间距

TX: aa 41 cc 33 c3 3c

RX:

参数说明:

?  Xdis2Byte):表示相邻左右两个字符的间距

?  Ydis2Byte):表示相邻上下两个字符的间距(此功能暂时保留,用0x00代替)。

功能描述:

当用户需要在液晶屏上写字符串时,可以先设置好字符间距(最大间距255像素点)。若不设置,上电后默认为0像素。

举例:

TX: aa 41 0a 00 cc 33 c3 3c

以上指令设置相邻左右两个字符的间距为100x0a)个像素,上下相邻的设置为0x00。图2在写入文本“晶奥科技”之前就预先设置好了字符间距,效果如图3所示。

2.bmp

3 字符间距设置实例

注:字符间距一旦设定好(除非重新设定),会一直保留下来。

1.3  文本显示

串口模组支持GB2312国标简体汉字库。包括以下3种大小的点阵字库:

?  16*16点阵

TX: aa 54 String cc 33 c3 3c

RX:

?  32*32点阵

TX: aa 55 String cc 33 c3 3c

RX:

?  64*64点阵

TX: aa 6e String cc 33 c3 3c

RX:

参数说明:

?  Xadd2Byte):表示字符放置的起始X坐标

?  Yadd2Byte):表示字符放置的起始Y坐标

?  String:为多个需要显示的国标码值,每个国标码值为2个字节,其中高字节在前、低字节在后,若显示ASCII码,则直接送1个字节的ASCII码值即可。

功能描述:

发送该指令前需要设置调色板和字符间距。以指定的位置(XaddYadd)为起始坐标,显示字符串String,字符颜色为前景色,底色为背景色。

举例:

首先设置好前景色为蓝色,背景色为黑色,设置字符横向间距为10像素;

先清全屏,然后再发送:aa 55 00 a0 00 a0 be a7 b0 c2 d0 c5 cf a2 bf c6 bc bc cc 33 c3 3c。该指令实现在坐标为(160,160)处(00a0160)显示32X32点阵的“晶奥信息科技”(对应的bea7即‘晶’的国标码值,后面类推)。效果如图4所示。  
 

3.bmp

4 字符显示实例

1.1  点显示

1.1.1         背景色显示多个点(删除点)

TX: aa 50 …… cc 33 c3 3c

RX:

参数说明:

?  Xadd_12Byte):第一个点的X坐标

?  Yadd_12Byte):第一个点的Y坐标

?  ……

?  Xadd_n2Byte):第n个点的X坐标

?  Yadd_n2Byte):第n个点的Y坐标

功能描述:

发送该指令前需要设置调色板(主要是背景色)。(Xadd,Yadd)为当前需要显示背景色像素点的坐标。若显示n个点,则连续送n次的XY坐标值。该指令主要用于删除点。

1.1.2         前景色显示多个点(置点)

TX: aa 51 …… cc 33 c3 3c

RX:

参数说明:

?  Xadd_12Byte):第一个点的X坐标

?  Yadd_12Byte):第一个点的Y坐标

?  ……

?  Xadd_n2Byte):第n个点的X坐标

?  Yadd_n2Byte):第n个点的Y坐标

功能描述:

发送该指令前需要设置调色板(主要是前景色)。(Xadd,Yadd)为当前需要显示前景色像素点的坐标。若显示n个点,则连续送n次的XY坐标值。

举例:

    发送:aa 51 00 00 00 00 00 0a 00 0a 00 0a 00 64 cc 33 c3 3c

前景色显示3个点(假设已经设定前景色为红色),这三个点坐标分别是(0x00000x0000)、(0x000a0x000a)和(0x000a,0x0064,十进制表示为(00)、(1010)、(10100),效果如图5所示。

4.bmp

5 前景色显示点实例

1.2  显示线

1.2.1         前景色显示线段

TX: aa 56 …… cc 33 c3 3c

RX:

参数说明:

?  Xadd_12Byte):第一个点的X坐标

?  Yadd_12Byte):第一个点的Y坐标

?  ……

?  Xadd_n2Byte):第n个点的X坐标

?  Yadd_n2Byte):第n个点的Y坐标

功能描述:

发送该指令前需要设置好调色板(主要是前景色)。(Xadd,Yadd)为当前需要用前景色连线的像素点坐标,若连接n个点,则送nXY坐标值,这n个点将按照顺序依次用前景色线段相连。

举例:

    发送:aa 56 00 0a 00 0a 00 64 00 64 00 32 00 96 00 c8 00 96 cc 33 c3 3c

以前景色线段依次连接4个点(1010),(100100),(50150)和(200150)。假设已经预设好前景色为红色,效果如图6所示。

5.bmp

6 前景色连接线段实例

1.2.2         背景色显示线段

TX: aa 56 …… cc 33 c3 3c

RX:

参数说明:

?  Xadd_12Byte):第一个点的X坐标

?  Yadd_12Byte):第一个点的Y坐标

?  ……

?  Xadd_n2Byte):第n个点的X坐标

?  Yadd_n2Byte):第n个点的Y坐标

功能描述:

发送该指令前需要设置调色板(主要是背景色)。(Xadd,Yadd)为当前需要用背景色连线的像素点坐标,若连接n个点,则送nXY坐标值,这n个点将按照顺序依次用背景色线段连接。

1.3  频谱显示

TXaa 75

…… cc 33 c3 3c

RX:无

参数说明:

?  X0add2Byte):X轴起始坐标

?  Y0add2Byte):频谱水平(Y轴)起点坐标

?  Hmax1Byte):频谱最大高度

?  h11Byte):第1根谱线高度

?  h21Byte):第2根谱线高度

?  ……

?  hn1Byte):第n根谱线高度

功能描述:

发送该指令前需要设置好调色板。X0addx轴坐标起点,Y0add为频谱水平起点坐标,Hmax(1Byte)为谱线的最大高度。hn(n=0,1,2……)为单根谱线的高度(1Byte),每增加一个i值,x轴坐标自动增1。谱线显示前景色,比hi值大的区域显示背景色。

举例:

    发送:aa 75 00 64 00 32 64 0a 32 55 11 36 cc 33 c3 3c

频谱起始坐标为(10050),最大高度为100像素,谱线高度依次为:1050851754。效果如图7所示。

6.bmp

7 频谱显示实例  
 

1.1  画圆

TXaa 57 cc 33 c3 3c

RX:无

参数说明:

?  Type1Byte): Type=0x00:背景色画圆;Type=0x01:前景色画圆

?  Xadd2Byte):圆心X坐标

?  Yadd2Byte):圆心Y坐标

?  R1Byte):圆的半径

功能描述:

发送该指令前需要设置好调色板。当Type=0x00时,即以(Xadd,Yadd)坐标为圆心、R为半径、背景色画圆。

举例:

发送:aa 57 01 00 64 00 64 00 32 cc 33 c3 3c

    前景色画圆,圆心坐标(100100),圆的半径为50像素,效果如图8所示。

20110617165007001.jpg

8 画圆显示实例

1.2  清屏

1.2.1         整屏清屏

TXaa 52 cc 33 c3 3c

RX: 无

功能描述:

发送该指令前需要设置调色板。实现效果为背景色填充全屏显示。

1.2.2         区域清屏

TXaa 64 cc 33 c3 3c

RX:无

参数说明:

?  X0add2Byte):区域清屏起始X坐标

?  Y0add2Byte):区域清屏起始Y坐标

?  X1add2Byte):区域清屏结束X坐标

?  Y1add2Byte):区域清屏结束Y坐标

功能描述:

发送该指令前需要设置调色板。对起始坐标(X0add,Y0add)到结束坐标(X1add,Y1add)的矩形区域使用背景色填充。

举例:

TX1aa 53 cc 33 c3 3c

TX2aa 64 0064 0064 00c8 00c8 cc33c33c

先设置背景色为蓝色,然后发送清全屏为蓝色的指令(TX1);再设置背景色为红色,把(100100)到(200200)的区域清屏为红色(TX2)。效果如图9所示。

8.bmp

9 清屏指令实例

 

1.3  图片显示

1.3.1         满幅图片显示

TXaa 70 cc 33 c3 3c

RX :

参数说明:

?  Photo_num1Byte):Flash中预存的满幅图片的位号

功能描述:

显示满幅图片时,需要先用清屏指令将全屏清屏清为0x0000(即透明色,含有AV的串口模组0xffff为图片层透明色),才可以显示图片。

1.3.2         小图片显示

TXaa 9c cc 33 c3 3c

RX:无

参数说明:

?  photo_num1Byte):Flash中预存的小图片的位号

?  Xadd:放置小图片的起始X坐标

?  Yadd:放置小图片的起始Y坐标

功能描述:

在以(xadd,yadd)为起点的位置显示Flash中预存的第Photo_num幅小图片。显示小图片时,需要先把要显示的部分清屏为图片透明层(清屏为0x0000,含AV功能的模组相应清屏为0xffff)。

举例:

TX1aa 70 0a cc 33 c3 3c

TX2aa 9c 14 00 64 00 64 cc 33 c3 3c

首先,清全屏为透明层;然后显示一张存放在Flash中第10号位的满副图片(TX1);再显示一张存放在第20号位的小图片(TX2),显示的开始坐标为(100100)。效果如图10所示。

9.bmp

10 图片显示实例

1.4  背光控制

1.4.1         背光开启/关闭

TXaa 5e 00 cc 33 c3 3c (背光关闭)

RX:无

TXaa 5e ff cc 33 c3 3c (背光开启)

RX:无

功能描述:

背光开启/关闭指令可以控制液晶屏的背光关断,串口模组上电默认关闭背光。

1.4.2         背光PWM调节(部分模组有效)

TXaa 5f cc 33 c3 3c

RX:无

参数说明:

?  Pwm(1Byte)PWM取值1-100

功能描述:

调节背光PWM值,上电开背光默认值为PWM=100

1.5  串口控制

TXaa e0 cc 33 c3 3c

RX:无

参数说明:

Bps_set1Byte)取值的相应波特率设置如表5所示。

5 波特率设置表

Bps_set

0x00

0x01

0x02

0x03

0x04

0x05

0x06

0x07

波特率

1200

2400

4800

9600

19200.

38400

57600

115200

Bps_set

0x08

0x09

0x0a

0x0b

0x0c

0x0d

0x0e

0x0f

波特率

28800

76800

62500

125000

250000

230400

345600

691200

功能描述:

该指令用于设置串口波特率,上电后模组默认串口波特率为9600bps。如果需要更改波特率,则在9600bps波特率下发送相应指令。同样的,在其他波特率下,也可以通过该指令进行波特率切换。

1.6  AV显示控制

AV层的显示需要先使用清屏指令将液晶上需要显示AV视频图像的的区域清屏为0x0000。含有AV视频显示的串口模组,相应的图片层显示则是清叠加层色彩为0xffff

1.6.1         拍照指令

TXaa 80 40 cc 33 c3 3c

RX:无

参数说明:

?  Page(1Byte):表示拍照存储页,可取值为1-7

功能描述:

执行一次拍照,拍摄当前AV显示的图像,并把照片存储在显存的第page页中。

1.6.2         拍照显示指令

TXaa 80 41 cc 33 c3 3c

RX:无

参数说明:

?  Page(1Byte):表示显示已存储图像所在页,可取值为1-7

功能描述:

显示已经存储在第page页的图像,当期望返回实时AV图像显示时,可以设置page=0

1.6.3         视频显示模式

TX aa 88 < Dis_mode > cc 33 c3 3c

RX:无

参数说明:

?  Dis_mode1Byte):视频缩放控制器。对应模式设置值如表6所示。

6 视频显示模式设置

Dis_mode

0x00

0x01

0x02

0x03

缩放AV

640*480

480*360

400*300

320*240

?  Xpos2Byte):AV显示位置的起始X坐标

?  Ypos2Byte):AV显示位置的起始Y坐标

功能描述:

设置视频缩放模式,并显示在指定位置。

举例:

TXaa 88 03 00 64 00 74 cc 33 c3 3c

    在发送该指令前需要先将显示AV的区域清屏为(0x0000)。然后发送该指令,即可看到在(100100)的位置显示320*240AV视频。效果如图11所示。

10.bmp

11 视频显示实例  
 

1.1.1         AV芯片配置功能

TXaa 8f cc 33 c3 3c

RX:无

参数说明:

    可配置的ADDRDATA值定义如表7所示。

7 AV芯片配置参数定义

功能

配置地址(ADDR

配置数据(DATA)

设置对比度

0x05

(默认0x80

设置亮度

0x06

(默认0x00

设置色调

0x07

(默认0x80

设置饱和度

0x08

(默认0x88

低功耗关断

0x04

0x18

正常工作

0x04

0x10

彩色显示

0x0b

0x23

黑白显示

0x0b

0xa3

选择VIN1

0x09

0x02

选择VIN2

0x09

0x42

自动选择

0x09

0x82

测试信号关:显示AV信号

0x0c

0x00

测试信号:黑屏

0x0c

0x20

测试信号:蓝屏

0x0c

0x21

测试信号:75%彩条

0x0c

0x22

测试信号:100%彩条

0x0c

0x23

功能描述:

该指令用于配置AV芯片的相关寄存器。该指令的配置数据有两个字节:第一个字节为AV芯片配置地址,第二个字节为AV芯片配置数据。

1.2  触摸屏控制

1.2.1         触摸屏开/关控制

TXaa e4 66 99 69 ff cc 33 c3 3c (触摸屏开启)

RX:无

TXaa e4 66 99 69 00 cc 33 c3 3c(触摸屏关闭)

RX:无

功能描述:

串口模组上电默认状态下触摸屏被关闭,通过触摸屏开启指令可以使能触摸屏控制功能。

1.2.2         触摸屏校准

TXaa e4 55 aa 5a a5 cc 33 c3 3c

RX:无

功能描述:

发送该指令后,液晶屏四个角上依次出现蓝色十字框,用户需要用触摸笔依次点击相应位置并保持几十毫秒。一共需要有效点击四次。完成四次点击后,模组返回0xaa+0xf0表示响应。发送该指令前需要先开启触摸屏控制功能。(注意:用户的产品上没有配触摸屏的时候请勿发送该指令,如误发送,则可能需要重启)。

1.2.3         触摸点坐标上传

TX:无(触摸屏触发,即触摸屏某位置被按下)

RXaa 73 cc 33 c3 3c

参数说明:

?  Xpos2Byte):被触发的X坐标值,高字节在前

?  Ypos2Byte):被触发的Y坐标值,高字节在前

功能描述:

当触摸屏某位置被按下时,串口模组会返回该指令。通过该指令,串口模组把触摸屏触发的坐标发送给用户。

举例:

    使用晶奥科技提供的“串口调试助手”可以接收到触摸屏触发后串口模组发回的数据,如图12所示。

20110617165028001.jpg

12 触摸屏控制实例

其中0x0108,0x003b分别表示触发位置的XY坐标。

 
 
 
 
 
 
 
 
 
广告

文章评论 0条评论)

登录后参与讨论
相关推荐阅读
ilove314_323192455 2016-06-30 21:16
例说FPGA连载6:FPGA开发所需的技能
例说FPGA连载6:FPGA开发所需的技能 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   前面的文字已经做了很多铺垫,相信读...
ilove314_323192455 2016-06-28 21:09
例说FPGA连载5:FPGA的优势与局限性
例说FPGA连载5:FPGA的优势与局限性 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   若要准确评估FPGA技术能否满足开...
ilove314_323192455 2016-06-28 21:05
例说FPGA连载5:FPGA的优势与局限性
例说FPGA连载5:FPGA的优势与局限性 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   若要准确评估FPGA技术能否满足开...
ilove314_323192455 2016-06-26 22:11
例说FPGA连载4:FPGA语言与厂商介绍
例说FPGA连载4:FPGA语言与厂商介绍 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   Verilog与VHDL 说到FP...
ilove314_323192455 2016-06-23 21:26
例说FPGA连载3:FPGA与其它主流芯片的比较
例说FPGA连载3:FPGA与其它主流芯片的比较 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   FPGA、ASIC和ASSP...
ilove314_323192455 2016-06-21 20:32
例说FPGA连载2:FPGA是什么
例说FPGA连载2:FPGA是什么 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   2015年伊始,Intel欲出资百亿美金收...
我要评论
0
0
广告