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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6528|回復: 2
打印 上一主題 下一主題
收起左側

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

[復制鏈接]
跳轉到指定樓層
樓主
ID:168638 發表于 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. * 函 數 名       : Conut
  16. * 函數功能                 : 數據處理
  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. * 函 數 名       : delayms
  36. * 函數功能                 : 延時函數
  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. * 函 數 名       : StartModule
  54. * 函數功能                 : 啟動模塊
  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. * 函 數 名       : ChaoShengBoInit
  86. * 函數功能                 : 超聲波模塊初始化函數,允許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. * 函 數 名       : CaiJi
  106. * 函數功能                 : 超聲波數據采集并轉換為數字信號
  107. * 輸    入       : 無
  108. * 輸    出             : 無
  109. *******************************************************************************/
  110. void CaiJi(void)
  111. {  
  112.          StartModule();
  113.          while(!Echo);                //當RX為零時等待
  114.          TR0=1;                            //開啟計數
  115.          while(Echo);                //當RX為1計數并等待
  116.          TR0=0;                                //關閉計數
  117.      Conut();                        //計算
  118.          delayms(100);                //100MS

  119. }  

復制代碼

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

使用道具 舉報

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

評分

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

查看全部評分

回復

使用道具 舉報

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

使用道具 舉報

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

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久日韩粉嫩一区二区三区 | 精品一区二区三区免费视频 | 欧洲毛片 | av网站免费 | 精品自拍视频在线观看 | 亚洲精品视频一区 | 正在播放国产精品 | 欧美一区二区另类 | 日韩精品一区二区三区中文字幕 | a级在线免费 | 国内精品免费久久久久软件老师 | 亚洲乱码一区二区三区在线观看 | 999精品视频 | 中文一区 | 99爱国产 | 三级视频在线观看电影 | 成人影院在线观看 | 日一区二区 | 国产日韩一区二区 | 在线日韩中文字幕 | 在线播放国产一区二区三区 | 高清视频一区 | 日本精品一区二区三区四区 | 国产精品久久久久久久久久久久久 | 国产色婷婷久久99精品91 | 精品久久久久久亚洲综合网站 | jlzzjlzz国产精品久久 | 三级成人在线 | 91久久国产综合久久91精品网站 | 国产免费看 | 国产精品视频久久久久久 | av影片在线| 免费黄色a级毛片 | 在线观看日韩av | 免费午夜视频在线观看 | 美国av毛片 | 久久精品国产一区二区电影 | 国产综合视频 | 日韩精品一区二区三区免费观看 | 国产第一亚洲 | 性国产丰满麻豆videosex |