找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 11844|回复: 1
收起左侧

迪文串口屏T5UID1开发心得

[复制链接]
ID:502741 发表于 2019-4-1 20:34 | 显示全部楼层 |阅读模式

迪文目前T5产品型号非常多,就个人来看开发来看,对T5UID1熟悉度较高,主要包括4.3寸和3.5寸86盒产品。

关于T5UID1,从入门方面来讲和原来的K600+系列产品相比地址和一些指令出现了变动,1包括T5的地址规划必须从1000H开始原来的K600+是从0开始,2,指令中数据库操作指令MOVXL指令取消,数据库读写改为地址0008H如下图

数据库读写变为

LDWR R0,0008H

LDWR R20,5A(A5)00H

LDWR R22,0000H

LDWR R24,1000H

LDWR R26,0002H

MOVXR R20,0,4

上面几行代码表示将将变量地址1000H从数据库地址000000中读出来/(写进去)

读取长度为两个字。

另外T5UID1相比K600+在编写时多了框架要求如下图;

其中当需要使用中断时标准格式为

ORG   1000H

GOTO  MAIN

GOTO   T0INT

GOTO   T1INT

GOTO   T2INT

ORG 1080H

MAIN  NOP

GOTO  MAIN

T0INT:

NOP

RETI

T1INT:

NOP

RETI

T2INT:

NOP

RETI

不需要使用中断将 GOTO T1INT换位NOP即可。

主程序从MAIN开始即可。

说完了区别那么开始关于T5UID1的初步编程,首先从最简单的变量地址赋值开始如下图:

其中R0为加载变量地址将对其读写,1000H表示变量地址,R10之前各寄存器有实际应用含义不可随意使用,200表示赋值量,MOVXR读写指令,详细使用见迪文开发指南。

写完上面表示会基本的赋值,那么上面对应的“变量地址赋值”是程序对应的子程序,这时候就需要了解相关的子程序调用了,迪文的子程序调用格式为

CALL 子程序

子程序:

NOP

RET

各子程序结束时需要RET不然会继续向下执行不会结束,子程序支持嵌套。

讲到这里各位对基本功能块的写法有个基本了解,为了加深映像下面增加了几个例子,比如跳转,加减法如下

从上图那么就可以进行基本的运算和判断,其中,ADD表示进行加法运算,R10,R14为32Bit数,R20表示64Bit数据,100+100结果等于200结果在R27寄存器,所以使用LDWR时是双字节长度,所以从R26将其取出,IJNE为8Bit立即数判断,表示对于一些需要判断条件1001H地址中的数据等于200时执行操作,否则跳转,执行其它功能,这种判断对执行特殊指令的功能特别适用,比如温控器应用中,达到多少温度执行开关机或者定时开关机功能。这样使用逻辑判断来实现较为复杂的功能。

通过上面的学习相信大家对T5UID1有个基本的思路,配合开发指南的详细说明,一些较为简单的功能应该能较快写出,只有熟练掌握基本功能那么接下来一些较为复杂的功能,比如最常用的密码功能,简单固定密码写法就是如下,密码为123456

复杂的可修改密码写法又相对来说复杂一些如下所示:

通过上面可以看出,无论代码的量和逻辑都增加了非常多,但是都是密码功能,其实就是从简单的功能块堆起来实现的,由数据库的读写来保存对比密码来替代了不可改写的固定密码,所以学习使用迪文屏时需要优先熟练基本功能,只有这样才能在接下来的复杂功能逻辑中如鱼得水,这次就先讲这么多,下次讲解86盒modbus的详细使用情况。


完整的Word格式文档51黑下载地址:

TUID1开发心得.docx (382.47 KB, 下载次数: 30)

回复

使用道具 举报

ID:140644 发表于 2020-1-23 09:14 | 显示全部楼层
有木有STC 51和迪文例程
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表