COUNT

 

語法

        COUNT Pin, Period, Variable

 

操作

        計算在一段時間中出現在指定引腳的0-1-0(1-0-1)轉換的周期數,將值放入指定的變數。

  • Pin 常數或變數(0 ~23),用來定義轉換計數的引腳號碼。對一個24-pinBASIC Commander而言,它的引腳值範圍為 0~15
  • Duration 常數或變數(1 ~65535),用來定義轉換被計數的期間。 Duration的單位為一毫秒(1 ms)
  • Variable – WORD變數(1~65535)用來存放計數值。

說明

        這個指令計算出在指定引腳上出現0-1-0(1-0-1)轉換的周期數,可以計算外部事件改變的數量。執行COUNT指定的引腳在執行時會自動被設為輸入。Duration定義時間單位為1毫秒(ms)。每一次由高到低或由低到高的輸入訊號最小幅寬必須大於10us。換句話說,最大的輸入訊號頻率必須是不大於50k赫茲同等功率的方形波,否則有些轉換無法被計算到。如果高低功率不相同,較短的功率要大於10ms。換句話說,最大輸入頻率被較短功率限定而會遠小於50k赫茲。如果計數大於65535,將會產生溢位0然後繼續計數。我們要預防這種情況。

 

範例

        程式教我們用COUNT指令去完成一個有趣的小遊戲,測試你按鍵的速度能有多快。按鍵的應用線路圖如下圖。

Sub Main()
   
Dim PushBtn As Byte=0   ' Push button on P0
    Dim Cycles As Word=0    ' Counted cycles
    Dim m As Byte=0
 
   
Do
       
Debug CLS,_
       
"How fast can you press within 5 seconds?", CR
       
Pause 1000
       
Debug "Ready!",CR
       
Pause 1000
       
Debug "Set!",CR
       
Pause 2000
       
Debug "Go!", CR  
 
       
COUNT PushBtn, 5000, Cycles
 
       
Debug CR, "Your score is ", Cycles, CR, CR
       
Pause 2000
       
Debug "Press button to try again!"
 
       
Do
            m=
in(Pushbtn)
       
Loop Until m=0
   
Loop
End Sub