一、秒表计时
第3课 精度改变计时器

一、任务目标
暂停时用 T2/T3 改「计时间隔」,再按 T0 开始:同样真实时间里,间隔越小屏上数字加得越快。
二、我们要学什么
- 学习要点:计时间隔(period)就是精度:体验题改间隔变量;完整代码用 period=计时间隔 真正生效
- 本课过关:能在暂停时改间隔,再开始后看出读数变快或变慢。
- 示例对齐:体验题对应 「1-3-1 精度改变计时器」;完整代码对应 「1-3-2 精度改变计时器」。
三、本节要点
本节抓住「period」。体验 1-3-1 已能改「计时间隔」,但启动仍 init(period=100);完整代码 1-3-2 才用 period=计时间隔。
四、解题思路
- 输入:T0 开始/暂停;暂停时 T2、T3 改计时间隔。
- 输出:点阵上的计时;间隔变化后加数快慢改变。
- 生活对照:秒表可调「一格代表多久」。
- 验证现象:完整代码把间隔改小再开始,同样时间内读数更大。
本课主要用到:点阵屏、板载按键、定时器。
- 1明确任务「精度改变计时器」:同一套秒表,改的是加一的周期。
- 2暂停时才允许改间隔,避免走表中途乱改节拍。
- 3开始时用 tim.init 把当前间隔交给定时器(完整代码用变量,不要写死 100)。
- 4载入后先走停,再对照完整代码看改间隔是否生效。
流程示意(可对照左侧文字)
五、图形块功能讲解
下面只列出本课首次出现的 Mixly 图形块(真积木截图)。已在前面课讲过的不再重复;先认新块,再点「载入」对照拖搭。
| 图形块 | 分类 | 作用 | 本课用法 |
|---|---|---|---|
![]() | 控制 | 创建板载定时器对象。 | 开始走表时 tim.init;完整代码 period=计时间隔。 |
六、知识点讲解
同样在走秒表,计时间隔(period)一改,屏上数字变快或变慢——这就是精度。间隔越小,同样真实时间里加得次数越多,读数越「细」。
period 就是精度旋钮
定时器每次触发,回调把「计时」加 1。period=100 大约每 0.1 秒跳一格;改成 10 则几乎快十倍。数字本身不是「秒」,要乘间隔才是真实时间。本课重点是看见间隔如何改变跳格速度。
改精度要重新初始化
只改变量「计时间隔」不够,还要用「初始化定时器」把新 period 写进去。常见做法:开始走表时 tim.init(period=计时间隔, …)。T2 设成 10、T3 设成 100,是两档可对比的精度。
走表时别乱改键
改精度、清零往往放在「未开始」分支:正在走表时按 T2/T3/T1 不生效或另有约定,避免数字乱跳。完整示例会在改间隔后把新间隔也显示到点阵,方便确认旋钮已拧动。
- 对照实验:同一段真实时间,interval=10 与 100 的读数差大约一个数量级——这就是「精度改变」的现象。
- T0 仍负责开始/暂停,T1 清零;精度键与走表键要分开,才不会抢同一颗键。
- 过关:能指出 period 在哪改、改完为何必须 init,并能口述「数字快了是因为触发更勤,不是时间变快了」。
先分清「计时」和「计时间隔」,再载入示例按 T2/T3 看跳格快慢。
七、编程练习
点「载入」打开 MixVM(board=mixgo_zero_design)。在 Mixly 工具栏点「运行 / 停止」,「检查」做关键字核对。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。
1-3-1 精度改变计时器.mix。载入后运行。
正在载入编程环境
正在载入 MixGo ZERO 仿真编程环境…
八、课堂练习
先完成两道判断题,再完成选择题;全部选定后点「检查」。
判断:体验 1-3-1 里 T2/T3 一改,「计时间隔」立刻作为 Timer 的 period 生效。
判断:间隔越小,同样时间内「计时」加得次数越多,读数越细、看起来越快。
改精度应在什么时候进行?
完整代码开始走表时,init 的 period 应取?
九、本节小结
记住:period 就是精度。完整代码用「计时间隔」启动定时器,改完再走表才看得出差别。
