陳新龍
秒表是一種常見測時儀器,在運(yùn)動會上我們使用的是電子秒表,具有讀取便利、讀數(shù)精確等優(yōu)點,所以在比賽計時等場合廣泛運(yùn)用。電子秒表顯示時間的格式為60進(jìn)制的“00:00:00”分別代表分(0-60)、秒(0-60)和厘秒(0-99),作為運(yùn)功成績一般是保留兩位小數(shù)。
那么能不能用萬能的掌控板來制作一個電子秒表器呢?答案是肯定可以的,掌控板正面有A和B兩個按鍵,可以用來控制秒表的啟動、暫停,還可以實現(xiàn)分次計時,掌控板背面的按鈕用來實現(xiàn)復(fù)位(圖1)。
首先實現(xiàn)基礎(chǔ)的功能就是在掌控板上顯示時間。我們需要程序運(yùn)行時的格式為“00:00:00”(分:秒:厘秒),先確定好字符位置(如圖2)。
接下來要獲取“系統(tǒng)運(yùn)行時間”也是掌控板運(yùn)行程序的實際時間,掌控板獲取的時間單位是毫秒(1000毫秒=1秒),然后根據(jù)獲得的系統(tǒng)時間來求出需要的分秒厘秒。
變量“厘秒”表示秒表中最后兩位數(shù)字“00”,由于系統(tǒng)運(yùn)行時間單位是毫秒,厘秒值對應(yīng)的系統(tǒng)運(yùn)行時間是倒數(shù)第二位和倒數(shù)第三位的數(shù)字,所以需要換算,將系統(tǒng)時間先除以10再除以100的余數(shù)(可以得到0-99范圍的厘秒值)同時需要考慮到當(dāng)厘秒值的范圍小于10的時候需要在數(shù)字前面補(bǔ)齊一位0才可以(如圖3)。
變量“秒”表示秒表中間兩位數(shù)字“00”,首先設(shè)置系統(tǒng)計時獲得以秒為單位的系統(tǒng)運(yùn)行時間,將系統(tǒng)運(yùn)行時間除以1000,由于秒的范圍值是0-59(60進(jìn)制),所以計算變量“秒”時要將系統(tǒng)計時除以60的余數(shù)便可以得到結(jié)果,同時也是需要注意當(dāng)秒的范圍小于10的時候需要在數(shù)字前補(bǔ)齊一位0才可以(圖4)。
變量“分”表示秒表中頭兩位數(shù)字“00”,分的范圍也同秒的范圍一樣在0-59之間,通過以秒為單位的系統(tǒng)運(yùn)行時間除以60便可以轉(zhuǎn)化為分鐘(將系統(tǒng)計時先除以60再除以60得到余數(shù)),同時也需要注意分的范圍小于10的時候需要在數(shù)字前補(bǔ)齊一位0才可以(圖5)。
程序編寫完成后我們連接掌控板進(jìn)行調(diào)試。當(dāng)程序開始運(yùn)行后,自動計時,這個時候沒有任何暫停或者分次計數(shù)的功能。
下面我們需要嘗試給自己的程序增加一些新的功能。當(dāng)按下A鍵的時候控制計時器的停止與計時,重復(fù)不斷循環(huán)。按下B鍵后,可以進(jìn)行分次計時。并且顯示在掌控板上。這里就留給大家自己挑戰(zhàn)了。計時器小程序的關(guān)鍵就是控制進(jìn)制的轉(zhuǎn)換,分和秒都是60進(jìn)制,厘秒是100進(jìn)制的。這里需要好好地理解。