MC系列控制板 編譯器使用說明書 版本2.0

定時器

系統共有16個定時器, 定時器的值儲存在16位元數組Timer, 定時器標誌則儲存在位元數組TF, 對應的事件函數為Timer0, Timer1, Timer2, ...., Timer15, 如下表所示;
定時器編號
定時器值 定時器標誌 事件函數名 計數周期(毫秒ms)
0
Timer(0) TF(0) Timer0 100
1
Timer(1) TF(1) Timer1 100
2
Timer(2) TF(2) Timer2 100
3
Timer(3) TF(3) Timer3 100
4
Timer(4) TF(4) Timer4 100
5
Timer(5) TF(5) Timer5 100
6
Timer(6) TF(6) Timer6 100
7
Timer(7) TF(7) Timer7 100
8
Timer(8) TF(8) Timer8 100
9
Timer(9) TF(9) Timer9 100
10
Timer(10) TF(10) Timer10 100
11
Timer(11) TF(11) Timer11 100
12
Timer(12) TF(12) Timer12 100
13
Timer(13) TF(13) Timer13 100
14
Timer(14) TF(14) Timer14 20
15
Timer(15) TF(15) Timer15 20
 
啟動定時器
只要將設為一個大於零的值就能啟動定時器, 每個計數周期定時器的值會減1一次, 直至為0 ,將定時器標誌設為1, 並呼叫定時器事件函數, 定時器將停止, 若要再次啟動定時器須重複此步驟.
 
停止定時器
只要將定時器的值設為零就能關閉定時器, 定時器標誌將自動設為0.
 
定時時間計算
定時器的值 = 定時時間(毫秒) \ 定時器的計數周期(毫秒)
例如: 使用定時器1的定時10秒, 則 定時器1的值為100(10000ms\100ms=100), 即Timer(1)=100
 
事件函數語法(以定時器0為例)
Timer0{
//要執行的程式語句
}
例如:
每隔5秒, 輸出2反轉一次
Timer0{
  Timer(0)=50 //設定定時器的值(5000ms \ 100ms), 再次啟動定時器
  OUT(2)=~OUT(2)
}
Startup{
  // 系統啟動時啟動定時器
  Timer(0)=50 //設定定時器的值(5000ms \ 100ms)
}
   

Newell Technologies Ltd.