陳新龍
秒表是一種常見測時儀器,在運動會上我們使用的是電子秒表,具有讀取便利、讀數精確等優點,所以在比賽計時等場合廣泛運用。電子秒表顯示時間的格式為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進制的。這里需要好好地理解。