Re: [問題] 超音波程式問題

看板ASM作者 (甘願為妳~)時間16年前 (2008/08/12 03:21), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串2/4 (看更多)
※ 引述《aa706045 (小呆榕)》之銘言: : 要如何從8051 把超音波發射和接收的時間差 : 用來運算 : EX 假設 時間差為 100US : 然後我要把他抓出來除以58US : 從8051 用c語言 這部分 程式如何寫 : 謝謝~ //-------------------------------------------- // Timer 的用法一般都有Example可以看才對。 //-------------------------------------------- void main() { InitTimer2(); //要算一下,多久中斷一次,可以設成 1us InitSystemClock(); yourProgram(); } DWORD gdwCostTime=0; void Timer2ISR() interrupt 5 { gdwCostTime++; } void yourProgram() { 超音波發射(); EnableTimer2(); while(!超音波接收()); DisableTimer2(); 你要的值 = gdwCostTime / 58 US; } -- ████████████████ █ █████████████ ██████████████ █ ██████████████ ██████████████ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.110.225.153

08/12 10:36, , 1F
謝謝~你
08/12 10:36, 1F
文章代碼(AID): #18e94bPW (ASM)
文章代碼(AID): #18e94bPW (ASM)