迪文科技论坛

 找回密码
 立即注册
搜索
查看: 2426|回复: 1

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

[复制链接]

567

主题

167

回帖

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
11958
发表于 2019-5-22 10:38:41 | 显示全部楼层 |阅读模式
DGUS屏有一个上电运行时间的寄存器,占用4个字节空间,这个寄存器里面的时间是BCB编码,我们屏上面显示的时候可以用时间变量,也是就是16进制变量直接调取出来显示,这样直接就能调用这个程序是怎么显示上电运行时间,和将总运行时间保存到数据的写法。

因为数据擦写寿命限制,理论寿命10万次,经过本人几次测试某段地址的擦写情况,实际寿命只有5-8万次,运气不好可能3万次左右,我们这里采用变化了1个小时就进行时间的保存,如果要细写也可以写15分钟30分钟保存一次。
os示例如下:
  1. <font size="4">CALL 运行时间
  2. CALL 累计时间
  3. END
  4. ;============================================================
  5. 运行时间:
  6. MOVDR 0CH,R10,4 ;主页面显示运行时间
  7. LDWR R0,0020H
  8. MOVXR R11,0,2
  9. ONE-H-MARK:
  10. CJNE R11,R245,R><245;判断小时是否变化,变化了说明经过一个小时了,
  11. GOTO GND
  12. R><245:
  13. MOV R11,R245,1
  14. LDWR R4,0018H ;
  15. LDWR R6,0030H ;
  16. LDWR R0,0060H ;数据库清零测5A A5 0C 80 56 5A 50 0018 0030 1000 0001
  17. MOVXL 2,1
  18. MOVXR R32,1,1 ;字
  19. LDWR R22,1
  20. ADD R20,R30,R40 ;加法将时间加一个小时,
  21. MOVXR R46,0,1
  22. MOVXL 3,1 ;保存到数据库
  23. GND:
  24. RET
  25. ;============================================================
  26. 累计时间:
  27. LDWR R4,0018H ;
  28. LDWR R6,0030H ;
  29. LDWR R0,0004H ;从数据库读出来
  30. MOVXL 2,1
  31. RET

  32. ;==================================================
  33. </font>
复制代码

回复

使用道具 举报

0

主题

10

回帖

37

积分

新手上路

Rank: 1

积分
37
发表于 2020-8-8 17:18:30 | 显示全部楼层
没有编程基础的我,看这个跟看天书一样啊
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2024-11-22 08:05 , Processed in 0.103397 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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