2014年上半年曾經(jīng)試過做超聲波測距儀,后來失敗告終,還搞到買現(xiàn)成的慚愧啊。
2015年2月份上網(wǎng)剽竊人家的代碼,終于成功測距。
剽竊人家的代碼
while(!ECHO); //等待高電平 TR1 = 1; //打開計(jì)時(shí)器 while(ECHO); //等待低電平 TR1 = 0; //關(guān)閉計(jì)時(shí)器 time = TH1 * 256.0 + TL1; //計(jì)算時(shí)間 L = 0.18446*time;
配合我的簡陋操作系統(tǒng), 實(shí)現(xiàn)液晶LCD1602顯示距離(三次的平均距離),
HC-SR04發(fā)射超聲波在空氣傳播過程中碰到物體立即就返回, HC-SR04接收到反射波單片機(jī)就停止計(jì)時(shí) 根據(jù)超聲波在空氣(25℃)中的傳播速度為 v=346m/s,單片機(jī)計(jì)時(shí)器記錄的時(shí)間t,就可以計(jì)算出發(fā)射點(diǎn)到物體的距離s,即:s=vt/2=346t/2 經(jīng)過單片機(jī)計(jì)算距離,LCD1602把距離顯示出來。
原理圖:

51distancer.png
實(shí)際:

dist1.png