dwinForumAdmin 发表于 2019-5-22 10:38:41

DWIN DGUSI OS例程:如何实现显示上电运行时间和总运行...

DGUS屏有一个上电运行时间的寄存器,占用4个字节空间,这个寄存器里面的时间是BCB编码,我们屏上面显示的时候可以用时间变量,也是就是16进制变量直接调取出来显示,这样直接就能调用这个程序是怎么显示上电运行时间,和将总运行时间保存到数据的写法。
因为数据擦写寿命限制,理论寿命10万次,经过本人几次测试某段地址的擦写情况,实际寿命只有5-8万次,运气不好可能3万次左右,我们这里采用变化了1个小时就进行时间的保存,如果要细写也可以写15分钟30分钟保存一次。os示例如下:<font size="4">CALL 运行时间
CALL 累计时间
END
;============================================================
运行时间:
MOVDR 0CH,R10,4 ;主页面显示运行时间
LDWR R0,0020H
MOVXR R11,0,2
ONE-H-MARK:
CJNE R11,R245,R><245;判断小时是否变化,变化了说明经过一个小时了,
GOTO GND
R><245:
MOV R11,R245,1
LDWR R4,0018H ;
LDWR R6,0030H ;
LDWR R0,0060H ;数据库清零测5A A5 0C 80 56 5A 50 0018 0030 1000 0001
MOVXL 2,1
MOVXR R32,1,1 ;字
LDWR R22,1
ADD R20,R30,R40 ;加法将时间加一个小时,
MOVXR R46,0,1
MOVXL 3,1 ;保存到数据库
GND:
RET
;============================================================
累计时间:
LDWR R4,0018H ;
LDWR R6,0030H ;
LDWR R0,0004H ;从数据库读出来
MOVXL 2,1
RET

;==================================================
</font>

夜鬼敲门 发表于 2020-8-8 17:18:30

没有编程基础的我,看这个跟看天书一样啊:dizzy:
页: [1]
查看完整版本: DWIN DGUSI OS例程:如何实现显示上电运行时间和总运行...