一、传感妙用

第3课 按钮显示实时时钟

任务场景:按钮显示实时时钟
任务场景:按钮显示实时时钟

一、任务目标

理解按键中断显示,能说出「谁在打印、谁在滚屏」。

二、我们要学什么

  • 学习要点:显示时钟用按键中断,打印时钟放在主循环,两件事分开
  • 本课过关:能指出 1号按键 回调里才 scroll;完整代码 2号按键 才负责输入设定。
  • 示例对齐:体验题对应 「1-3-1 按钮显示实时时钟」;完整代码对应 「1-3-2 按钮设置实时时钟」。

三、本节要点

体验 1-3-1 已 对时((2022,7,1,14,20,45,0,0))。不按 1号按键 时点阵不必动,控制台仍每秒 print 时间字符串。

1读场景明确真实任务
2对要点1号按键 才滚屏,2号按键 才对时
3载入运行兴趣课程积木/代码

四、解题思路

  • 输入:体验:一号按键上升沿;完整代码另加二号按键。
  • 输出:串口打印时间文字;按一号按键后点阵滚动时分秒。
  • 生活对照:表一直在走,你按一下才抬头看。
  • 验证现象:不按键控制台仍出时间;按一号按键才滚屏。

本课主要用到:实时时钟、一号按键中断、点阵;完整代码另用二号按键与串口输入。

  1. 1明确任务「按钮显示实时时钟」:平时串口报时,按键才滚屏。
  2. 2给一号按键绑定中断:上升沿触发时,把时分秒滚到点阵。
  3. 3主循环里串口打印时间文字,并延时约一秒,保持节奏。
  4. 4完整代码:再给二号按键绑回调,串口输入后重新对时。
  5. 5载入后先看串口是否持续报时,再按一号按键看滚屏。

流程示意(可对照左侧文字)

任务:按钮显示实时时钟一号键中断触发滚屏主循环串口报时完整代码二号键再对时运行后对照现象

五、图形块功能讲解

下面只列出本课首次出现的 Mixly 图形块(真积木截图)。已在前面课讲过的不再重复;先认新块,再点「载入」对照拖搭。

图形块分类作用本课用法
按键中断
板载传感按键变化时触发中断回调。体验:1号按键 上升沿滚动时钟;完整代码 2号按键 再绑设定。

六、知识点讲解

按键中断显示:时间一直在走,滚屏只在按下那一下发生。主循环:负责周期性打印,不负责「等你按键」。irq:1号按键 上升沿进入回调再 scroll,避免循环里漏检短按。2号按键 对时:设定时钟放在完整代码的另一段中断里,不要写进体验题。

对照与过关:不要把 2号按键 设定写进 1-3-1。能说出「谁在打印、谁在滚屏」。先看串口是否出时间,再按 1号按键 看点阵。

七、编程练习

点「载入」打开 MixVM(board=mini_design)。默认图形化积木;起步程序与积木均来自 MixGo MINI 兴趣课程/学期3。在 Mixly 工具栏点「运行 / 停止」,「检查」做关键字核对。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。

兴趣课程:1-3-1 按钮显示实时时钟.mix。载入后运行。

八、课堂练习

先完成两道判断题,再完成选择题;全部选定后点「检查」。

  1. 判断:体验题必须按 1号按键,控制台才会打印 时间字符串。

  2. 判断:体验题按 1号按键 才把时分秒滚到点阵。

  3. 完整代码里用哪个键 input 重新对时?

  4. 1号按键 中断的 trigger 在示例里是?

九、本节小结

本课主题是按键显示时钟:显示时钟用按键中断,打印时钟放在主循环,两件事分开。体验程序按1号按键才滚动显示;完整程序按2号按键才负责输入设定。