迪文DGUS屏如何实现显示上电运行时间和总运行时间

DGUS1的屏有一个上电运行时间的寄存器,占用4个字节空间,这个寄存器里面的时间是BCB编码,
我们屏上面显示的时候可以用时间变量,也是就是16进制变量直接调取出来显示,这样直接就能调用
这个程序是怎么显示上电运行时间,和将总运行时间保存到数据的写法。
因为数据擦写寿命限制,理论寿命10万次,
经过本人几次测试某段地址的擦写情况,实际寿命只有5-8万次,运气不好可能3万次左右,
我们这里采用变化了1个小时就进行时间的保存,如果要细写也可以写15分钟30分钟保存一次。
os示例如下:
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

;============================================================

猜你喜欢

转载自blog.csdn.net/weixin_42846972/article/details/81570560
今日推荐