Input Capture - Microchip Taiwan
Input Capture - Microchip Taiwan
Input Capture - Microchip Taiwan
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