29.04.2015 Views

Input Capture - Microchip Taiwan

Input Capture - Microchip Taiwan

Input Capture - Microchip Taiwan

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Input</strong> <strong>Capture</strong> 練 習 一<br />

使 用 APP026-3X<br />

實 驗 板<br />

• 在 IC7 中 斷 服 務 程 式 計 算 IC7_Value 得 方 式 ( IC7_Value 為 半 圈 時 間 )<br />

void _ISR _IC7Interrupt(void)<br />

// 輸 入 捕 捉 中 斷 副 程 式<br />

{<br />

IFS1bits.IC7IF = 0;<br />

// 清 除 輸 入 捕 捉 中 斷 旗 標<br />

TMR3 = 0 ;<br />

IC7_ValueOld = IC7BUF ;<br />

IC7_ValueNew = IC7BUF ;<br />

if (IC7_ValueNew > IC7_ValueOld)<br />

IC7_Value = IC7_ValueNew-IC7_ValueOld ValueOld ;<br />

else<br />

IC7_Value = 65536 - IC7_ValueOld + IC7_ValueNew ;<br />

}<br />

• 在 主 程 式 回 圈 計 算 轉 速 的 敘 述 如 下<br />

// clock unit = 1:64 = 0.25us * 64 = 16 us<br />

// 2 個 edge = 半 圈 的 時 間<br />

// 1 min = 60 sec = 60000 ms = 60000000 us<br />

if (IC7_Value > 0 )<br />

RPM = 60000000L /((unsigned long)IC7_Value l * 16 *2) ;<br />

else RPM = 0 ;<br />

dsPIC Peripheral Module Training – RTC <strong>Taiwan</strong><br />

SLIDE 23

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!