北京迪文科技k600+能和plc三菱plc485通讯实例吗

当前位置:
北京迪文科技有限公司
同类店铺推荐
北京迪文科技有限公司店铺介绍:
北京迪文科技有限公司是淘宝店铺,是由掌柜湖南迪文科技有限公司运营开设的淘宝店铺。该店铺经营了包括入门套装(M系列产品套装,C系列产品套装,T系列产品套装,多媒体产品套装)、新品推荐、DGUS屏(商业类应用(C系列),消费类应用(M系列),工业类应用(T系列),取代标准人机(18WT系列),苛刻应用(S系列 K系列),IPS面板DGUS屏,可扩展F系列)、多媒体屏、串口指令屏、尺寸(2.8寸(320*240),3.5寸(320*240/高清),4.0寸(800*480高清),4.3寸(480*272),5.0寸(480*272/高清),5.6寸(640*480),5.7寸(640*480/高清),7.0寸(800*480/高清),8.0寸(800*600/高清),9.7寸(),10.2寸(),10.4寸(800*600),12.1寸(800*600/高清),15.0寸())、应用拓展(串口语音模组/评估板,扩展板(CAN/以太网/485),DCS控制器)、配件(连接线,转接板,SD卡,下载器,前装塑胶面板)诸多商品类目。北京迪文科技有限公司为广大网购用户提供我们诚挚的服务。同时,店铺加入了消费者保障服务,是金牌卖家,欢迎大家来访北京迪文科技有限公司淘宝店铺进行购物。
相关推荐:北京迪文科技的营销岗位怎么样?适合应届毕业生去吗? - 知乎8被浏览1525分享邀请回答04 条评论分享收藏感谢收起0添加评论分享收藏感谢收起查看更多回答当前位置: >>
迪文DGUS屏开发指南
专业素养.诚实守信.追求卓越迪文 DGUS 屏用户开发指南(Ver4.0 2014.01)北京迪文科技有限公司 专业.诚信.成功迪文 DGUS 屏开发指南Ver4.0目 录1 DGUS 概述............
...........................................................31.1 1.2 1.3 1.4 1.5 认识迪文 DGUS 屏 .............................................................................. 3 DGUS 屏主要特点 ............................................................................... 4 DGUS 屏数据格式 ............................................................................... 4 DGUS 软件处理流程图 ........................................................................... 5 DGUS 屏开发流程 ............................................................................... 62 DGUS 屏配置.....................................................................72.1 SD/SDHC 配置接口 .............................................................................. 7 2.2 SD/SDHC 下载文件格式说明 ...................................................................... 8 2.2.1 图片下载.................................................................................. 8 2.2.2 字库下载.................................................................................. 8 2.2.3 CONFIG.TXT 配置文件....................................................................... 8 2.2.4 声音文件下载.............................................................................. 9 2.2.5 DGUS 应用程序升级......................................................................... 9 2.2.6 用户数据库 SD 卡导出....................................................................... 9 2.3 DGUS 屏参数配置 .............................................................................. 10 2.3.1 屏幕物理分辨率设置(R0)................................................................. 10 2.3.2 显示位时钟相位选择(R4)................................................................. 10 2.3.3 串口波特率设置(R1、R5、R9)............................................................. 10 2.3.4 串口通信帧头设置(R3、RA)............................................................... 10 2.3.5 软件工作模式配置寄存器(R2、RC)......................................................... 11 2.3.6 屏幕显示方向设置(R2.7 R2.6)............................................................ 11 2.3.7 触摸屏控制背光(R2.5 R6 R7 R8).......................................................... 12 2.3.8 触摸屏校准............................................................................... 12 2.3.9 SD/SDHC 接口禁止和解锁................................................................... 123 串口操作 ......................................................................133.1 数据帧架构 ................................................................................... 13 3.2 指令集 ....................................................................................... 13 3.3 串口 CRC 校验 C 程序参考 ...................................................................... 144 DGUS 寄存器....................................................................154.1 4.2 4.3 4.4 4.5 4.6 DGUS 寄存器一览表 ............................................................................ 15 读写 RTC ..................................................................................... 16 字库读取 .................................................................................... 16 128 段音乐播放 ............................................................................... 16 数据库读写 .................................................................................. 17 按键触发 .................................................................................... 175 DWIN OS 用户程序设计...........................................................185.1 基本约定 .................................................................................... 18 5.2 DWIN OS 汇编指令集 ........................................................................... 196 触控/键控配置文件(13.BIN)说明 ...............................................256.1 触控/键控功能一览表 .......................................................................... 25 6.2 变量数据录入(0x00) ......................................................................... 26 6.3 弹出菜单选择(0x01) ......................................................................... 28 6.4 增量调节(0x02) ............................................................................. 29 6.5 拖动调节(0x03) ............................................................................. 30 6.6 RTC 设置(0x04) ............................................................................. 31 6.7 按键值返回(0x05) .......................................................................... 32 6.8 文本录入(0x06) ............................................................................ 32 6.8.1 ASCII 文本录入........................................................................... 33 6.8.2 GBK 汉字文本录入......................................................................... 34 6.9 硬件参数配置(0x07) ........................................................................ 367 显示变量配置文件(14.BIN)说明 ................................................377.1 显示变量功能一览表 ........................................................................... 37 7.2 图标变量 ..................................................................................... 38北京迪文科技有限公司- 1 -.cn400 018 9008.cn 专业.诚信.成功迪文 DGUS 屏开发指南Ver4.07.2.1 变量图标显示(0x00)..................................................................... 38 7.2.2 动画图标显示(0x01)..................................................................... 39 7.2.3 滑块刻度指示(0x02)..................................................................... 40 7.2.4 艺术字变量显示(0x03)................................................................... 41 7.2.5 图片动画显示(0x04)..................................................................... 42 7.2.6 图标旋转指示(0x05)..................................................................... 43 7.2.7 位变量图标显示(0x06)................................................................... 44 7.3 文本变量 ..................................................................................... 45 7.3.1 数据变量显示(0x10)..................................................................... 45 7.3.2 文本显示(0x11)......................................................................... 46 7.3.3 RTC 显示(0x12)......................................................................... 47 7.3.4 HEX 变量显示(0x13)..................................................................... 48 7.4 图形变量 ..................................................................................... 49 7.4.1 实时曲线(趋势图)显示(0x20)........................................................... 49 7.4.2 基本图形显示(0x21)..................................................................... 50 7.4.3 列表显示(0x22)......................................................................... 528 DGUS 屏应用问答(FAQ).........................................................53 附录 修订记录 ...................................................................56北京迪文科技有限公司- 2 -.cn400 018 9008.cn 专业.诚信.成功迪文 DGUS 屏开发指南Ver4.01 DGUS 概述1.1 认识迪文 DGUS 屏 DGUS(DWIN Graphic Utilized Software)是北京迪文科技有限公司基于 K600+内核迪文屏所设计的智慧型、图形界面、人机系统软件,DGUS 软件架构如下图所示:出厂预装 DGUS 软件的屏称为 DGUS 屏,一个典型的 DGUS 屏(DMTWT)硬件组成如下图所示:北京迪文科技有限公司- 3 -.cn400 018 9008.cn 专业.诚信.成功迪文 DGUS 屏开发指南Ver4.01.2 DGUS 屏主要特点DGUS 屏的主要特点包括: ? 把 GUI 分解成控件并按页面来配置,控件显示直接由变量控制; 在通过 PC 软件配置好控件文件(14.BIN)下载到 DGUS 屏后,用户仅仅需要通过串口改写变量值即可 实现控件显示的相应改变。 比如,要在某个页面显示两位小数(25.00)的温度值,分两步开发完成: Step1 配置:借助迪文提供的 PC 组态开发软件,在相应页面位置添加一个数据变量控件,设置好显 示格式(字体大小、显示颜色、单位、小数点长度、数据源、数据类别) ,预览 OK 后通过 SD 卡把生 成的控件文件(14.BIN)下载到 DGUS 屏。 Step2 运行:用户软件只需要定时(或者参数变化时)把温度值通过串口刷新到对应的数据源地址, 当显示切换到对应页面时,屏幕就自动按照预先设定显示格式显示出来。 ? 触摸屏或键盘录入过程,通过 PC 软件按照页面定义的触控文件(13.BIN)来控制,用户软件仅需要 定时(或者参数改变时的串口中断触发)来读取录入变量值即可。 比如,要在某个页面用触摸屏录入显示两位小数(25.00)的设定温度值,分两步开发完成: Step1 配置:借助迪文提供的 PC 组态开发软件,在相应页面位置添加一个变量数据录入控件,设置 好录入格式(字体大小、光标模式、显示颜色、小数点长度、数据源、数据类别) ,预览 OK 后通过 SD 卡把生成的控件文件(13.BIN)下载到 DGUS 屏。 Step2 运行:当切换到对应页面,并按压触摸屏触发相应控件,DGUS 会自动完成录入过程。用户软 件只需要定时(或者配置为录入完成自动串口下发给用户)查询录入值即可。 ? 56KB 变量空间,8 通道曲线趋势图存储器,极快(最快 80mS)的变量显示响应速度; ? 256 字节配置寄存器空间,串口指令读写,用于硬件控制和操作; ? 256MB(可以扩展到 1GB、2GB)Flash 存储器,海量图片、图标、字库存储; ? 每页可设置多达 128 个显示控件(支持显示控件叠加)和任意多的触控控件。 ? SD/SDHC 接口,FAT32 文件格式,可以使用 SD 卡来实现 DGUS 屏硬件参数配置、图片数据下载、软件 升级,批量生产时尤其方便,并便于生产档案管理。 ? 集成了 RTC(公历/农历) 、集成背光亮度调节、背光自动待机、触控蜂鸣器伴音功能; ? 支持语音播放功能、支持电容触摸屏、可以在图片存储器空间构造高可靠性用户数据库; ? 集成的 DWIN OS 平台,丰富的指令,可以允许用户把一部分代码放到 DGUS 屏上运行,让用户二次开 发变得简单,也提供了 DGUS 屏做为系统主控设备的可能。 迪文 OS 平台集成了数学运算(包括 MAC、CRC) 、数据存储(包括 Flash 数据库读写) 、串口通信、常 用通信协议处理 (比如 Modbus 协议、 DL/T645 电力抄表协议等) 、 串口外设 (比如打印机) 驱动、 DGUS 进程控制等指令,典型的应用案例包括 Modbus 总线管理、电力抄表、票据打印、POS 设备等。 ? 可靠的硬件平台(基于迪文 ASIC 的 HMI 平台架构,已经历了将近 10 年的工业应用考验) 、迪文自主 知识产权的软件设计(DGUS 软件采用汇编代码设计,总代码量约 50KB) ,使 DGUS 屏不仅性能优越, 运行也极其稳定可靠。 ? 通过 TUV CE 和 RoHS 认证。1.3 DGUS 屏数据格式由于主要面向MCU等嵌入式系统应用,为了用户处理的方便,DGUS屏使用的数据采用整数(字) 、无符号 整数(字) 、长整数(双字) 、超长整数(4个字)表示,相关表示范围如下: 整数:-30)到+3FFF) 无符号整数:0(0x0000)到65535(0xFFFF) 长整数:-(0x)到+(0x7FFFFFFF) 超长整数:-4775808 到 4775807 小数采用定点小数表示,用户自定义小数位数,比如0x4D2(1234) ,规定小数为2位时,表示12.34。 DGUS屏使用65K色颜色系统,调色板定义如下:Bit Define 15 R4 14 13 12 R3 R2 R1 红色 0xF800 11 R0 DGUS 使用的 65K 设调色板位定义 10 9 8 7 6 G5 G4 G3 G2 G1 绿色 0x07E0 - 4 5 G0 4 B4 3 B3 2 1 B2 B1 蓝色 0x001F 0 B0北京迪文科技有限公司.cn400 018 9008.cn 专业.诚信.成功迪文 DGUS 屏开发指南Ver4.01.4 DGUS 软件处理流程图系统复位 Y检查串口升级指令 (DWIN_M600_BOOT!) N ? ? ? ? DEBUG 中断 DWIN OS 仿真; 系统运行监控和诊断。 变量初始化 56KB 变量空间清零; 曲线缓冲区清零。串口升级 DGUS 程序 (也可以通过 SD 卡升级)加载 CONFIG.TXT 配置 对 DGUS 屏硬件进行配置 Y 加载 22.BIN 文件 到 56KB 变量空间外设中断 (RTC、语音等数据处理)是否需要设置初始化数据? N 加载 13.BIN 触控文件 加载 14.BIN 显示变量控件串口中断 (串口数据处理)触摸屏/按键中断 (页面逻辑并处理 13.BIN)显示第 0 幅图片,处理变量 背光打开,屏幕点亮配置寄存器数据处理 (硬件控制、页面切换等)SD/SDHC 接口插卡侦测到? (DWIN_SET 文件夹) N DGUS 处理周期到? (80/120/160/200mS) N 复位 WDTYSD 卡配置、下载、升级 (热拔插间隔要超过 6 秒)Y加载并运行一遍 DWIN OS 程序(23.BIN)处理对应页面的显示变量 (14.BIN) ,字库、数据库读写。说明: DWIN OS 程序在每个 DGUS 周期(80/120/160/200mS)都完整运行一遍,所以 DWIN OS 程序中不能出现死 循环或者通过指令循环的延时。北京迪文科技有限公司- 5 -.cn400 018 9008.cn 专业.诚信.成功迪文 DGUS 屏开发指南Ver4.01.5 DGUS 屏开发流程与传统的 LCM 通过时序或者指令控制显示不同,DGUS 屏采用直接变量驱动显示方式,所有的显示和操作 都是基于预先设置好的变量配置文件来工作的。两种不同的工作方式导致用户应用时的软件架构和二次开发 难度完全不同。 举例,假设做一个简单的触摸屏温控仪,要在当前页面显示测量温度,点击触摸屏切换到设置页面进行 参数设置。两种不同开发方式下的软件流程图如下:上面的例子,只是一个两个参数、两个页面的最简单 GUI,如果对于实际应用中稍微“高级”一点的产 品,几十个参数,几十个页面,还要考虑动画、图标等等吸引眼球的 GUI,前一种方式需要 1 个优秀工程师 加班加点干 1 年,而使用 DGUS 屏开发,3-4 个工程师(可以并行协同做)2-3 天就搞定了。 在有些中、 小型工业自动化项目应用中, 当整个系统由一些相对独立、 功能完善的组件 (比如支持 Modbus 协议的温控仪或其它二次仪表)构成时,用户可以直接把 DGUS 屏当成主机使用,用 485 网络把设备和 DGUS 屏组成一个网络,基于 DGUS 屏上搭载的 DWIN OS 二次开发平台来开发用户主控软件直接在 DGUS 屏上运行, 替代用户 CPU 的工作。 总的来说,DGUS 屏是基于配置文件来工作的,所以整个开发过程也就是通过 PC 软件辅助设计完成变量 配置文件的过程,基本开发流程如下: 第1步:变量规划 推荐客户开发过程中用 Excel 表格来记录、整理好变量分配记录,便于将来的修改、升级维护。 第2步:界面设计 利用PS(或者其它绘图软件)进行界面及界面相关元素(图标、字库)设计。设计过程中,请选择调色板系 统为65K色,确保最终显示效果和设计效果一致。如果想让您的产品至少看起来很有价值,建议委托专业美工 或者工业设计公司来设计UI和相关界面,一般收费在200人民币/1个页面左右。 第3步:界面配置 利用迪文提供的工具软件进行界面的配置,生成触控配置文件(13.BIN)和变量配置文件(14.BIN)。 第4步:测试修改 把配置文件、图片、字库、图标库等借助SD卡下载到DGUS屏,进行界面测试和修改(第2-3步) 。 把串口连上用户MCU系统,进行数据联调。 第5步:定版归档 定版后,把配置文件、图片、字库、图标库等DGUS屏涉及的文件保存在一张SD卡转生产即可。 如果不希望最终客户通过SD卡接口改变或者导出内部数据, 可以对SD卡接口加密锁死(加密后用户必须保管好 SD卡的开锁密码,一旦SD卡锁死,没有开锁密码,只能返厂更换内核CPU才能使SD卡接口再次启用)。北京迪文科技有限公司- 6 -.cn400 018 9008.cn 专业.诚信.成功迪文 DGUS 屏开发指南Ver4.02 DGUS 屏配置2.1 SD/SDHC 配置接口DGUS 屏的所有硬件参数设置和资料下载,都通过屏上的 SD/SDHC 接口来完成,文件必须使用 FAT32 文件 格式。 第一次使用 SD 卡前,推荐先格式化一次,流程如下: 第 1 步:在 windows 的 开始//运行,键入 command 运行 DOS 系统; 第 2 步:把 SD 卡格式化,键入指令: format/q g:/fs:fat32/a:4096 其中 g 是 SD 卡的盘符,不同的电脑用对应的盘符(比如 h,i)替换即可;如下图所示:使用 SD 卡下载数据的流程? ? 在 SD 卡根目录下建立 DWIN_SET 文件夹; 把需要下载的图片、字库、配置文件都放在 DWIN_SET 文件夹中,如下图所示:?把 SD 卡插到 DGUS 屏的 SD 卡接口上,DGUS 屏检测到 SD 卡后,会显示蓝屏提示用户检测到 SD 卡,然后 开始屏参数配置,或将数据下载到屏上的 Flash 中; 两次 SD 卡热拔插之间必须间隔至少 6 秒,不然 DGUS 屏会认为是同一张卡而不会启动 SD 卡操作。如果用 户已经禁止 SD 卡接口,要启用 SD 卡接口,除非事先解锁或在 SD 卡的 CONFIG.TXT 文件中有解锁指令。 SD 卡下载完成,DGUS 屏会自动复位一次,用户拔出 SD 卡,下载结束。?北京迪文科技有限公司- 7 -.cn400 018 9008.cn 专业.诚信.成功迪文 DGUS 屏开发指南Ver4.02.2 SD/SDHC 下载文件格式说明为防止误操作,DGUS 屏对 SD/SDHC 配置文件有严格的命名和格式要求,不然会导致出错。 2.2.1 图片下载 图片文件必须是和 DGUS 屏分辨率相同的 24 位色 BMP 格式文件,文件的命名必须是表示图片存储位置的 阿拉伯数字开头。 比如, 要把一副图片用 SD 卡存储到 DGUS 屏的第 20 个图片存储位置, 图片文件可以命名成 “20 测试.BMP” 、 “20.BMP”或者“020 测试.BMP” ,但不能命名成“测试 20.BMP” 。 不同分辨率 DGUS 屏最大存储图片数量如下表所示:类 标 别 准 存储器 空 间 字库 32MB 32MB 32MB 不同分辨率 DGUS 屏最大存储图片数量 320*240 836 0*272 836 0*480 278 0*480 278 0*600 209 932 0 167 745 8 139 621 1264256MB 1GB 2GB扩展到 1GB 扩展到 2GB2.2.2 字库下载 DGUS 屏一共有 32MB 字库空间,分割成 128 个容量固定为 256KB 的字库空间。 和下载图片类似,字库文件的命名也必须是表示字库存储位置(0-127)的阿拉伯数字开头。 下载的字库文件包括字库、输入法词库、配置文件、图标文件; 字库文件格式说明如下表所示:SD 卡文件格式说明 举 例 说 明 32_GBK12 汉 字 字库文件 字库存储位置+ (可选的) 文件名.BIN/HZK/DZK 可以由 TS3 字库提取软件生成 库.DZK 图标库 字库存储位置+(可选的)文件名.ICO 41 图标库.ICO 迪文工具箱生成 专用 ASCII 字库 0*.HZK,固定位置 0-11 0_DWIN_ASC.HZK 迪文工具箱生成 输入法词库 12*.BIN,固定位置 12 12_PY_DGUS.BIN 迪文预装 触控配置 13*.BIN,固定位置 13 13 触控文件.BIN DGUS 组态软件生成 变量配置 14*.BIN,固定位置 14-21 14 变量文件.BIN DGUS 组态软件生成 变量初始化 22*.BIN,固定位置 22 22 变量初始化.BIN OS 代码 23*.BIN,固定位置 23 23 水处理.BIN 基于 DWIN OS 0-23 号字库(6MB)被 DGUS 系统预留做为将来系统升级使用,用户字库建议从 24 位置开始使用。 文件类型 命名规则2.2.3 CONFIG.TXT 配置文件 CONFIG.TXT 文件采用 windows 的文本文档格式,类似脚本语言的方式来描述参数寄存器,每一行描述一 个参数(格式必须是 R?=HH 其中?是寄存器序号,HH 是寄存器配置值的 16 进制(HEX)值,必须大写),不用 的参数可以不写,如下图所示。上例中,RA=A5 表示把 RA 寄存器内容配置成 0xA5。 不能写成 ra=5a 或者 RA=5a,并且每个寄存器配置后必须换行写下一个寄存器配置。 CONFIG.TXT 文件相关参数说明请参考“2.3 DGUS 屏硬件参数配置” 。北京迪文科技有限公司- 8 -.cn400 018 9008.cn 专业.诚信.成功迪文 DGUS 屏开发指南Ver4.02.2.4 声音文件下载 有些 DGUS 屏(具体看硬件规格书说明)支持 128 段语音播放,需要事先下载声音文件存储到屏里面。 和下载字库类似,声音文件的命名也必须是表示声音存储位置(0-127)的阿拉伯数字开头(比如 12 请 刷卡.WAV ) ,声音文件的后缀是.WAV,采用 32KHz 采样,16bit 单声道 WAV 文件格式。 声音文件采用额外的 Flash 存储,不占用 DGUS 的 FLASH 空间,下载存储速度约为 32KB/S。 2.2.5 DGUS 应用程序升级 DGUS 屏支持 SD 卡升(降)级应用程序,把应用程序(DGUS_V*.BIN)放到 SD 卡 DWIN_SET 目录下即可。 2.2.6 用户数据库 SD 卡导出 用户数据库是在 DGUS 屏的图片存储器中拿出一块空间进行数据存储,空间大小和位置由用户控制,不同 内核其 Flash 大小不同,导致图片存储器空间和可用数据库空间也不相同,如下表所示:类 标 别 准 图片空间 最大容量 210MB 932MB 1896MB 数据库空间 最大容量 89MB 450MB 960MB 不同分辨率 DGUS 屏最大存储图片数量 320*240 836 0*272 836 0*480 278 0*480 278 0*600 209 932 0 167 745 8 139 621 1264扩展到 1GB 扩展到 2GB用户数据库读写过程中,DGUS 对数据进行了加密和前向纠错(FEC)操作,确保数据存储的可靠性。 用户数据库导出方法如下: ? 先计算出导出数据库的起始页位置 假设要导出的数据库首地址为 ADR,那么地址的 最高两个字节+256 即为对应的 SD 卡导出页 ID。 ? 用起始页位置命名创建一个和导出数据库等大(对齐到 128KB)的 DAT 文件: 字库起始页位置+(可选的)文件名.DAT ? 把这个 DAT 文件放到 SD 卡 DWIN_SET 文件夹下面,插入 DGUS 屏 SD 卡接口,DGUS 屏会自动把指定的数据 库内容读取出来覆盖 SD 卡上的 DAT 文件。 举例, 假设要导出数据库空间 0x00 10 00 00 到 0x00 17 FF FF 共 1MB(512KW)数据, 那么对应的 SD 导出页 ID 是: 0x00 10+256=272 在 SD 卡的 DWIN_SET 目录下放置 1 个大小是 1MB 的文件 272 数据库记录.DAT(或者其它 272***.DAT 的 文件名都可以) ,把 SD 卡插入 DGUS 屏 SD/SDHC 接口即可把数据库内容导出。 数据库导出速度大约为 180KB/S,对于很大的数据库导出,可以分成几个文件来处理。 关于用户数据库的详细说明请见“4.5 数据库读写” 。北京迪文科技有限公司- 9 -.cn400 018 9008.cn 专业.诚信.成功迪文 DGUS 屏开发指南Ver4.02.3 DGUS 屏参数配置DGUS 屏参数配置通过在 CONFIG.TXT 文件中写好寄存器参数,然后用 SD 卡下载到 DGUS 屏中实现。 2.3.1 屏幕物理分辨率设置(R0) 显示屏物理分辨率由 R0 寄存器设置,如下表所示。R0 设置 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 分辨率设置(H*V) 640*480 640*480 800*480 800*600 4*768 800*600 800*600 800*600 0*800 6*768 240*320 320*240 480*272 480*272 800*480 320*240 典型 DGUS 屏 DMTW DMTW DMTW DMTW 特殊定制屏 DMTW 特殊定制屏 特殊定制屏 MVGA01、MDVI01 DMTW 未使用 DMTW 未使用 特殊定制屏 特殊定制屏 DMTW 特殊定制屏 特殊定制屏 DMTW 备 注DMTW 早期也使用此模式R0 寄存器出厂已经设置好,用户无须再配置。R0 配置错误将导致显示异常。 2.3.2 显示位时钟相位选择(R4) DGUS 使用的液晶屏,由于 TCON 不同,起显示数据和显示位时钟的相位关系也有两种,由 R4 设置: R4=00 显示数据在显示位时钟下降沿锁存 R4=FF 显示数据在显示位时钟上升沿锁存 R4 寄存器出厂已经设置好,用户无须再配置。R4 配置错误将导致显示画面抖动或者出现毛边。 2.3.3 串口波特率设置(R1、R5、R9) DGUS 屏用户接口的串口波特率由 R1、R5、R9 寄存器设置。 ? 当 R1 取值在 00-10 时,R5、R9 无效,可以选择 17 档固定波特率之一,如下表(波特率单位为 Kbps):R1 波 特 率 00 1.2 01 2.4 02 4.8 03 9.6 04 19.2 05 38.4 06 57.6 07 115.2 08 28.8 09 76.8 0A 62.5 0B 125 0C 250 0D 230.4 0E 345.6 0F 691.2 10 921.6?当 R1 取值为 11 时,此时波特率由 R5、R9 决定,并由下式计算: R5:R9=6250000/波特率 R5:R9 表示一个双字节参数,R5 为高字节,R9 为低字节。 比如,设定 10000bps 波特率,R5:R9=00=625=0x R9=71 DGUS 屏出厂波特率预设值 R1=7,波特率为 115200bps。2.3.4 串口通信帧头设置(R3、RA) DGUS 屏的串口数据帧由 5 个数据块组成,如下表:数据块 定 义 数据长度 说 明 1 帧 头 2 R3:RA 定义 2 数据长度 1 数据长度包括指令、数据和校验 3 指令 1 0x80-0x84 4 数据 N 5 指令和数据的 CRC 校验 2 R2.4 决定是否启用通信帧头的设置主要达到以下两个目的: (1)用于串口数据帧的识别和同步; (2)多台 DGUS 屏并联工作时,把帧头做为设备地址加以区分; 假设设置 R3=AA RA=BB,那么串口指令必须以 0xAA 0xBB 开头(比如读寄存器指令 AA BB 03 81 00 10) , DGUS 屏才会接收。 DGUS 屏出厂通信帧头预设值 R3=5A RA=A5 ,帧头为 0x5A A5。北京迪文科技有限公司- 10 -.cn400 018 9008.cn 专业.诚信.成功迪文 DGUS 屏开发指南Ver4.02.3.5 软件工作模式配置寄存器(R2、RC) R2、RC 寄存器按位(bit)定义,用于配置 DGUS 屏软件工作模式,如下表所示(阴影表示出厂设置值) 。 ? R2 寄存器定义位 .7 .6 .5 .4 .3 .2 .1 权重 0x80 0x40 0x20 0x10 0x08 0x04 0x02 VDS HDS TP_LED FCRC TPSAUTO L22_Init_En FRS1 定义 说明 0=正常显示 1=偏转 90°显示 0=正常显示 1=偏转 180°(反视角)显示 0=背光不受触摸屏状态控制 1=背光受触摸屏状态控制,控制参数由 R6、R7、R8 寄存器设定 0=不启用串口通信的 CRC16 帧校验 1=启用串口通信的 CRC16 帧校验 0=触摸屏录入参数后不自动上传(用户查询) 1=触摸屏录入参数后是否自动上传到串口由相应触控变量的配置决定 0=56KB 变量存储器上电初始化数据为 0x00 1=56KB 变量存储器上电初始化数据由 22 字库文件加载 设置 DGUS 周期,DGUS 周期越小则变量响应越灵敏,但处理变量的能力越低。 DGUS 周期 80mS 120mS 160mS 200mS FRS1 1 1 0 0 FRS0 1 0 1 0 对于
分辨率,建议 DGUS 周期设置成 120mS 以上。 DGUS 周期会影响动画图标显示的动画速度。 说明 必须写 0 0=不运行 DWIN OS 程序 1=运行 DWIN OS 程序 0=点击触摸屏有效区域时有蜂鸣器提示音; 1=点击触摸屏有效区域时无蜂鸣器提示音, 但仍旧可以通过向 0x02 寄存器写入数 据控制蜂鸣器鸣叫。 0=每页显示变量数目为 64 个,必须在 DGUS PC 软件平台对应选择 64 变量模式。 1=每页显示变量数目为 128 个,必须在 DGUS PC 软件平台对应选择 128 变量模式。 0=启动 CRC 帧校验后,不自动应答帧校验结果。 1=启动 CRC 帧校验后,自动应答帧校验结果。 0=触摸屏采用 3 点校准模式。 1=触摸屏采用 5 点校准模式。 写0 写0.00x01FRS0?RC(AUX_CFG 配置字)说明位 .7 .6 .5 .4 .3 .2 .1 .0 权重 0x80 0x40 0x20 0x10 0x08 0x04 0x02 0x01 定义 系统保留 RUN_OS_EN TP_BUZZ_EN PAGE128_EN CRC_ACK_EN TP_CAL_MOD 未定义 未定义2.3.6 屏幕显示方向设置(R2.7 R2.6) DGUS 屏有 4 种不同显示方向(下图所示)可以选择,由 R2.7(VDS) 、R2.6(HDS)设置。北京迪文科技有限公司- 11 -.cn400 018 9008.cn 专业.诚信.成功迪文 DGUS 屏开发指南Ver4.02.3.7 触摸屏控制背光(R2.5 R6 R7 R8) 当设置 R2.5=1 时,背光亮度将受触摸屏状态控制(背光待机后,第一次点击触摸屏不会触发动作) 。R# R6 R7 R8 取值范围 0x00-0x40 0x00-0x40 0x01-0xFF 说 明 触摸屏控制背光启动后,点击触摸屏后背光点亮亮度。 触摸屏控制背光启动后,一段时间不点击触摸屏,背光关闭的亮度。 触摸屏控制背光启动后,触摸屏背光点亮时间,单位为 1.0 秒。举例,设置 R2.5=1 R6=40 R7=10 R8=1E,30 秒(0x1E)不点击触摸屏,背光亮度将自动降低到 0x10(25%) ; 点击触摸屏后,背光亮度将自动调节到 0x40(100%) 。 2.3.8 触摸屏校准 DGUS 屏有 3 种方式进入触摸屏校准模式。? 校准方式 1开机状态下,如果 4 秒内快速点击触摸屏的非触控区域超过 20 次,则进入触摸屏校准模式,步骤如下: (1)4 秒内快速点击触摸屏非触控区域超过 20 次; (2)蜂鸣器长鸣 1 秒,听到蜂鸣器鸣叫时停止点击; (3)进入校准模式,按照十字交叉线的提示点击触摸屏的指定位置校准触摸屏; (4)校准结束,返回进入校准前的画面。? 校准方式 2在 CONFIG.TXT 文件中,写入一行特殊文本“TP_CORRECT”将启动一次触摸屏校准过程。? 校准方式 3通过串口向 0xEA 寄存器写入 0x5A 将启动一次触摸屏校准过程。 DGUS 屏会自动检测校准是否有效,当校准无效时(比如误操作导致进入校准模式) ,DGUS 屏不会被被错 误的设置(校准) 。如果多次校准触摸屏都无效,往往是触摸屏已经被物理损伤,比如触摸屏破裂。 当 SD 卡接口被禁止后,除非解锁,否则将不能进行触摸屏校准。 2.3.9 SD/SDHC 接口禁止和解锁? SD/SDHC 接口禁止在客户测试完成正式量产后, 为了防止在应用中通过 SD 卡进行错误的升级或下载操作, 导致工作不正常。 可以通过在 CONFIG.TXT 文件中,增加一行特殊文本来禁止 SD 卡接口,说明如下:第 1 部分 第 2 部分 第 3 部分 SD_LOCK_ 1000 ABCD1234 CONFIG.TXT 文档中禁止 SD 接口文本的说明 固定 用来重新启用 SD 接口的密码保存在变量存储器空间的地址,。 重新启用 SD 接口的 8 位密码。举例: 假设禁止 SD/SDHC 接口后的重新启用密码为 ,密码保存在变量存储空间的 0x6000 位置。 禁止 SD/SDHC 接口的步骤: (1)在 CONFIG.TXT 文档中增加指令: SD_LOCK_8 (2)把 CONFIG.TXT 用 SD 卡配置 DGUS 屏; (3)之后 DGUS 将禁止 SD/SDHC 接口。? SD/SDHC 接口解锁(取消禁止)以下 3 种方法可以对 SD/SDHC 接口解锁(取消禁止) ,以解锁上面的禁止过程为例说明如下: 方法 1: 通过串口发送正确的密码到正确的存储空间位置,SD 卡将被激活一次。 假设用户设置的帧头为(0xA55A) :A5 5A 0B 82 60 00 31 32 33 34 35 36 37 38。 方法 2: 使用触摸屏 ASCII 文本录入功能来设置一个“解锁”操作菜单,也可以激活一次 SD 卡。 方法 3: CONFIG.TXT 文档中写入取消 SD 卡禁止的命令 SD_UNLOCK_密码 ,存入 SD 卡去重新激活 SD/SDHC 接口。 比如,SD_UNLOCK_ 。 如果 SD 卡被禁止,用户务必妥善保管好启用密码,否则 DGUS 屏将不能更新数据、资料和校准触摸屏。北京迪文科技有限公司- 12 -.cn400 018 9008.cn 专业.诚信.成功迪文 DGUS 屏开发指南Ver4.03 串口操作迪文DGUS屏采用异步、全双工串口(UART) ,串口模式为8n1,即每个数据传送采用10个位:1个起始位, 8个数据位,1个停止位。 串口波特率通过SD卡来配置。 串口的所有指令或者数据都是16进制 (HEX) 格式; 对于字型 (2字节) 数据, 总是采用高字节先传送 (MSB) 方式。比如0x1234传送时先传送0x12。 DGUS屏的串口接收FIFO为4KB,即1个DGUS周期(80/120/160/200mS)内可以传送至少4KB数据(约等于 200bps波特率连续发送) ;一个DGUS周期能够传送的最大数据长度取决于用户界面的复杂程度;推 荐客户在一个DGUS周期内不要发送超过4KB的数据给DGUS屏。3.1 数据帧架构迪文 DGUS 屏的串口数据帧由 5 个数据块组成,如下表所述:数据块 定 义 数据长度 说 明 1 帧 头 2 CONFIG.TXT 配 置 文 件的 R3:RA 定义。 5A A5 2 数据长度 1 数据长度包括指 令、数据和校验 05 3 指令 1 0x80-0x84 81 00 10 4 数据 N 5 指令和数据的 CRC 校验 2 CONFIG.TXT 配置文件的 R2.4 决定是否启用 20 24举例CRC 校验不包括帧头和数据长度,仅针对指令和数据,采用 ANSI CRC-16(X16+X15+X2+1)格式。 当启用 CRC 帧校验应答(R2.4=1 RC.3=1)后,DGUS 屏会在 CRC 校验后自动应答校验情况: 帧头+02+(DGUS 屏接收的)指令+数据(0xFF 表示 CRC 校验正确 0x00 表示 CRC 校验错误)+CRC3.2 指令集DGUS 屏采用变量驱动模式工作,屏的工作模式和 GUI 状态完全由数据变量来控制。相应的,串口指令也 只需要对变量进行读、写即可,指令集非常简单,一共只有 5 条指令。功能 指令 0x80 数 据 说 明 下发:寄存器地址(0x00-0xFF)+写入数据 指定地址写寄存器数据 下发:寄存器地址(0x00-0xFF)+读取字节长度 指定地址开始读指定字节长度的寄存器数据 (0x00-0xFF) 0x81 应答:寄存器地址(0x00-0xFF)+字节数据长度 读寄存器的 DGUS 屏应答 +读取的寄存器数据 DGUS 屏有 256Byte 的寄存器,主要用于硬件操作的软件接口,按照字节(Byte)寻址操作。 下发:变量存储器地址(0xFFF)+写入 指定变量地址开始写入数据串(字数据)到变量存储区 的变量数据 下发:变量存储器地址(0xFFF)+读取 从变量存储区指定地址开始读入 RD_LEN 长度字数据 变量数据字长度(0x00-0x7F) 0x83 应答:变量存储器地址+变量数据字长度+读取 读数据存储器的 DGUS 屏应答 的变量数据 DGUS 屏有 28K word(56K Byte)的变量存储器,主要用于 GUI 变量数据存储,按照字(Word)寻址操作。 0x82 写曲线缓冲区数据。 CH_Mode 定义了后续数据的通道排列顺序: ? CH_Mode 的每个位(bit)对应 1 个通道; CH_Mode.0 对应 0 通道,.7 对应 7 通道; 对应位置 1 表示对应的通道数据存在; 0x84 CH_Mode(Byte)+DATA0(Word)+…+DATAn 对应位置 0 表示对应的通道数据不存在。 ? 数据按照低通道数据在前排列。 比如 CH_Mode=0x83(B),表示后续数据格式 为: (通道 0+通道 1+通道 7)+…+(通道 0+通道 1+通道 7)。 DGUS 屏有一个 8K Word,可以存储 8 条曲线趋势图的曲线缓冲区,用于用户简单、快速显示曲线。 曲线缓冲区的数据都是 16 位无符号数。访问 寄存器访问 变量存储器写曲线 缓冲区北京迪文科技有限公司- 13 -.cn400 018 9008.cn 专业.诚信.成功迪文 DGUS 屏开发指南Ver4.03.3 串口 CRC 校验 C 程序参考DGUS 屏的 CRC 校验采用 ANSI CRC-16(X16+X15+X2+1)格式,相应 C 程序参考如下:unsigned char CRCTABH[256]={0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0 0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41 0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0 0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40 0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1 0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41 0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1 0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41 0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0 0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40 0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1 0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40 0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0 0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40 0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0 0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40 0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0 0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41 0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0 0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41 0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0 0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40 0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1 0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41 0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0 0x80,0x41,0x00,0xC1,0x81,0x40}; unsigned char CRCTABL[256]={0x00,0xC0,0xC1,0x01,0xC3,0x03,0x02,0xC2,0xC6,0x06 0x07,0xC7,0x05,0xC5,0xC4,0x04,0xCC,0x0C,0x0D,0xCD 0x0F,0xCF,0xCE,0x0E,0x0A,0xCA,0xCB,0x0B,0xC9,0x09 0x08,0xC8,0xD8,0x18,0x19,0xD9,0x1B,0xDB,0xDA,0x1A 0x1E,0xDE,0xDF,0x1F,0xDD,0x1D,0x1C,0xDC,0x14,0xD4 0xD5,0x15,0xD7,0x17,0x16,0xD6,0xD2,0x12,0x13,0xD3 0x11,0xD1,0xD0,0x10,0xF0,0x30,0x31,0xF1,0x33,0xF3 0xF2,0x32,0x36,0xF6,0xF7,0x37,0xF5,0x35,0x34,0xF4 0x3C,0xFC,0xFD,0x3D,0xFF,0x3F,0x3E,0xFE,0xFA,0x3A 0x3B,0xFB,0x39,0xF9,0xF8,0x38,0x28,0xE8,0xE9,0x29 0xEB,0x2B,0x2A,0xEA,0xEE,0x2E,0x2F,0xEF,0x2D,0xED 0xEC,0x2C,0xE4,0x24,0x25,0xE5,0x27,0xE7,0xE6,0x26 0x22,0xE2,0xE3,0x23,0xE1,0x21,0x20,0xE0,0xA0,0x60 0x61,0xA1,0x63,0xA3,0xA2,0x62,0x66,0xA6,0xA7,0x67 0xA5,0x65,0x64,0xA4,0x6C,0xAC,0xAD,0x6D,0xAF,0x6F 0x6E,0xAE,0xAA,0x6A,0x6B,0xAB,0x69,0xA9,0xA8,0x68 0x78,0xB8,0xB9,0x79,0xBB,0x7B,0x7A,0xBA,0xBE,0x7E 0x7F,0xBF,0x7D,0xBD,0xBC,0x7C,0xB4,0x74,0x75,0xB5 0x77,0xB7,0xB6,0x76,0x72,0xB2,0xB3,0x73,0xB1,0x71 0x70,0xB0,0x50,0x90,0x91,0x51,0x93,0x53,0x52,0x92 0x96,0x56,0x57,0x97,0x55,0x95,0x94,0x54,0x9C,0x5C 0x5D,0x9D,0x5F,0x9F,0x9E,0x5E,0x5A,0x9A,0x9B,0x5B 0x99,0x59,0x58,0x98,0x88,0x48,0x49,0x89,0x4B,0x8B 0x8A,0x4A,0x4E,0x8E,0x8F,0x4F,0x8D,0x4D,0x4C,0x8C 0x44,0x84,0x85,0x45,0x87,0x47,0x46,0x86,0x82,0x42 0x43,0x83,0x41,0x81,0x80,0x40}; unsigned char index,crch. crch=0 crcl=0 for(i=0;i&j;i++) index=crch^txdat[i]; //txdat[i] 是发送数据 crch=crcl^CRCTABH[index]; crcl=CRCTABL[index];}{北京迪文科技有限公司- 14 -.cn400 018 9008.cn 专业.诚信.成功迪文 DGUS 屏开发指南Ver4.0说 明4 DGUS 寄存器4.1 DGUS 寄存器一览表寄存器 地址 0x00 0x01 0x02 0x03 0x05 0x06 0x07 0x0B 0x0C-0x0F 0x10-0x1C 0x1F 0x20 0x30-0x3F 0x40 0x41 0x42 0x43 0x46 0x48 0x4A 0x4C 0x4D 0x4E 0x4F 0x50 0x53 0x55 0x56 0x57 定 义 R/W R R/W W R/W R R R R/W R R W R/W R/W W W W W W R/W R/W R/W R/W W W W R/W W Version LED_NOW BZ_TIME PIC_ID TP_Flag TP_Status TP_Position TPC_Enable RUN_TIME R0-RC RTC_COM_ADJ RTC_NOW 保留 En_Lib_OP Lib_OP_Mode Lib_ID Lib_Address VP OP_Length Timer0 Timer1 Timer2 Timer3 Key_code Play_Music _Set Volume_Adj 保留 En_DBL_OP OP_Mode 字节 长度 1 1 1 2 1 1 4 1 4 13 1 16 16 1 1 1 3 2 2 2 1 1 1 1 3 2 1 1 1 DGUS 版本号,BCD 码表示,0x10 表示 V1.0 LED 亮度控制寄存器,0x00-0x40 蜂鸣器鸣叫控制寄存器,单位为 10mS 读:当前显示页面 ID 写:切换到指定页面 0x5A=触摸屏坐标有更新; 其它=触摸屏坐标未更新。 用户读取数据后未清零本标记,则触摸屏数据不再更新。 0x01=第一次按下 0x03=一直按压中 0x02=抬起 其它=无效 触摸屏按压坐标位置:X_H:L Y_H:L 0x00=触控不启用 其它=触控启用(上电默认为 0xFF)。 上电后运行时间,BCD 码时分秒,其中小时为两个字节,最大 。 SD 卡配置寄存器的映射,串口只读,串口写无效。 0x5A 表示用户串口改写了 RTC 数据,DGUS 修改 RTC 后清零。 YY:MM:DD:WW:HH:MM:SS+农历 YY:MM:DD+天干地支+生肖 未定义 0x5A 表示用户申请进行读字库存储器操作,DGUS 操作完后清零。 每个 DGUS 周期执行一次读操作。 0xA0:把指定字库空间的数据读入变量存储器空间。 指定的字库空间, 0x40-0x7F, 每个字库 128KW, 对应最大 Flash 空间为 8MW (16MB) 。 指定字库空间的数据操作首(字)地址,0x00:00:00-0x01:FF:FF 指定变量存储器空间的数据操作首(字)地址,0x00:00-0x6F:FF 数据操作的(字)长度,0x00:01-0x6F:FF。 16bit 软件定时器, 单位为 4mS, 自减到零停止。 设置值和实际运行值之间有 8bit 软件定时器,单位为 4mS,自减到零停止。 +/-4mS 误差,比如设置为 2, 8bit 软件定时器,单位为 4mS,自减到零停止。 实际运行值在 4-12mS 之间。 8bit 软件定时器,单位为 4mS,自减到零停止。 用户键码,用于触发 0x13 触控文件;0x01-0xFF,0x00 表示无效。 DGUS 处理键码后会自动清零键码寄存器。 0x5A:Play_Strat:Play_Num,音乐播放设定值。 Play_Start 为播放起始段,Play_Num 为连续播放段数(0x00 将停止播放)。 写入 0x5A:VOL 将调整播放音乐的音量,音量=VOL/64,上电默认值是 0x40。 未定义 0x5A 表示用户申请进行数据库存储器操作,DGUS 操作完后清零。 每个 DGUS 周期执行一次数据库读或写操作。 0x50:把变量存储器空间数据写入数据库空间。 0xA0:把数据库空间的数据读入变量存储器空间。 数据库空间字地址,0x00:00:00:00-1D:FF:FF:FF,最大 480MW(960MB,取决于 内核 Flash 情况)数据库空间。数据库从物理存储空间的第 64MB 开始存储,和 图片存储器空间有重合,每 1Byte 数据库存储器占据 2Byte 物理存储器。使用 SD 卡导出数据库时,每个字库大小为 64KW(128KB),编号从 256 开始,960MB 数据库对应字库 ID 范围为 256-7935,每个字库写寿命为 10 万次。 读写时,DGUS 会自动处理跨字库的情况。 指定变量存储器空间的数据库操作首(字)地址,0x00:00-0x6F:FF 数据库操作的(字)长度,0x00:01-0x6F:FF。 未定义 写入 0x5A 启动一次触摸屏校准,校准完成后会被 DGUS 清零。 写入特殊定义的数值以清除对应的曲线缓冲区数据。 0x55:清除全部 8 条曲线缓冲区数据; 0x56-0x5D:分别清除 CH0-CH7 通道的曲线缓冲区数据。 曲线缓冲区数据清除后,本寄存器会被 DGUS 清零。 保留 写入 0x5AA5 导致 DGUS 屏软件复位一次。 保留0x58DBL_AddressW40x5C 0x5E 0x60-0xE9 0xEA 0xEB 0xEC-0xED 0xEE-0xEF 0xF0-0xFFVP OP_Length 保留 TPCal_Triger Trendline _Clear 保留 Reset_Triger 保留W W W W2 2 138 1 1 2 2 16W北京迪文科技有限公司- 15 -.cn400 018 9008.cn 专业.诚信.成功迪文 DGUS 屏开发指南1 16Ver4.04.2 读写 RTC0x1F 0x20 RTC_COM_ADJ RTC_NOW W R/W 0x5A 表示用户串口改写了 RTC 数据,DGUS 修改 RTC 后清零。 YY:MM:DD:WW:HH:MM:SS+农历 YY:MM:DD+天干地支+生肖??串口读取 RTC 0x20 寄存器开始保存了当前 RTC 值,使用 0x81 指令读取。 读取日历(YY:MM:DD:WW:HH:MM:SS): 5A A5 03 81 20 07 读取时间(HH:MM:SS): 5A A5 03 81 24 03 串口修改(写)RTC 用 0x80 指令改写 0x1F 寄存器为 0x5A,并给 0x20 开始的寄存器写入需要修订的时间,即改写了 RTC。 举例: 把 RTC 设置为
18:56:00,串口下发 5A A5 0A 80 1F 5A 13 11 08 00 18 56 00 注意,改写 RTC 时,只需要改写公历的 年、月、日、时、分、秒 即可,星期和农历 DGUS 会自动换算。 上面例子中,改写星期位置数据就随便写的是 00。4.3 字库读取0x40 0x41 0x42 0x43 0x46 0x48 En_Lib_OP Lib_OP_Mode Lib_ID Lib_Address VP OP_Length R/W W W W W W 1 1 1 3 2 2 0x5A 表示用户申请进行读字库存储器操作,DGUS 操作完后清零。 每个 DGUS 周期执行一次读字库操作。 0xA0:把指定字库空间的数据读入变量存储器空间。 指定字库空间, 0x40-0x7F, 每个字库 128KW, 对应最大 Flash 空间为 8MW (16MB) 。 指定字库空间的数据操作首(字)地址,0x00:00:00-0x01:FF:FF 指定变量存储器空间的数据操作首(字)地址,0x00:00-0x6F:FF 数据操作的(字)长度,0x00:01-0x6F:FF。DGUS 的第 64-127 字库 (64 个字库, 16MB) , 可以通过串口指令操作, 把字库数据读取到变量存储器中 (如 果用户系统需要使用,可以使用 0x82 指令再从变量存储器中读取) 。 举例: 从第 80 号字库的 0x 00 00 00 地址开始读取 4KW (0x10 00)数据到变量存储器 0x10 00 开始的位置 串口下发指令:5A A5 0C 80 40 5A A0 50 00 00 00 10 10 10 00 注意,读取数据不能超过字库空间,即 Lib_Address+OP_Length&= 0x02 00 00 。4.4 128 段音乐播放0x50 0x53 Play_Music _Set Volume_Adj W W 3 2 0x5A:Play_Strat:Play_Num,音乐播放设定值。 Play_Start 为播放起始段,Play_Num 为连续播放段数(0x00 将停止播放)。 写入 0x5A:VOL 将调整播放音乐的音量,音量=VOL/64,上电默认值是 0x40。某些 DGUS 屏自带 128 段(每段 1.024 秒)音乐播放功能,通过 SD 卡把音乐(32K 采样 16bit 单声道 WAV 文件)下载到屏里面后,可以用 0x80 指令写相关寄存器控制音乐播放和进行音量调节。 举例,一段提示音(比如“欢迎光临北京迪文” )长度为 3.5 秒,保存在第 6 段语音开始位置,占据的语 音段是第 6-9,一共 4 段语音,要以 100%音量播放这段提示音,串口下发: 5A A5 07 80 50 5A 06 04 5A 40 要停止当前语音播放,只需要把播放指令中的播放段数设置为 0x00 即可,比如 5A A5 05 80 50 5A 06 00 要把音量提升到 150%(64*1.5=96 0x60) ,串口下发指令: 5A A5 04 80 53 5A 60 语音播放过程中,未保存语音的空白段将直接被“略过” 。北京迪文科技有限公司- 16 -.cn400 018 9008.cn 专业.诚信.成功迪文 DGUS 屏开发指南1 1Ver4.04.5 数据库读写0x56 0x57 En_DBL_OP OP_Mode R/W W 0x5A 表示用户申请进行数据库存储器操作,DGUS 操作完后清零。 每个 DGUS 周期执行一次数据库读或写操作。 0x50:把变量存储器空间数据写入数据库空间。 0xA0:把数据库空间的数据读入变量存储器空间。 数据库空间字地址,0x00:00:00:00-1D:FF:FF:FF,最大 480MW(960MB,取决于 内核 Flash 情况)数据库空间。数据库从物理存储空间的第 64MB 开始存储,和 图片存储器空间有重合,每 1Byte 数据库存储器占据 2Byte 物理存储器。使用 SD 卡导出数据库时,每个字库大小为 64KW(128KB),编号从 256 开始,960MB 数据库对应字库 ID 范围为 256-7935,每个字库写寿命为 10 万次。 读写时,DGUS 会自动处理跨字库的情况。 指定变量存储器空间的数据库操作首(字)地址,0x00:00-0x6F:FF 数据操作的(字)长度,0x00:01-0x6F:FF。0x58DBL_AddressW40x5C 0x5EVP OP_LengthW W2 2用户数据库是在 DGUS 屏的图片存储器中拿出一块空间进行数据存储,空间大小和位置由用户控制,不同 内核其 Flash 大小不同,导致图片存储器空间和可用数据库空间也不相同,如下表所示:类 标 别 准 图片空间 最大容量 210MB 932MB 1896MB 数据库空间 最大容量 89MB 450MB 960MB 不同分辨率 DGUS 屏最大存储图片数量 320*240 836 0*272 836 0*480 278 0*480 278 0*600 209 932 0 167 745 8 139 621 1264扩展到 1GB 扩展到 2GB用户数据库读写过程中,DGUS 对数据进行了加密和纠错操作,确保数据存储的可靠性。 用户数据库在物理上是由若干个大小为 64KW(128KB)的数据库页构成,每个页面写寿命是 10 万次(启 动 1 次写操作减少 1 次写寿命) ,但读写操作中地址是连续的,不受分页影响,DGUS 会自动处理分页问题。 ? 数据库首地址(0x00 00 00 00,对应第 64MB 物理存储器)对应的图片 ID 和存储系数 K1分辨率 K1 PIC_ID 320*240 1 128 480*272 1 128 640*480 3 42-43 800*480 3 42-43 800*600 4 32
21-22&128&表示如果从 0x00 地址开始使用数据库,则第 128 幅图片位置开始不能保存图片; “42-43”表示 42、43 都不能使用。? 图片空间到数据库空间的计算 假设有 N(N 大于上表中的 PIC_ID)幅图片需要存储,那么数据库可以使用的最小首地址为: 数据库最小首地址=( (N*K1)-128)*64*1024 已经取整到 64KW(128KB)。 举例,480*272 分辨率下,需要预留出 200 幅图片,那么数据库的最小起始地址 Adr_Min: Adr_Min=( (200*1)-128)*64* 48 00 00 ? 数据库空间数据 SD 卡导出 数据库内容可以使用 SD 卡导出,请参考“2.2.6 用户数据库 SD 卡导出” 。4.6 按键触发0x4F Key_code W 1 用户键码,用于触发 0x13 触控文件;0x01-0xFF,0x00 表示无效。 DGUS 处理键码后会自动清零键码寄存器。DGUS 屏没有键盘接口,但很多应用需要使用键盘或者按键操作。DGUS 的 0x4F 寄存器提供了用户使用键 盘来控制 DGUS 屏 GUI 触控进程 (13 触控文件) 的接口, 使得用户只需把键码写入 0x4F 寄存器, 就可以由 DGUS 按照 13 文件的描述来处理相关 GUI。 比如,在 13 触控文件中,在 10 号页面定义 0xF1 键码将进入参数录入界面,那么,当用户在 10 号页面 下发送指令:5A A5 03 80 4F F1 就启动了一次按键触发,DGUS 会自动进入参数录入界面。 按键触发和触摸屏触发是并行触发的,可以混在一起使用(即触摸屏界面下也可以同时使用按键) 。北京迪文科技有限公司- 17 -.cn400 018 9008.cn 专业.诚信.成功迪文 DGUS 屏开发指南Ver4.05 DWIN OS 用户程序设计DWIN OS 平台采用类似汇编程序编写规范,在 DGUS 稳定的 GUI 平台下,方便用户针对自己的特殊需求快 速、可靠的进行二次开发。 DWIN OS 的 PC 软件编译界面如下图所示。基于 DGUS 的 DWIN OS 平台,用户最大代码空间是 256KB (32764 行代码) 。DWIN OS 程序在每个 DGUS 周 期(80/120/160/200mS)都完整运行一遍,所以 DWIN OS 程序中不能出现死循环。 DGUS 平台上 DWIN OS 的常见应用是使用 DWIN OS 来解析 Modbus 协议,替代标准 HMI 将 DGUS 屏做为主机 使用,不仅降低成本(DGUS 屏价格只有标准 HMI 的几分之一) ,也大大提升了系统可靠性(标准 HMI 多是基 于 PC 或者工控机架构,软件在 Windows CE 之类的通用操作系统平台下开发) 。5.1 基本约定DWIN OS 寄存器变量: R0-R255,256 Byte; DGUS 寄存器: 对应 DGUS 0x80/0x81 指令访问的寄存器变量空间(0x00-0xFF) ; DGUS 变量: 对应 DGUS 0x82/0x83 指令访问的变量存储器空间(0xFFF) 字库空间: 对应 32-127(0x20-0x7F)号汉字库,24MB。 伪汇编指令 EQU 替换,编译时直接替换 比如, PICID EQU 3 WORD EQU 2 MOVDR PICID,R10,WORD ;等效成 MOVDR 3,R10,2 DB 定义 1 个字节或字(定义数据小于 255 将自动定义为字节)的 ROM 数据 LDADR TAB1 ;把 TAB1 的 24bit 地址保存到 R5:R6:R7 地址指针寄存器 TAB1: DB 1,2,3,4 DB 00, DB &北京迪文 DGUS& 注释用的无效标记,使用; 。???北京迪文科技有限公司- 18 -.cn400 018 9008.cn 专业.诚信.成功迪文 DGUS 屏开发指南Ver4.05.2 DWIN OS 汇编指令集R#表示 DWIN OS 的 256 个寄存器之任意一个或一组,R0-R255; & &表示立即数,汇编代码中,100,0x64,64H,064H 都是表示 10 进制数据 100。 指令功能 操作码 操作数 说 明 不执行任何操作。 空操作 NOP NOP R#:寄存器或寄存器组。 &MOD&:0=寄存器到变量 1=变量到寄存器。 DGUS 变量和寄存器数 &NUM&:交换的数据字(Word)长度,0x00-0x80; MOVXR R#,&MOD&,&NUM& 据交换 当&NUM&为 0x00 时,数据长度由 R9 决定。 DGUS 变量指针由 R0:R1 寄存器定义。 MOVXR R20,0,2 R#:寄存器或寄存器组。 装载 N 个 8bit 立即数 &DATA&:要装载的数据。 LDBR R#,&DATA&,&NUM& 到寄存器组 &NUM&:要装载的寄存器个数,0x00 表示 256 个。 LDBR R8,0x82,3 R#:寄存器组。 装载 1 个 16bit 立即数 &DATA&:要装载的数据。 LDWR R#,&DATA& 到寄存器组 LDWR R8,1000 LDWR R8,-300 R#:寄存器或寄存器组。 程序空间查表(程序空 &NUM&:查表返回的字节数据长度。 MOVC R#,&NUM& 间数据到寄存器) 表地址指针由 R5:R6:R7 寄存器定义。 MOVC R20,10 R#S:源寄存器或寄存器组。 寄存器和寄存器数据 R#T:目标寄存器或寄存器组。 MOV R#S,R#T,&NUM& 交换 &NUM&:交换的字节数据长度,0x00 表示长度由 R9 寄存器定义。 MOV R8,R20,3 R#:寄存器或寄存器组; D#:DGUS 的寄存器或寄存器组; 寄存器到 DGUS 寄存器 MOVRD R#,D#,&NUM& &NUM&:交换的字节数据长度。 MOVRD R10,3,2 R#:寄存器或寄存器组; D#:DGUS 的寄存器或寄存器组; DGUS 寄存器到寄存器 MOVDR D#,R#,&NUM& &NUM&:交换的字节数据长度。 MOVDR 3,R10,2 &MOD&:0=字库数据读到 DGUS 变量; 1=DGUS 变量数据写到字库; 2=用户数据库数据读到 DGUS 变量; 3=DGUS 变量数据写到用户数据库。 &NUM&:交换数据(字,Word)长度。 DGUS 变量和字库、 数据 库 数据交换 MOVXL &MOD&,&NUM& DGUS 变量地址由 R0:R1 寄存器定义。 字库读写模式(MOD=0、1): 字库由 R4(0x20-0x7F)寄存器指定,R5:R6:R7 为字库内的数据 操作首地址,越界取消。 用户数据库读写模式(MOD=2、3): 用户数据库首地址由 R4:R5:R6:R7 寄存器指定。 MOVXL 0,300 &NUM&:交换(字,Word)数据长度。 &NUM&为 0 表示长度由 R8:R9 寄存器定义。 DGUS 源变量地址由 R0:R1 寄存器定义。 DGUS 目标变量地址由 R2:R3 寄存器定义。 MOVX 100 R2 规定了源寄存器(组)地址; R3 规定了目标寄存器(组)地址; R9 规定了交换的数据长度,字节数。 MOVA C=A+B,A、B 为 32bit 整数;C 为 64bit 整数。 ADD R10,R20,R30 C=A-B,A、B 为 32bit 整数;C 为 64bit 整数。 SUB R10,R20,R30 .cn 400 018 9008 .cn ? ?DGUS 变量之间交换数 据MOVXX&NUM&寄存器变址寻址MOVA32bit 整形数加法 32bit 整形数减法ADD SUBR#A,R#B,R#C R#A,R#B,R#C - 19 -北京迪文科技有限公司 专业.诚信.成功64bit 长整数 MAC MAC迪文 DGUS 屏开发指南R#A,R#B,R#CVer4.064bit 整形数除法DIVR#A,R#B,&MOD&变量扩展成 32bitEXPR#S,R#T,&MOD&32bit 无符号 MACSMACR#A,R#B,R#C寄存器自增量INCR#,&MOD&,&NUM&寄存器自减量DECR#,&MOD&,&NUM&加载地址LDADR&Address&与逻辑运算ANDR#A,R#B,&NUM&或逻辑运算ORR#A,R#B,&NUM&异或逻辑运算XORR#A,R#B,&NUM&解整数线性方程ROOTLEANSICRC-16 计算CRCAR#S,R#T,R#NCCITT CRC-16 计算CRCCR#S,R#T,R#N到 COM0_Rx_FIFO 读取 MODBUS 数据帧RMODBUSR#A,R#T,R#C位分解BITSR#,&VP&C=(A*B+C),A、B 是 32bit 整数,C 是 64Bit 整数。 MAC R10,R20,R30 A/B,商是 A,余数是 B。 A 和 B 都是 64bit 寄存器。 &MOD&:0=商不进行四舍五入,1=商进行四舍五入。 DIV R10,R20,1 把 R#S 指向的数据转成 32bit 整数保存到 R#T。 R#S:源寄存器或寄存器数。 R#T:32bit 目标寄存器。 &MOD&:R#S 数据类型,0=8bit 无符号 1=8bit 带符号 2=16bit 无符号数 3=16bit 整数。 EXP R10,R20,2 C=A*B+C。 A、 B 是 16bit 无符号数,C 是 32bit 无符号数。 SMAC R10,R20,R30 R#=R#+NUM,无符号数自增计算。 &MOD&:R#数据类型,0=8bit 1=16bit。 INC R10,1,5 R#=R#-NUM,无符号数自减计算。 &MOD&:R#数据类型,0=8bit 1=16bit。 DEC R10,0,1 把&Address&加载到 R5:R6:R7 LDADR TAB LDADR 0x123456 A=A AND B,序列与逻辑运算。 &NUM&:R#A、R#B 变量字节数目。 AND R10,R20,1 A=A OR B,序列或逻辑运算。 &NUM&:R#A、R#B 变量字节数目。 OR R10,R20,1 A=A XOR B,序列异或逻辑运算。 &NUM&:R#A、R#B 变量字节数目。 XOR R10,R20,1 由 16bit 整数(X0,Y0)、(X1,Y1)两点确定的直线上的 X,求 解对应的 Y 值。 输入:X=R10 X0=R14 Y0=R16 X1=R18 Y1=R1A。 输出:Y=R12。 ROOTLE 对序列数据计算 ANSI CRC-16(X16+X15+X2+1)。 R#S:输入的寄存器组; R#T:输出 CRC 结果,16bit,LSB 模式保存。 R#N:保存计算 CRC 数据字节长度寄存器,8bit。 CRCA R10,R80,R9 对序列数据计算 CCITT CRC-16(X16+X12+X5+1)。 R#S:输入的寄存器组; R#T:输出 CRC 结果,16bit,MSB 模式保存。 R#N:保存计算 CRC 数据字节长度寄存器,8bit。 CRCC R10,R80,R9 检查 COM0 接收 FIFO 是否有满足要求的 MODBUS 数据帧,如果有 则读取数据到寄存器并清空接收 FIFO。 R#A:保存 MODBUS 接收数据包前 3 个字节(地址:指令:长度) 的寄存器组。 如果长度为 0x00,那么表示不进行长度匹配,紧随其后的数据 (第 4 个字节)表示了地址、指令、校验和之外的数据长度。 R#C:返回状态的寄存器,寄存器保存了返回数据;0x00 表示未 接收到匹配的 MODBUS 数据帧;0xFF 表示接收到匹配的 MODBUS 数据帧并把数据读取到 R#T 寄存器组。 R#T:匹配后,保存 MODBUS 数据的寄存器组。 RMODBUS R10,R20,R13 把 R#的 8 个比特分解到 VP 指向的 8 个 DGUS 字变量,MSB 方式, bit 1 分解为 0x0001,bit 0 分解为 0x0000。 R#:需要进行位分解的寄存器,8bit。 .cn 400 018 9008 .cn北京迪文科技有限公司- 20 - 专业.诚信.成功迪文 DGUS 屏开发指南Ver4.0位组合BITIR#,&VP&HEX 转 ASCHEXASCR#S,R#T,&MOD&序列比较TESTSR#A,R#B,&NUM&COM1 配置COMSET&MODE&,&BS&位测试、跳转JBR#,&Bit&,&TAB&变量比较、不相等跳转CJNER#A,R#B,&TAB&整形数比较,小于跳转JSR#A,R#B,&TAB&变量和立即数比较、不 相等跳转IJNER#,&INST&,&TAB&强制结束当前输入法EXITR#A,R#B子程序调用返回 子程序调用RET CALL &PC& - 21 -&VP&:DGUS 变量地址。 BITS R10,0x2000 把 VP 指向的 8 个 DGUS 字变量组合成 1 个字节位变量, MSB 方式, 0x0000 为 bit 0,非 0x0000 数据为 bit 1。 R#:存储位组合数据的寄存器,8bit。 &VP&:DGUS 变量地址。 BITI R10,0x2000 R#S:需要转换的 32bit 整数; R#T:转换后的 ASCII 字符串寄存器组; &MOD&:转换模式控制,高 4bit 为整数位长度,低 4bit 为小数 位数目。 转换的 ASCII 串带符号,右对齐,空位用 0x20 填充。 对于数据 0x, &MOD&=0x62 转换结果为+ &MOD&=0xF2 转换结果为 + HEXASC R20,R30,0x62 依次比较 A、B 两个寄存器序列的值: 值不同时,返回 A 序列此时的地址到 R0 寄存器; 如果 A、B 相同则返回 0x00 到 R0 寄存器。 R#A:A 序列寄存器。 R#B:B 序列寄存器。 &NUM&:最大比较数据字节长度。 TESTS R10,R20,16 设置 COM1 的串口模式: &MODE&: 0x00=N81 模式; 0x01=E81 模式; 0x02=O81 模式; 0x03=N82 模式。 &BS&:波特率因子,设置值=6250000/设置的波特率。 每次设置会自动清空串口接收 FIFO 一次。 COMSET 0,54 测试 R#寄存器的第&Bit&位,1 跳转,0 继续执行下一条代码, 跳转范围+/-127 条指令。 R#:位测试的寄存器,16bit。 &Bit&:位测试位置,0x00-0x0F,MSB 方式。 &TAB&:跳转位置。 JB R10,15,TEST1 NOP TEST1:ADD R8,R12,R16 比较 A、B 两个 8bit 寄存器的内容,相等则执行下一条指令, 不等则跳转,跳转范围+/-127 条指令。 TEST1:NOP INC R10,0,1 CJNE R10,R11,TEST1 比较 A、 B 两个 16bit 整数的大小, A&=B 则执行下一条指令, A&B 则跳转,跳转范围+/-127 条指令。 JS R10,R12,TEST1 NOP TEST1:NOP 比较 8bit 寄存器和立即数&INST&的内容,相等则执行下一条指 令,不等则跳转,跳转范围+/-127 条指令。 IJNE R10,100,TEST1 NOP TEST1:NOP 强制结束当前的输入法。 R#A:控制是否切换页面,0x00=不切换,0x01=切换; R#B:要切换回的页面 ID(16bit)。 EXIT R10,R11 CALL 调用指令返回。 RET 调用子程序,最多支持 32 级程序嵌套。 .cn 400 018 9008 .cn北京迪文科技有限公司 专业.诚信.成功迪文 DGUS 屏开发指南Ver4.0直接跳转GOTO&PC&串口发送COMTXD&COM&,R#S,R#N串口打印CPRTS&COM&,&VP&检查 COM0_Rx_FIFORDXLEN00,R#读取 COM0_Rx_FIFO 直接串口发送 读取当前输入法内容 到寄存器RDXDAT COMTXI00,R#A,R#B 00,R#,&NUM&SCANR#,&NUM&写指定通道动态曲线 缓冲区WRLINER#S,R#I,&CH&汉字库匹配搜索LIBSCHR#A,R#B,R#C擦除指定的字库ERASE&L_ID& - 22 -CALL TEST 程序跳转 GOTO TEST1 NOP TEST1:NOP 把数据发送到指定的串口。 &COM&:选择串口,0=COM1(DGUS 用户串口) 1=COM2(DGUS 保 留串口)。 R#S:要发送的数据寄存器组。 R#N:要发送的字节数寄存器,8bit,寄存器数据 0x00 表示发 送 256 字节数据。 COMTXD 0,R10,R9 检查 VP 指向的 DGUS 变量地址有没有打印信息,有则打印到串 口。VP 为 DGUS 的 0xFE07_05 打印指令对应的变量 VP 值,打印 后清除 VP 地址的打印标记。 &COM&:选择串口,0=COM1(DGUS 用户串口) 1=COM2(DGUS 保 留串口)。 CPRTS 0,0x2000 返回 COM1 接收缓冲区(FIFO)接收数据字节长度(0-253)到 R#寄存器,0x00 表示没有数据。 RDXLEN 0,R10 从 COM1 接收缓冲区(FIFO)中读取 R#B 个字节(01-253)到 R#A 寄存器组;读取后 FIFO 长度自动调整。 RDXDAT 0,R11,R10 把 R#指向的&NUM&个寄存器内容发送到 COM0。 COMTXI 0,R20,16 把当前输入法下已经录入的最多&NUM&个字符加载到 R#+1 开始 的寄存器,R#保存数据长度,字符个数从当前输入法光标位置 往前计算。 SCAN R20,6 把 R#S 指向的 N 个 16bit 无符号整数,加上 16bit 无符号整数 V_BIAS 后写到&CH&(0x00-0x07)指定的动态曲线缓冲区,R#I 寄存器指向一个 3 字节变量:N,V_BIAS。 WRLINE R80,R10,2 到指定汉字库搜索匹配字符串的数据。 ? R#A 的 2 个寄存器规定了匹配字符串格式: R#A:字符串长度(0x00-0x1F) ,0x00 表示字符串由 0x00 或 0xFF 结尾。 R#A+1:字符串数据,最多 31 个字符。 ? R#B 的 11 个寄存器规定了数据库(DATA[M][N] 字数组) 格式和搜索格式: R#B:字库 ID(0x20-0x7F,0x00 表示不用重新加载) ,每 个 DGUS 周期调用一次后,只要没有对其它汉字库做过操作就不 用重新加载。 R#B+1:二维数组的行维度 M,0xFFFF; R#B+3:二维数组的列维度 N,0x01-0x80,字数目; R#B+4:搜索匹配模式,0x00=左对齐,0x01=任意位置匹 配; R#B+5:搜索开始行,0x0000-0xFFFF; R#B+7:每行中的搜索开始列,0x00-0xFF,一列中的字节 位置; R#B+8:每行中的搜索终止列,0x00-0xFF,仅当搜索匹配 模式是 0x01(任意位置匹配)时有效; R#B+9:搜索匹配后,返回数据在搜索列的起始位置, 0x00-0xFF; R#B+A:搜索匹配后,返回的数据字节长度,0x01-0xFF。 ? R#C 的 4 个寄存器规定了返回变量: R#C:搜索标记,0x00=未匹配,0xFF=匹配; R#C+1:匹配时的(行维度+1)值; R#C+3:匹配时,回传数据保存的寄存器首地址。 LIBSCH R10,R12,R23 &L_ID&:要擦除的汉字库 ID,0x20-0x7F; .cn 400 018 9008 .cn北京迪文科技有限公司 专业.诚信.成功迪文 DGUS 屏开发指南Ver4.0字节累加校验和计算SUMADDR#S,R#T,R#N带进位字节累加校验 和计算SUMADDCR#S,R#T,R#N异或校验和计算SUMXORR#S,R#T,R#NHEX 转换成压缩 BCD 码HEXBCDR#S,R#T,&MOD&压缩 BCD 码转换成 HEXBCDHEXR#S,R#T,&MOD&ASCII 字符串转 HEX 字 符ASCHEXR#S,R#T,&LEN&到 COM0_Rx_FIFO 读取 DL/T645 数据帧RD645R#A,R#T,R#C时间计算函数TIMER#A,R#B,&MOD&增加显示变量ADDL14R#A,R#B,&MOD&平方根计算SQRTR#A,R#B - 23 -如果&L_ID&为 0x00,表示字库位置由 R9 寄存器指定。 ERASE 40 对序列数据计算字节累加和校验 R#S:输入的寄存器组; R#T:输出 1 字节累加和结果,8bit。 R#N:序列长度寄存器,8bit。 SUMADD R10,R80,R9 对序列数据计算带进位的字节累加和校验 R#S:输入的寄存器组; R#T:输出 1 字节累加和结果,8bit。 R#N:序列长度寄存器,8bit。 SUMADDC R10,R80,R9 对序列数据计算字节异或校验 R#S:输入的寄存器组; R#T:输出 1 字节异或结果,8bit。 R#N:序列长度寄存器,8bit。 SUMXOR R10,R80,R9 把 HEX 数据转换成压缩的 BCD 码,比如数据 1000 将转换成 0x10,0x00。 R#S:输入 HEX 数据的寄存器组首地址 R#T:输出压缩 BCD 码数据的寄存器首地址 &MOD&:高 4bit 表示输入 HEX 字节数,0x01-0x08 低 4bit 表示输出 BCD 码字节数,0x01-0x0A HEXBCD R10,R80,0x23 把压缩的 BCD 码转换成 HEX 数据,比如数据 0x1000 将转换成 0x3E8(1000)。 R#S:输入压缩 BCD 码的寄存器组首地址 R#T:输出 HEX 数据的寄存器首地址 &MOD&:高 4bit 表示输入 BCD 码字节数,0x01-0x0A 低 4bit 表示输出 HEX 字节数,0x01-0x08 BCDHEX R10,R80,0x32 把 ASCII 字符串转换成 64bit 带符号 HEX 数据。 R#S:输入 ASCII 字符串寄存器首地址; R#T:输出 HEX 数据,64bit 寄存器; &LEN& : ASCII 字 符 串 数 据 长 度 , 包 括 符 号 位 和 小 数 点 , 0x01-0x15。 ASCHEX R10,R80,0x05 检查 COM0 接收 FIFO 是否有满足要求的 DL/T645 的数据帧,如 果有则读取数据到寄存器并清空接收 FIFO。 R#A:保存 6 字节地址(LSB 排列,压缩 BCD 码)寄存器组。 R#C:返回状态的寄存器,寄存器保存了返回数据;0x00 表示未 接收到匹配的 DL/T645 数据帧; 0xFF 表示接收到匹配的 DL/T645 数据帧并把数据读取到 R#T 寄存器组。 R#T:结果寄存器,匹配后,保存 DL/T645 数据的寄存器组,数 据格式如下:控制码+数据长度+数据 RD645 R10,R20,R16 R#A、R#B:保存 6bytes 时间变量的寄存器,时间变量为 BCD 格 式; MOD=0,计算 A=A-B,计算两个时间的之间的相对值。 A 必须大于 B,当 A&B 时,不计算并返回 R#A 第一个字 节为 0xFF。 MOD=1,计算 A=B-RTC; MOD=2,计算 A=RTC-B。 TIME R0,R10,0 R#A:保存 1 条显示变量(32Bytes)的寄存器; R#B:显示变量的添加位置,0x00-0x1F,最多添加 32 个显示变 量。 &MOD&: 0x5A=添加到指定位置 其它=删除指定位置,此时 R#A 无定义。 ADDL14 R80,R81,0x5A 计算一个 64 位无符号数 R#A 的平方根并保存到 R#B 中。 .cn 400 018 9008 .cn北京迪文科技有限公司 专业.诚信.成功迪文 DGUS 屏开发指南Ver4.0输入法缓冲区添加SCANADDR#A,R#BFEC 编码FECENR#A,R#B,R#CFEC 解码 程序结束FECDE ENDR#A,R#B,R#CR#A:保存了 8 Byte 无符号数; R#B:保存了 4 Byte 无符号数结果。 SQRT R80,R90 文本输入法状态下,把 R#A 指向、字节长度由 R#B 定义的字符 串由当前光标位置添加到输入字符缓冲区,字符串中的 0xFF 将 会被忽略。 SCANADD R80,R90 只在文本输入法状态下有效。 对 R#A 指向,字节(Byte)长度为 R#C 的数据串进行 FEC 编码, 编码输出保存在 R#B 指针位置。 FECEN R80,R100,R10 注意,FEC 编码会把 1Byte 原始数据编码为 2Byte 编码数据。 对 R#A 指向,字(Word)长度为 R#C 的数据串进行 FEC 解码, 解码输出保存在 R#B 指针位置。 FECDE R80,R100,R10 DWIN OS 程序运行结束指令。 END北京迪文科技有限公司- 24 -.cn400 018 9008.cn 专业.诚信.成功迪文 DGUS 屏开发指南Ver4.06 触控/键控配置文件(13.BIN)说明触控配置文件由N条按照页面配置的触控指令组成,每条触控指令固定占用16、32或者48字节存储空间。 一条触控指令由以下6部分组成:序号 1 定义 Pic_ID 数据长度 2 说 明 页面ID 触控按钮区域:左上角坐标(Xs,Ys) ,右下角坐标(Xe,Ye) 当Xs=0xFFFF时,表示触发控制由0x4F寄存器的键码值触发,此时Ys_H为设定的触 发键码值(Ys_L,Xe,Ye值未定义,可任意写) ; 由键码值触发时,请把按钮按压效果设置为无效。 当Xs=0x5***时,表示按键伴音使用语音提示代替。 一个127段伴音的起始ID将分别存放在Xe、Ye的高4bit,播放段数保存在Ys的高 4bit(0x00-0x0F表示0x01-0x10) 。 一旦启用语音按键伴音,蜂鸣器按键伴音将关闭。 目标切换页面,0xFF**表示不进行页面切换。 按钮按压效果图所处的页面,0xFF**表示没有按钮按压效果。 触控键码: 0xFF**表示无效的键码 0xFE**(或者0xFD**)表示触控功能按键,比如0xFE00表示启动变量数据触摸屏 录入。 0xFE**的功能按键可以由R2.3设置成变量改变后是否自动上传,0xFD**的功能按 键始终禁止变量改变后自动上传。 其它表示触控键码,用ASCII表示;比如0x0031表示按键“1” 。 当TP_Code=0xFE**时,用来对触控功能按键进行描述。2TP_Area83 4Pic_Next Pic_On2 25TP_Code26TP_FUN326.1 触控/键控功能一览表序号 01 02 03 04 05 06 触控键码 00 01 02 03 04 05 功 变量数据录入 弹出菜单选择 增量调节 拖动调节 RTC 设置 按键值返回 能 说 明 录入整数、定点小数等各种数据到指定变量存储空间。 点击触发一个弹出菜单,返回菜单项的键码。 点击按钮,对指定变量进行+/-操作,可设置步长和上下限。 设置 0-1 范围循环调节可以实现栏目复选框功能。 拖拉滑块实现变量数据录入,可设置刻度范围。 DGUS 屏触摸键盘设置 RTC 组件,需要完整录入公历 年月日时分秒。 点击按键,直接返回按键值到变量,支持位变量返回。 文本方式录入各种字符,录入过程支持光标移动、编辑。 07 06 文本录入 直接支持 ASCII 字符、GBK 中文、繁体注音输入法录入; 修改字库和 0#字库可以支持所有类似 ASCII 字符的 8bit 编码文本录入; 配合 DWIN OS 可以实现 Unicode 或多语种混合录入。 08 09 10 11 12 13 14 07_00 07_01 07_02 07_05 07_03 07_04 07_06 寄存器写到变量空间 变量空间写到寄存器 提供了触摸屏改写寄存器空间的方法,来间接控制硬件。 比如把背光寄存器内容读取到变量,调节变量后再回写来调节背光亮度。图像转成单色位图(纵向) 把指定区域的彩色位图转换成单色位图并保存在 VP 指定的变量区域。 图像转成单色位图(横向) 主要用于当前屏幕显示内容的打印输出。 发送数据块到 COM1 发送数据块到 COM2 发送触摸屏坐标到 COM2 点击触摸屏,把指定 VP 区域的数据发送到用户串口(COM1) 。 点击触摸屏,把指定 VP 区域的数据发送到扩展串口(COM2) 。 COM2 用于 DGUS 屏功能扩展,并没有引出。 点击触摸屏,将把点击位置坐标发送到扩展串口(COM2) 。 COM2 用于 DGUS 屏功能扩展,并没有引出。北京迪文科技有限公司- 25 -.cn400 018 9008.cn 专业.诚信.成功迪文 DGUS 屏开发指南Ver4.06.2 变量数据录入(0x00)地址 0x00 0x02 0x0A 0x0C 0x0E 0x10 0x11 定义 Pic_ID TP_Area Pic_Next Pic_On TP_Code 0xFE *VP 数据长度 2 8 2 2 2 1 2 说 明 页面ID 触控按钮区域: (Xs,Ys) (Xe,Ye) 目标切换页面,0xFF**表示不进行页面切换。 按钮按压效果图所处的页面,0xFF**表示没有按钮按压效果。 0xFE00 0xFE 录入数据对应的变量地址指针 返回变量类型: 0x00=2 字节变量,整数-32768 到 32767,无符号整数 0-=4 字节变量,长整数- 到
无符号长整数 0- 0x02=*VP 高字节,无符号数 0 到 255 0x03=*VP 低字节,无符号数 0 到 255 0x04=超长整数(8 字节) -4775808 到 4775807 录入的整数位数。比如录入1234.56,则N_Int=0x04。 录入的小数位数。比如录入1234.56,则N_Dot=0x02。 输入过程显示位置:右对齐方式,(x,y)是字符串输入光标的右上角坐标。 输入字体显示颜色。 显示使用的 ASCII 字库位置,0x00=默认字库 字体大小,X 方向点阵数目 光标颜色,0x00=黑色 其它=白色 0x00=输入遮挡,显示为&*&;其它,输入直接显示 0xFE 0x00=键盘在当前页面;其它=键盘不在当前页面。 键盘所在页面 ID,仅当 KB_Source 不等于 0x00 时有效。 键盘区域:(Xs,Ys)为左上角、,(Xe,Ye)为右下角坐标。 仅当 KB_Source 不等于 0x00 时有效。 键盘在当前页面显示位置,左上角坐标;仅当 KB_Source 不等于 0x00 时有效。 0xFE 0xFF:表示启用输入范围限制,输入越界无效(等同取消); 其它:输入无范围限制。 输入下限,4 字节(长整数或无符号长整数)。 输入上限,4 字节(长整数或无符号长整数)。 写 0x000x13V_Type10x14 0x15 0x16 0x1A 0x1C 0x1D 0x1E 0x1F 0x20 0x21 0x22 0x24 0x2C 0x30 0x31 0x32 0x36 0x3AN_Int N_Dot (x,y) Color Lib_ID Font_Hor Cusor_Color Hide_En 0xFE KB_Source PIC_KB AREA_KB AREA_KB_Position 0xFE Limits_En V_min V_max 保留1 1 4 2 1 1 1 1 1 1 2 8 4 1 1 4 4 6输入过程中有效键码: 0x9,0x002E(.),0x002D(+/-),0x00F0(取消),0x00F1(确认),0x00F2(退格)。键盘和输入启动按钮在一个页面(KB_Source=0x00)北京迪文科技有限公司- 26 -.cn400 018 9008.cn 专业.诚信.成功迪文 DGUS 屏开发指南Ver4.0键盘不在当前界面上(KB_Source=0x01) :触发输入法后键盘不在当前界面上(KB_Source=0x01) :键盘所在页面北京迪文科技有限公司- 27 -.cn400 018 9008.cn 专业.诚信.成功迪文 DGUS 屏开发指南Ver4.06.3 弹出菜单选择(0x01)地址 0x00 0x02 0x0A 0x0C 0x0E 0x10 0x11 定义 Pic_ID TP_Area Pic_Next Pic_On TP_Code 0xFE *VP 数据长度 2 8 2 2 2 1 2 说 明 页面ID 触控按钮区域: (Xs,Ys) (Xe,Ye) 目标切换页面,0xFF**表示不进行页面切换。 按钮按压效果图所处的页面,0xFF**表示没有按钮按压效果。 0xFE01 0xFE 变量地址指针,返回数据由VP_Mode决定。 0x00=把 0x00**键码写入 VP 字地址(整型数); 0x01=把**键码写入 VP 字地址的高字节地址(VP_H); 0x02=把**键码写入 VP 字地址的低字节地址(VP_L); 0x10-0x1F: 把**键码最低位(1bit)变量并写入 VP 字地址的指定位 (0x10 修改 VP.0,0x1F 修改 VP.F) 弹出菜单的图片位置 菜单区域:左上角坐标(Xs,Ys),右下角坐标(Xe,Ye) 菜单在当前页面显示的位置:左上角 X 坐标 固定 菜单在当前页面显示的位置:左上角 Y 坐标 写 0x000x13VP_Mode10x14 0x16 0x1E 0x20 0x21 0x23Pic_Menu AREA_Menu Menu_Position_X 0xFE Menu_Position_Y NULL2 8 2 1 2 13输入过程中有效键码:0xFF,其中 0x00FF 为取消(不选择参数直接返回)。上图中:弹出的菜单在另外的界面上,&开启&和&关闭&两个按钮配置的键码(0xFE)将被返回给 0x01 触控按钮所指向的变量;取消按钮设置键码为 0x00FF,点击时不会返回值。 下拉式菜单也可以使用本指令设计。北京迪文科技有限公司- 28 -.cn400 018 9008.cn 专业.诚信.成功迪文 DGUS 屏开发指南Ver4.06.4 增量调节(0x02)地址 0x00 0x02 0x0A 0x0C 0x0E 0x10 0x11 定义 Pic_ID TP_Area Pic_Next Pic_On TP_Code 0xFE *VP 数据长度 2 8 2 2 2 1 2 说 明 页面ID 触控按钮区域: (Xs,Ys) (Xe,Ye) 目标切换页面,0xFF**表示不进行页面切换。必须为0xFF**。 按钮按压效果图所处的页面,0xFF**表示没有按钮按压效果。 0xFE02 0xFE 变量地址指针,返回数据由VP_Mode决定。 0x00=调节 VP 字地址(整型数); 0x01=调节 VP 字地址的高字节地址(1 字节无符号数,VP_H); 0x02=调节 VP 字地址的低字节地址(1 字节无符号数,VP_L); 0x10-0x1F:对 VP 字地址的指定位(0x10 对应 VP.0,0x1F 对应 VP.F)进行调 节,调节范围必须设置为 0-1。 调节方式:0x00=-- 其它=++ 逾限处理方式:0x00=停止(等于门限) 其它=循环调节 调节步长,0xFFF 下限:2 字节整数(VP_Mode=0x01 或 0x02 时,仅低字节有效) 上限:2 字节整数(VP_Mode=0x01 或 0x02 时,仅低字节有效) 0x00:按住按键时连续调节; 0x01:按住按键时只调节 1 次。 写 0x000x13VP_Mode10x14 0x15 0x16 0x18 0x1A 0x1C 0x1DAdj_Mode Return_Mode Adj_Step V_Min V_Max Key_Mode NULL1 1 2 2 2 1 3上图中,&+& &-& 两个触控按钮分别被配置为++增量(Adj_mode=0x01)和DD增量(Adj_mode=0x00)。 当把范围设置为 0-1 时,配合图标变量显示可以方便的设计出复选功能(点击 1 下选中,再点击取消)。北京迪文科技有限公司- 29 -.cn400 018 9008.cn 专业.诚信.成功迪文 DGUS 屏开发指南Ver4.06.5 拖动调节(0x03)地址 0x00 0x02 0x0A 0x0C 0x0E 0x10 0x11 定义 Pic_ID TP_Area Pic_Next Pic_On TP_Code 0xFE *VP 数据长度 2 8 2 2 2 1 2 说 明 页面ID 触控按钮区域: (Xs,Ys) (Xe,Ye) 目标切换页面,0xFF**表示不进行页面切换。必须为0xFF**。 按钮按压效果图所处的页面,0xFF**表示没有按钮按压效果。必须为0xFF**。 0xFE03 0xFE 变量地址指针。 ? 高 4 比特定义了数据返回格式: 0x0*=调节 VP 字地址(整型数); 0x1*=调节 VP 字地址的高字节地址(1 字节无符号数,VP_H); 0x2*=调节 VP 字地址的低字节地址(1 字节无符号数,VP_L)。 ? 低 4bit 定义了拖动方式: 0x*0=横向拖动,0x*1=纵向拖动。 有效调节区域:Xs,Ys,Xe,Ye;必须和 TP_Area(触控区域)一致。 起始位置对应的返回值,整数。 终止位置对应的返回值,整数。0x13Adj_Mode10x14 0x1C 0x1EArea_Adj V_begain V_end8 2 2为防止误操作,须按压有效拖动区域超过 0.5 秒后拖动才启动。上图中,刻度滑块是用滑块刻度指示(0x02 变量)实现的。 拖动录入的优点是直观、快捷,而且参数不会越界。当需要更精确的拖动录入时,可以把拖动修改的变 量同时用数据变量显示方式(0x10 变量)显示出来,如下图所示:拖动调节不支持按键(0x4F 寄存器保存的键码)控制。北京迪文科技有限公司- 30 -.cn400 018 9008.cn 专业.诚信.成功迪文 DGUS 屏开发指南Ver4.06.6 RTC 设置(0x04)地址 0x00 0x02 0x0A 0x0C 0x0E 0x10 0x11 0x14 0x18 0x1A 0x1B 0x1C 0x1D 0x1E 0x20 0x21 0x29 0x2D 定义 Pic_ID TP_Area Pic_Next Pic_On TP_Code 0xFE 0x00 00 00 (x,y) Color Lib_ID Font_Hor Cusor_Color KB_Source PIC_KB 0xFE AREA_KB AREA_KB_Position NULL 数据长度 2 8 2 2 2 1 3 4 2 1 1 1 1 2 1 8 4 3 说 明 页面ID 触控按钮区域: (Xs,Ys) (Xe,Ye) 目标切换页面,0xFF**表示不进行页面切换。 按钮按压效果图所处的页面,0xFF**表示没有按钮按压效果。 0xFE04 0xFE 0x00 00 00 输入过程显示位置,右对齐方式,(x,y)是字符串右上角坐标。 输入字体显示颜色。 显示使用的 ASCII 字库位置,0x00=默认字库 字体大小,X 方向点阵数目 光标颜色,0x00=黑色 其它=白色 0x00=键盘在当前页面;其它=键盘不在当前页面 键盘所在页面 ID,仅当 KB_Source 不等于 0x00 时有效。 0xFE 键盘区域:左上角坐标(Xs,Ys),右下角坐标(Xe,Ye); 仅当 KB_Source 不等于 0x00 时有效。 键盘在当前页面显示位置,左上角坐标;仅当 KB_Source 不等于 0x00 时有效。 写 0x00设计方法和0x00 触控变量_键盘不在当前界面基本一致。键盘不在当前界面上(KB_Source=0x01) :触发输入法后键盘不在当前界面上(KB_Source=0x01) :键盘所在页面北京迪文科技有限公司- 31 -.cn400 018 9008.cn 专业.诚信.成功迪文 DGUS 屏开发指南Ver4.06.7 按键值返回(0x05)地址 0x00 0x02 0x0A 0x0C 0x0E 0x10 0x11 定义 Pic_ID TP_Area Pic_Next Pic_On TP_Code 0xFE *VP 数据长度 2 8 2 2 2 1 2 说 明 页面ID 触控按钮区域: (Xs,Ys) (Xe,Ye) 目标切换页面,0xFF**表示不进行页面切换。 按钮按压效果图所处的页面,0xFF**表示没有按钮按压效果。 0xFE05 0xFE 变量地址指针 0x00=返回键值保存在 VP 字地址(整型数); 0x01=返回键值低字节保存在 VP 字地址的高字节地址(VP_H); 0x02=返回键值低字节保存在 VP 字地址的低字节地址(VP_L); 0x10-0x1F:把返回键值的最低位(1bit)写入 VP 字地址的指定位(0x10 修改 VP.0,0x1F 修改 VP.F) 返回键值。 写 0x000x13VP_Mode10x14 0x16Key_Code NULL2 106.8 文本录入(0x06)输入文本键盘码表 在文本录入的触控文件中,两字节键码的低字节表示普通键码,高字节表示大写键码。 典型的文本录入键盘定义如下表所示:键码 0x7E60 0x2 0x4 0xE36 0xA38 0x0 0x5F2D 0x2B3D 普通 ` 1 2 3 4 5 6 7 8 9 0 = 大写 ~ ! @ # $ % ^ & * ( ) _ + 键码 0x7 0x2 0x9 0x9 0x4F6F 0xB5B 0x7D5D 0x7C5C 普通 q w e r t y u i o p [ ] \ 大写 Q W E R T Y U I O P { } | 键码 0x3 0x6 0x8 0x4A6A 0x4B6B 0x4C6C 0x3A3B 0xD0D 普通 ' Enter 大写 A S D F G H J K L : & Enter 键码 0x5A7A 0x3 0x2 0x4E6E 0x4D6D 0x3C2C 0x3E2E 0x3F2F 0x2020 普通 z x c v b n m , . / SP 大写 Z X C V B N M & & ? SP注:文本键盘键码须小于 0x80(ASCII 码) 。0x0D 键码录入会自动转换成 0x0D 0x0A;0x00 和 0xFF 键码禁用。键盘功能键码定义键码 0x00F0 0x00F1 0x00F2 0x00F3 0x00F4 0x00F7 0x00F8 定义 Cancel Return Backspace Delete CapsLock Left Right 说明 取消录入返回,不影响变量数据。 确认录入返回,录入文本保存到指定变量

我要回帖

更多关于 北京迪文 k600 的文章

 

随机推荐