cnCalc计算器论坛

 找回密码
 注册
搜索
查看: 3212|回复: 3

[聊天] 计算器通过编程实现的时钟功能应该是可调快慢的吧?

[复制链接]
发表于 2016-9-23 09:55:39 | 显示全部楼层 |阅读模式
因为计算器的晶振可能会有个固定的偏差造成每隔24小时会偏差几秒,那么在这个时钟编程里面要预留一下偏差纠正变量,由用户根据偏差多少来自行输入偏差值,这样,时钟程序会在夜晚0点,自行根据偏差值来纠正时钟的当前计时,这样就能保证每天的误差积累不会越来越大,而是保持长期的一个正确计时状态。
发表于 2016-9-23 20:23:35 | 显示全部楼层
本帖最后由 cnzym 于 2016-9-23 20:24 编辑

【卡西欧fx系列】

记得sh3单片机内部有RTC的,如下图



(《SH3高级单片机原理及应用》,沈永林,TUP)

在addin应用Insight中的确可以看到相应地址的“寄存器”随时间在变动,时钟类应用程序大概也是通过访问这几个“寄存器”来得到时间。

这类时钟的精度的确不高,但是完全够用,根据本人经验,可以做到一段时间内不需要调整时间,所以考试的时候也可以用作时钟。

虽然不是很懂,但是温漂或者其他外部因素带来的微小误差应该不是很严重。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2016-9-24 12:39:48 | 显示全部楼层
TI 系列
TI 早期计算器,比如 84/92/v200 内置一个 RTC, 系统内部没有纠偏。误差在 1/50 左右。
TI-Nspire 也有一个 RTC, 但是这个 RTC 会随着计算器硬重启而丢失数据。nClock 应该有纠偏,误差比较小。

WP 34S
说白了就是32768晶振,系统内部没有纠偏。误差 1/48. 基本上用作时钟是可以的。

RTC 本身不会纠偏,纠偏是系统层面的活。系统接收中断然后再根据公差处理一下应该就可以了。
发表于 2017-10-9 17:56:27 | 显示全部楼层
提供一个思路。
定义一个变量用于记录调钟的时间,下次运行,计算当前时间和上次调钟时间差距,然后按天数调节。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cnCalc计算器论坛

GMT+8, 2024-12-5 09:59 , Processed in 0.044698 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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