chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

51單片機(jī)應(yīng)用_超聲波&定時器

天才小貍花 ? 2022-10-07 18:06 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

通過利用超聲波在空氣中的傳播速度為已知,測量聲波在發(fā)射后遇到障礙物反射回來的時間,根據(jù)發(fā)射和接收的時間差計算出發(fā)射點(diǎn)到障礙物的實(shí)際距離。

HC-SR04模塊

**HC-SR04超聲波模塊常用于機(jī)器人避障、物體測距、液位檢測、公共安防、停車場檢測等場所。HC-SR04超聲波模塊主要是由兩個通用的壓電陶瓷超聲傳感器,并加外圍信號處理電路構(gòu)成的。

參數(shù):

Operating Voltage Dc5V
Operating Current 15ma
Operating Frequency 40KHz
Max Range 4m
Min Range 2cm
Ranging Accuracy 3mm
Measuring Angle 15°
Trigger Input Signal 10μS TTL脈沖
Dimension 45 x 20 x 15

控制流程

  1. 通過Trig引腳發(fā)一個 10US 以上的高電平,模塊自動發(fā)送 8 個 40khz 的方波,自動檢測是否有信號返回;
  2. 有信號返回時,Echo有高電平輸出,高電平時間即是超聲波往返時間。
  3. 測試距離 = (高電平時間 *聲速)/2

在這里插入圖片描述

通過單片機(jī)的定時器獲得計時功能來獲得檢測距離,開啟定時器后TH和TL寄存器數(shù)值會自動增加。直到關(guān)閉定時器,再讀出其中的數(shù)值即可計算距離。

/*開始計時*/
     while (!ECHO);//當(dāng)ECHO為高電平的時候,跳出循環(huán),并開始記錄時間
     TR0 = 1;//啟動定時器0,開啟計時
     while (ECHO);//ECHO不為0,即脈沖返回結(jié)束,計時結(jié)束
     TR0 = 0;//停止計時,此時的ECHO的高電平時間就是     超聲波發(fā)出到重新返回接收所用的時間

代碼

#ifndef _HC_SR04_H_
 #define _HC_SR04_H_
 #include //提供_nop_();/*供HC-SR04提供啟動時間*/
 ?
 /*位定義*/
 sbit TRIG = P1 ^ 0;
 sbit ECHO = P1 ^ 1;
 ?
 /*全局變量定義,超出距離標(biāo)志位為1,不超出為0*/
 bit HC_SR04_flag;
 ?
 /*函數(shù)聲明*/
 void HC_SR04_Init(void);//初始化T0定時器,用于HC_SR04
 ?
 unsigned int HC_SR04(void);//返回距離
 ?
 #endif
