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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機超聲波模塊HC_SR04代碼

[復制鏈接]
跳轉到指定樓層
樓主
ID:283906 發(fā)表于 2019-7-7 16:31 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
非常簡潔!可直接調用!!!


單片機源程序如下:
  1. #include "STC15Fxxxx.H"
  2. #include "hc_sr04.h"

  3. u16  time=0;
  4. u16  timer=0;
  5. bit  flag =0;

  6. void Delay45us()                //@11.0592MHz
  7. {
  8.         unsigned char i;

  9.         i = 122;
  10.         while (--i);
  11. }



  12. //========================================================================
  13. // 函數(shù): HC_SR04_Init()
  14. // 描述: 初始化HC_SR04所需硬件。
  15. // 參數(shù):
  16. // 返回: none.
  17. //========================================================================
  18. void HC_SR04_Init()
  19. {
  20.         TMOD |= 0x01;                //定時器0 16位不可重裝模式
  21.         TH0 = 0x00;                    // 設置定時初值
  22.         TL0 = 0x00;                    //設置定時初值
  23.         TR0=1;  
  24.         ET0=1;
  25.         EA=1;
  26. }


  27. //========================================================================
  28. // 函數(shù): HC_SR04_Start()
  29. // 描述: 開始發(fā)送聲波。
  30. // 參數(shù):
  31. // 返回: none.
  32. //========================================================================
  33. void HC_SR04_Start()
  34. {
  35.         Trig_Pin = 0;
  36.         Delay45us();
  37.         Trig_Pin = 1;
  38. }


  39. //========================================================================
  40. // 函數(shù): int HC_SR04_Loop()
  41. // 描述: 返回距離。
  42. // 參數(shù):  
  43. // 返回: distance:距離(單位:厘米).
  44. //========================================================================
  45. int HC_SR04_Loop()
  46. {
  47.         int distance;//distance|距離
  48.         HC_SR04_Start();
  49.          while(!Echo_Pin);                //Wait when RX is zero|當RX為零時等待
  50.          TR0=1;                            //Opening count|開啟計數(shù)
  51.          while(Echo_Pin);                        //When RX counts to 1 and waits|當RX為1計數(shù)并等待
  52.          TR0=0;                                //Closing count|關閉計數(shù)
  53.          time=TH0*256+TL0;
  54.          TH0=0;
  55.          TL0=0;
  56.          distance=(time*1.87)/100;     //算出來是CM
  57.         if(flag==1)                    //超出測量
  58.         {
  59.                 flag=0;
  60.                 distance=0;
  61.         }
  62.         return distance;
  63. }


  64. void zd0() interrupt 1                  //T0中斷用來計數(shù)器溢出,超過測距范圍
  65. {
  66.         flag=1;                                                         //中斷溢出標志
  67. }
復制代碼

所有資料51hei提供下載:
HC_SR04.zip (60.9 KB, 下載次數(shù): 75)



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

使用道具 舉報

沙發(fā)
ID:589945 發(fā)表于 2019-8-3 09:33 | 只看該作者
有用謝謝
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 大象一区| 美日韩一区二区 | 一区二区三区四区在线 | 国内毛片毛片毛片毛片 | 国产精品成人一区二区 | 一级欧美一级日韩片 | 国产成人在线视频 | 色毛片| 99久久99| 午夜国产羞羞视频免费网站 | 成人在线视频免费看 | 国产高清精品在线 | 亚洲免费视频一区 | 日韩网站在线观看 | 国产精品久久亚洲7777 | 久久天天躁狠狠躁夜夜躁2014 | 成人在线播放网址 | 日韩一区二区在线视频 | 中文字幕视频网 | 男女羞羞的网站 | 国产精品国产a | 91免费在线视频 | 久久成人免费观看 | 神马久久久久久久久久 | 精品久久久久一区二区国产 | 国产1区2区 | 成人在线观看免费视频 | 视频国产一区 | 国产精品久久久久久久久久久新郎 | 成人国产精品久久久 | 亚洲国产高清高潮精品美女 | 成人在线视频免费观看 | 国产一区二区三区久久 | 欧美成人精品激情在线观看 | 中文字幕免费视频 | 日韩国产一区二区三区 | 美女一级毛片 | 亚洲免费高清 | 日韩精品区 | 精品国产一区二区三区久久 | 999精品视频 |