看板 ASM 關於我們 聯絡資訊
※ 引述《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
aa706045:謝謝~你 08/12 10:36