久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6393|回復: 2
打印 上一主題 下一主題
收起左側(cè)

超聲波精確測距 毫米級測距時間分辨率將如何改?

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:168638 發(fā)表于 2017-8-14 13:24 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
5黑幣
  1. /***********************************************************************************************************/
  2. //HC-SR04 超聲波測距模塊 DEMO 程序
  3. //晶振:11.0592
  4. //接線:模塊TRIG接 P1.2  ECH0 接P1.1
  5. //串口波特率9600
  6. //精度為米級別的,毫米級測距時間分辨率將如何改?
  7. /***********************************************************************************************************/         
  8. #include"chao.h"

  9. unsigned int  time=0;
  10. unsigned int  timer=0;
  11. float         S=0;
  12. bit           flag =0;
  13.         
  14. /*******************************************************************************
  15. * 函 數(shù) 名       : Conut
  16. * 函數(shù)功能                 : 數(shù)據(jù)處理
  17. * 輸    入       : 無
  18. * 輸    出             : 距離S
  19. *******************************************************************************/
  20. float Conut(void)
  21. {
  22.         time=TH0*256+TL0;
  23.         TH0=0;
  24.         TL0=0;
  25.         S=(time*1.87)/100;     //算出來是CM
  26.         if(flag==1)                    //超出測量
  27.         {
  28.                 flag=0;
  29.                  S=0;
  30.                   return S;
  31.         }
  32.         return S;
  33. }

  34. /*******************************************************************************
  35. * 函 數(shù) 名       : delayms
  36. * 函數(shù)功能                 : 延時函數(shù)
  37. * 輸    入       : ms
  38. * 輸    出             : 無
  39. *******************************************************************************/
  40. void delayms(unsigned int ms)
  41. {
  42.         unsigned char i=100,j;
  43.         for(;ms;ms--)
  44.         {
  45.                 while(--i)
  46.                 {
  47.                         j=10;
  48.                         while(--j);
  49.                 }
  50.         }
  51. }

  52. /*******************************************************************************
  53. * 函 數(shù) 名       : StartModule
  54. * 函數(shù)功能                 : 啟動模塊
  55. * 輸    入       : 無
  56. * 輸    出             : 無
  57. *******************************************************************************/
  58. void  StartModule()                        
  59. {
  60.           Trig = 1;                                             //啟動一次模塊
  61.           _nop_();
  62.           _nop_();
  63.           _nop_();
  64.           _nop_();
  65.           _nop_();
  66.           _nop_();
  67.           _nop_();
  68.           _nop_();
  69.           _nop_();
  70.           _nop_();
  71.           _nop_();
  72.           _nop_();
  73.           _nop_();
  74.           _nop_();
  75.           _nop_();
  76.           _nop_();
  77.           _nop_();
  78.           _nop_();
  79.           _nop_();
  80.           _nop_();
  81.           _nop_();
  82.           Trig = 0;
  83. }

  84. /*******************************************************************************
  85. * 函 數(shù) 名       : ChaoShengBoInit
  86. * 函數(shù)功能                 : 超聲波模塊初始化函數(shù),允許T0中斷,開啟定時器,開啟總中斷
  87. * 輸    入       : 無
  88. * 輸    出             : 無
  89. *******************************************************************************/
  90. void ChaoShengBoInit()
  91. {
  92.         TMOD=0x21;                   //設T0為方式1,GATE=1;
  93.         SCON=0x50;
  94.         TH1=0xFD;
  95.         TL1=0xFD;
  96.         TH0=0;
  97.         TL0=0;
  98.         TR0=1;  
  99.         ET0=1;             //允許T0中斷
  100.         TR1=1;                           //開啟定時器
  101.         TI=1;
  102.         EA=1;                           //開啟總中斷
  103. }

  104. /*******************************************************************************
  105. * 函 數(shù) 名       : CaiJi
  106. * 函數(shù)功能                 : 超聲波數(shù)據(jù)采集并轉(zhuǎn)換為數(shù)字信號
  107. * 輸    入       : 無
  108. * 輸    出             : 無
  109. *******************************************************************************/
  110. void CaiJi(void)
  111. {  
  112.          StartModule();
  113.          while(!Echo);                //當RX為零時等待
  114.          TR0=1;                            //開啟計數(shù)
  115.          while(Echo);                //當RX為1計數(shù)并等待
  116.          TR0=0;                                //關(guān)閉計數(shù)
  117.      Conut();                        //計算
  118.          delayms(100);                //100MS

  119. }  

復制代碼

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:111517 發(fā)表于 2017-8-20 00:08 | 只看該作者
網(wǎng)上看的一些資料說這個模塊精準度最大也就在在3mm,自己實際用過達到這么高的精確度,如果非要那么高的精確度的話是不是需要采取補償手段。

評分

參與人數(shù) 1黑幣 +30 收起 理由
admin + 30 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

板凳
ID:111634 發(fā)表于 2017-8-21 10:16 | 只看該作者
超聲波傳遞速率與介質(zhì)、溫度有關(guān)。探測精度有絕對精度和相對精度之分,把概念搞清楚。什么3mm?如果是倒車測距,絕對精度也就是0.5cm.
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产欧美久久一区二区三区 | 黄色福利| 成年人视频在线免费观看 | 国产成人99久久亚洲综合精品 | 国产精品爱久久久久久久 | 午夜免费视频 | 蜜桃av一区二区三区 | 久久久久成人精品 | 精品视频在线免费观看 | 国产一区二区三区久久久久久久久 | 精品欧美一区免费观看α√ | 国产精品18久久久 | 精品久久久一区二区 | 男女视频在线免费观看 | 四虎成人免费电影 | 一区二区视频在线 | 国产精品成人久久久久a级 久久蜜桃av一区二区天堂 | 中文字幕乱码视频32 | 色视频www在线播放国产人成 | 国产精品一区二区免费 | 四虎影音 | 成人国产精品久久 | 国产一区二区在线视频 | 精品一区二区三区91 | 中文字幕亚洲精品 | 国产精品99久久久久久动医院 | 中文字幕精品一区二区三区精品 | 97人人超碰 | 国产精品不卡 | 日本黄色大片免费 | 一区二区三区精品在线 | 精品一区二区三区免费视频 | 欧美精品电影一区 | 国产精品黄视频 | 在线视频一区二区三区 | 91青娱乐在线 | 一区二区三区免费 | 欧美一级大黄 | 成人精品免费 | 国产日韩欧美二区 | 日韩免费成人av |