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>
复制代码
|