嵌入式與韌體

以軟體消除開關彈跳的方法,下列何者最為適當?

  1. A增加讀取腳位的次數,只要有一次讀到1就視為已按下
  2. B每隔數毫秒讀取腳位,當相同的值連續出現數次時,才視為狀態改變
  3. C開關一被按下,就重新啟動微控制器
查看答案與解析

正確答案:B. 每隔數毫秒讀取腳位,當相同的值連續出現數次時,才視為狀態改變

彈跳會在數毫秒內平息,因此例如每5 ms讀取一次腳位,當相同的值連續3次時才判斷狀態改變,就能忽略彈跳期間的變化。若以計時器中斷定期讀取,就不會中斷其他處理。等待時間若設得太長會讓人覺得反應遲鈍,因此要配合開關的特性來決定。

  • A. 會把彈跳期間的所有變化都讀進來。
  • B. 正確。可忽略彈跳期間的變化。
  • C. 不需要重新啟動。
練習這個領域 前往領域頁面

嵌入式與韌體的其他題目

  1. 將16 MHz的時脈經預除器除以16後供計時器計數,設定每計數1000次產生一次中斷。中斷的間隔是多少?
  2. 在週期為1000計數的PWM訊號中,每個週期只有250計數的期間輸出為1(High)。工作週期(duty ratio)是多少?
  3. 在微控制器上調整LED亮度或馬達轉速時,常用的方法是下列何者?
  4. 微控制器計時器的輸入捕捉(input capture)功能,其用途下列何者正確?
  5. 在中斷處理常式中應避免的事項,下列何者最為適當?

這個領域的比較