Re: [問題] 量測脈波寬度
8051 量測「正」脈波寬度有個簡單又準確的方法.
timer/counter 0/1 有個GATE bit (TMOD.3/TMOD.7),
Intel manual對此bit的說明是:
Gating control when set. Timer/Counter "x" is enabled
only when INTx# pin is high and TRx control pin is
set. When cleared Timer x is enabled whenever
TRx control bit is set.
打開這個GATE功能, 讓信號從 INTx# pin 進來,
先把timer清為零, 經過一個正脈波後,
timer內的值(TH0/TL0)就是pulse width了.
這種作法是硬體直接計數, resolution是一個
machine cycle, 是8051能達到最準確的方法.
若要量測的pulse width很大, 可用timer interrupt
用變數計數.
另可配合 INTx interrupt 使用, 在正脈波結束
(negative edge)產生 interrupt, 把timer/counter
值讀出並清為0, 準備下一次量測. 這樣即使8051有
很複雜的工作在處理, 也能得到正確的pulse width
值.
示意圖:
________________
INT0# _______| |_________
^
|- EX0 interrupt
timer0 -------<----running---->----------
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.68.71.218
推
04/14 19:56, , 1F
04/14 19:56, 1F
※ 編輯: ksmrt0123 來自: 219.68.71.218 (04/14 20:28)
推
04/14 21:48, , 2F
04/14 21:48, 2F
推
04/14 22:45, , 3F
04/14 22:45, 3F
→
04/14 22:47, , 4F
04/14 22:47, 4F
→
04/14 23:26, , 5F
04/14 23:26, 5F
→
04/14 23:29, , 6F
04/14 23:29, 6F
→
04/14 23:30, , 7F
04/14 23:30, 7F
推
04/14 23:38, , 8F
04/14 23:38, 8F
推
04/14 23:58, , 9F
04/14 23:58, 9F
推
04/15 18:42, , 10F
04/15 18:42, 10F
討論串 (同標題文章)
ASM 近期熱門文章
PTT數位生活區 即時熱門文章