掌控板之电子秒表
2020-03-10陈新龙
陈新龙
秒表是一种常见测时仪器,在运动会上我们使用的是电子秒表,具有读取便利、读数精确等优点,所以在比赛计时等场合广泛运用。电子秒表显示时间的格式为60进制的“00:00:00”分别代表分(0-60)、秒(0-60)和厘秒(0-99),作為运功成绩一般是保留两位小数。
那么能不能用万能的掌控板来制作一个电子秒表器呢?答案是肯定可以的,掌控板正面有A和B两个按键,可以用来控制秒表的启动、暂停,还可以实现分次计时,掌控板背面的按钮用来实现复位(图1)。
首先实现基础的功能就是在掌控板上显示时间。我们需要程序运行时的格式为“00:00:00”(分:秒:厘秒),先确定好字符位置(如图2)。
接下来要获取“系统运行时间”也是掌控板运行程序的实际时间,掌控板获取的时间单位是毫秒(1000毫秒=1秒),然后根据获得的系统时间来求出需要的分秒厘秒。
变量“厘秒”表示秒表中最后两位数字“00”,由于系统运行时间单位是毫秒,厘秒值对应的系统运行时间是倒数第二位和倒数第三位的数字,所以需要换算,将系统时间先除以10再除以100的余数(可以得到0-99范围的厘秒值)同时需要考虑到当厘秒值的范围小于10的时候需要在数字前面补齐一位0才可以(如图3)。
变量“秒”表示秒表中间两位数字“00”,首先设置系统计时获得以秒为单位的系统运行时间,将系统运行时间除以1000,由于秒的范围值是0-59(60进制),所以计算变量“秒”时要将系统计时除以60的余数便可以得到结果,同时也是需要注意当秒的范围小于10的时候需要在数字前补齐一位0才可以(图4)。
变量“分”表示秒表中头两位数字“00”,分的范围也同秒的范围一样在0-59之间,通过以秒为单位的系统运行时间除以60便可以转化为分钟(将系统计时先除以60再除以60得到余数),同时也需要注意分的范围小于10的时候需要在数字前补齐一位0才可以(图5)。
程序编写完成后我们连接掌控板进行调试。当程序开始运行后,自动计时,这个时候没有任何暂停或者分次计数的功能。
下面我们需要尝试给自己的程序增加一些新的功能。当按下A键的时候控制计时器的停止与计时,重复不断循环。按下B键后,可以进行分次计时。并且显示在掌控板上。这里就留给大家自己挑战了。计时器小程序的关键就是控制进制的转换,分和秒都是60进制,厘秒是100进制的。这里需要好好地理解。