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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機超聲波模塊的測距程序

[復制鏈接]
跳轉到指定樓層
樓主
基于stc89c52單片機,采用HC-SR04模塊利用聲波反彈算出距離。
  1. #include "reg52.h"

  2. //距離小于10cm,D5亮,D6滅,反之相反現象

  3. sbit D5 = P2^0;
  4. sbit D6 = P2^1;
  5. sbit Trig = P1^5;
  6. sbit Echo = P1^6;

  7. void Delay10us()                //@11.0592MHz
  8. {
  9.         unsigned char i;

  10.         i = 2;
  11.         while (--i);
  12. }

  13. void Time0Init()
  14. {       
  15.         TMOD &= 0xF0;                //設置定時器模式
  16.         TMOD |= 0x01;
  17.         TH0 = 0;
  18.         TL0 = 0;
  19.         //設置定時器0工作模式1,初始值設定0開始數數,不著急啟動定時器
  20. }
  21. /*
  22. 十進制2左移1位,變成20。相當于乘以10
  23. 二禁止1左移1位,變成10(2)。相當于乘以2,左移8位,乘以2的8次方=256;*/

  24. void startHC()
  25. {
  26.         Trig = 0;
  27.         Trig = 1;
  28.         Delay10us();
  29.         Trig = 0;
  30. }
  31. void main()
  32. {
  33.         double time;
  34.         double dis;
  35.        
  36.         Time0Init();
  37.        
  38.         while(1){
  39.                 //1. Trig ,給Trig端口至少10us的高電平
  40.                 startHC();
  41.                 //2. echo由低電平跳轉到高電平,表示開始發送波
  42.                 while(Echo == 0);
  43.                 //波發出去的那一下,開始啟動定時器
  44.                 TR0 = 1;
  45.                 //3. 由高電平跳轉回低電平,表示波回來了
  46.                 while(Echo == 1);
  47.                 //波回來的那一下,我們開始停止定時器
  48.                 TR0 = 0;
  49.                 //4. 計算出中間經過多少時間
  50.                 time = (TH0 * 256 + TL0)*1.085;//us為單位
  51.                 //5. 距離 = 速度 (340m/s)* 時間/2
  52.                 dis = time * 0.017;
  53.                 if(dis < 10){
  54.                                 D5 = 0;
  55.                                 D6 = 1;
  56.                 }else{
  57.                                 D5 = 1;
  58.                                 D6 = 0;
  59.                 }
  60.                 //定時器數據清零,以便下一次測距
  61.                 TH0 = 0;
  62.                 TL0 = 0;
  63.         }
  64. }
復制代碼


1723385268482.png (372.23 KB, 下載次數: 13)

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

使用道具 舉報

沙發
ID:513213 發表于 2024-8-20 08:37 | 只看該作者
謝謝分享
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品国产一区二区三区av片 | 红桃视频一区二区三区免费 | 久久成人精品视频 | 三级黄视频在线观看 | 色播久久久 | 欧美激情精品久久久久 | 国产精品福利视频 | 91文字幕巨乱亚洲香蕉 | 国产在线精品一区二区三区 | 日本小电影网站 | 亚洲国产精品福利 | 欧美综合久久久 | 国产精品久久久久久妇女 | 国产一区二区在线播放视频 | 91精品国产综合久久久亚洲 | 久草福利 | 秋霞影院一区二区 | 国产a一区二区 | 日本 欧美 国产 | 久久精品视频一区二区 | a级大片 | 精品国产不卡一区二区三区 | 一区二区视频在线 | 欧美aaa级 | 国产成人精品久久二区二区 | 91久久精品日日躁夜夜躁欧美 | 久久精品国产一区二区 | 日本黄色免费视频 | 国产日韩精品久久 | www久久国产 | 国产精品视频在线观看 | 亚洲成色777777在线观看影院 | a免费在线 | 久久香蕉网 | 一区二区三区四区在线视频 | 亚洲成人免费视频在线观看 | 中文字幕乱码一区二区三区 | 欧美中文一区 | 成人午夜视频在线观看 | 欧美高清免费 | 久久国产精品免费一区二区三区 |