#include "HC_SR04.h"
 ?
 /*******************************************************************************
 ** 函數(shù)名稱: HC_SR04_Init
 ** 功能描述: 初始化定時器0,用以記錄從發(fā)射到返回的時間Time
 ** 參數(shù)說明: void
 ** 返回說明: void
 ** 創(chuàng)建人員: Main
 ** 創(chuàng)建日期: 2020-06-01
 **------------------------------------------------------------------------------
 ** 修改人員:
 ** 修改日期:
 ** 修改描述:
 **------------------------------------------------------------------------------
 ********************************************************************************/
 void HC_SR04_Init(void)
 {
     TMOD |= 0x01;
 ?
     TH0 = 0;
     TL0 = 0;
     ET0 = 1;             //允許T0中斷,可關(guān)閉,只有特別大的才開
     EA = 1;
 ?
     TRIG = 0;           //先使啟動端置低,等待高電平啟動
 }
 ?
 ?
 /*******************************************************************************
 ** 函數(shù)名稱: HC_SR04
 ** 功能描述: 返回測量距離
 ** 參數(shù)說明: void
 ** 返回說明: 測量距離,單位(cm)
 ** 創(chuàng)建人員: Main
 ** 創(chuàng)建日期: 2020-12-22
 **------------------------------------------------------------------------------
 ** 修改人員: Main
 ** 修改日期: 
 ** 修改描述: 
 **------------------------------------------------------------------------------
 ********************************************************************************/
 unsigned int HC_SR04(void)
 {
     unsigned int distance;//用于記錄測得的距離
     unsigned int time;//用于記錄超聲波發(fā)出到重新返回接收所用的時間
 ?
     /*啟動HC_SR04*/
     TRIG = 1;//升高電平,打開觸發(fā)信號
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     TRIG = 0;
 ?
     /*開始計時*/
     while (!ECHO);//當(dāng)ECHO為高電平的時候,跳出循環(huán),并開始記錄時間,當(dāng)為低電平時卡住不動
 ?
     TR0 = 1;//啟動定時器0,開啟計時
     while (ECHO);//ECHO不為0,即脈沖返回結(jié)束,計時結(jié)束
     TR0 = 0;//停止計時,此時的ECHO的高電平時間就是     超聲波發(fā)出到重新返回接收所用的時間
 ?
     /*計算時間及距離*/
     time = (TH0 * 256 + TL0) * 1.29;        //可改變此數(shù)據(jù)來提高精確度
     distance = (time * 0.034) / 2;          //單位是cm,0.34是mm
 ?
 ?
     TH0 = 0;                                //清零,進(jìn)行下一次測距
     TL0 = 0;
 ?
     //返回距離
     return distance;
 }
 ?
 /*******************************************************************************
 ** 函數(shù)名稱: T0_Time_Sr04
 ** 功能描述: 超出測量距離的異常
 ** 參數(shù)說明: None
 ** 返回說明: void
 ** 創(chuàng)建人員: Main
 ** 創(chuàng)建日期: 
 **------------------------------------------------------------------------------
 ** 修改人員:
 ** 修改日期:
 ** 修改描述:
 **------------------------------------------------------------------------------
 ********************************************************************************/
 void T0_Time_Sr04() interrupt 1
 {
     HC_SR04_flag = 1;
     //TI=1;
     //printf("超出距離");
     //TI=0;
 }
 ?
 ?
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6067

    文章

    44973

    瀏覽量

    649843
  • 超聲波
    +關(guān)注

    關(guān)注

    63

    文章

    3137

    瀏覽量

    141205
  • 51單片機(jī)
    +關(guān)注

    關(guān)注

    277

    文章

    5710

    瀏覽量

    127237
  • 定時器
    +關(guān)注

    關(guān)注

    23

    文章

    3298

    瀏覽量

    118727
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    單片機(jī)&超聲波探傷儀

    有能和32單片機(jī)連接的超聲波探傷傳感的具體模塊嗎?這種傳感能夠測高壓線內(nèi)部的缺陷。要是沒有,自己做一個得話,如何實(shí)現(xiàn)?
    發(fā)表于 10-10 09:31

    基于51單片機(jī)超聲波測距系統(tǒng)

    AT89C2051。采用12MHz高精度的晶振,以獲得較穩(wěn)定時鐘頻率,減小測量誤差。單片機(jī)用P3.5端口輸出超聲波換能器所需的40kHz的方波信號,P3.6端口監(jiān)測超聲波接收電路輸出的
    發(fā)表于 03-25 10:21

    基于SLH89F5162的單片機(jī)超聲波測距設(shè)計

    方案標(biāo)題:基于SLH89F5162的單片機(jī)超聲波測距設(shè)計方案概述:本設(shè)計旨在設(shè)計一種一種基于單片機(jī)實(shí)時語音播報,帶有LED數(shù)碼顯示功能的脈沖反射式
    發(fā)表于 10-18 14:16

    超聲波單片機(jī)超聲波單片機(jī)超聲波單片機(jī)超聲波單片機(jī)超聲波單片機(jī)超聲波

    單片機(jī)超聲波單片機(jī)超聲波單片機(jī)超聲波單片機(jī)
    發(fā)表于 04-14 23:51

    51單片機(jī)超聲波控制舵機(jī)轉(zhuǎn)向的創(chuàng)意制作資料

    51單片機(jī)&超聲波控制舵機(jī)轉(zhuǎn)向的創(chuàng)意制作,內(nèi)容附實(shí)驗(yàn)圖以及實(shí)用的材料清單
    發(fā)表于 09-26 07:04

    51單片機(jī)計數(shù)定時器的區(qū)別

    電子專業(yè)單片機(jī)相關(guān)知識學(xué)習(xí)教材資料——51單片機(jī)計數(shù)
    發(fā)表于 05-12 10:31 ?0次下載

    51單片機(jī)超聲波測距仿真與分析

    51單片機(jī)超聲波測距仿真與分析
    發(fā)表于 09-04 08:49 ?30次下載

    51單片機(jī)驅(qū)動超聲波測距模塊

    51單片機(jī)驅(qū)動超聲波測距模塊(單片機(jī)最小系統(tǒng))-使用51單片機(jī)驅(qū)動
    發(fā)表于 07-22 10:01 ?61次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>驅(qū)動<b class='flag-5'>超聲波</b>測距模塊

    51單片機(jī)超聲波測距(數(shù)碼管顯示)

    51單片機(jī)超聲波測距(數(shù)碼管顯示)程序/* 超聲波模塊的TRIG管腳接在單片機(jī)的P20口,ECHO管腳接在
    發(fā)表于 11-12 15:06 ?7次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b><b class='flag-5'>超聲波</b>測距(數(shù)碼管顯示)

    51單片機(jī)定時器應(yīng)用】定時器計數(shù)、定時器中斷函數(shù)、while(1)三者之間是如何協(xié)調(diào)、工作?

    51單片機(jī)程序,使用定時器時,定時器計數(shù)、定時器中斷函數(shù)、while(1)循環(huán)三者之間如何協(xié)調(diào)好整個流程?【
    發(fā)表于 11-20 18:51 ?12次下載
    【<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>—<b class='flag-5'>定時器</b>應(yīng)用】<b class='flag-5'>定時器</b>計數(shù)、<b class='flag-5'>定時器</b>中斷函數(shù)、while(1)三者之間是如何協(xié)調(diào)、工作?

    51單片機(jī)定時器、串口、中斷

    文章目錄MCS-51功能單元一、定時器&amp;amp;計數(shù)二、并行口&amp;
    發(fā)表于 11-21 10:36 ?12次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b><b class='flag-5'>定時器</b>、串口、中斷

    51單片機(jī)定時器及其應(yīng)用(3)(測量脈沖頻率)

    51單片機(jī)定時器及其應(yīng)用(3)(測量脈沖頻率)&amp;nbsp;&amp;nbsp;&amp;
    發(fā)表于 11-23 16:20 ?7次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b><b class='flag-5'>定時器</b>及其應(yīng)用(3)(測量脈沖頻率)

    求助51單片機(jī)超聲波測距

    **自己暑假搞了搞單片機(jī),但是被困在了oled不顯示我測的實(shí)時數(shù)據(jù),求幫忙**(stc89c52rc芯片,hc-sr04超聲波測距模塊)代碼如下:`#include &amp;lt
    發(fā)表于 11-23 18:21 ?0次下載
    求助<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b><b class='flag-5'>超聲波</b>測距

    單片機(jī)高級系列丨超聲波測距(LCD1602顯示)

    單片機(jī)高級系列丨超聲波測距(LCD1602顯示)主程序#include&amp;lt;reg51.h&;gt;#include&amp
    發(fā)表于 11-26 14:36 ?12次下載
    <b class='flag-5'>單片機(jī)</b>高級系列丨<b class='flag-5'>超聲波</b>測距(LCD1602顯示)

    單片機(jī)高級系列丨超聲波測距(數(shù)碼管顯示)

    單片機(jī)高級系列丨超聲波測距(數(shù)碼管顯示)超聲波模塊的TRIG管腳接在單片機(jī)的P20口,ECHO管腳接在單片機(jī)的P21口 其他的電源管腳接在
    發(fā)表于 11-26 14:51 ?24次下載
    <b class='flag-5'>單片機(jī)</b>高級系列丨<b class='flag-5'>超聲波</b>測距(數(shù)碼管顯示)