微控制器怎樣發出40kh超聲波訊號 ?

General 更新 2023年10月15日

微控制器怎樣發出40kh超聲波訊號

用51系列微控制器,設晶振的頻率為12MHz,從P1.0引腳輸出40KHz聲波

機器週期 =12/Fosc = 12/(12MHz) =1μs,

20KHz超聲波週期=1/40KHz=25ms, 半週期 =12.5ms

計數值 =12.5ms/1μs =12500

用微控制器定時器T0,工作方式1,16位計數暫存器,

計數初值 =2^16 -12500 =53036 =CF2Ch

;; T0初始化程式:

MOV TMOD, #00000001b ;; T0,定時模式,方式1

MOV TH0, #0CFh ;; 裝入初值高8位

MOV TL0, #2Ch ;; 裝入初值低8位

SETB ET0 ;; 允許T0中斷

SETB EA ;; MCU開中斷

SETB TR0 ;; 啟動T0

WAIT: SJMP WAIT ;; 等待T0中斷

;; TO中斷服務程式(每隔半週期,T0計數中斷一次):

CPL P1.0 ;; P1.0輸出電平反轉(高變低或低變高)

MOV TH0, #0CFh ;; 重灌初值高8位

MOV TL0, #2Ch ;; 重灌初值低8位

RETI ;; 中斷返回

這個51微控制器和超聲波模組怎麼連線呢?(有圖)

看到你的板子上右下角沒有,那裡有一個電源跟GND,跟超聲波相接就好

還有你這個是串列埠通訊的,你接P2口是模擬串列埠通訊嗎?

你好,請問怎麼把超聲模組和微控制器連線起來發射脈衝啊?

超聲模組一般採用UART介面,上面有RXD和TXD兩根引腳,還有一個TRIG啟發引腳。將RXD和TXD分別叮微控制器的串列埠相連,TRIG和一個普通I/O相連即可。驅動程式可以到網上下載。

用51微控制器做超聲波測距都需要什麼元件?

用51微控制器做超聲波測距需要什麼元件這裡有介紹blog.sina.com.cn/s/blog_68541adc0100qg9v.html 可以參考一下, 同時,這個部落格上有大量的超聲波測距方面的程式資料。

超聲波探頭怎麼連線微控制器 5分

微控制器產生訊號加到發射電路上,發射電路把微控制器飢生的訊號放大,加到換能器上。換能器接收到訊號,經過小訊號放大電路,進入微控制器。

微控制器:隨便解釋下超聲波時序圖。有圖的

單片機發出40 kHz 的方波訊號,經放大後通過超聲波發射器輸出;超聲波接收器將接收到的超聲波訊號經放大器放大,用鎖相環電路進行檢波處理後,啟動微控制器中斷程式,測得時間為t.

再通過軟體程式設計進行判別、計算,得出所測距離值

發射器發出的超聲波以速度v 在空氣中傳播,在到達被測物體時被反射返回,由接收器接收,其往返時間為t.由公式:測出的距離 L (m) = 常溫下的聲速340 (m/s)× 感應時間t (s) / 2,算出被測物體的距離。由於超聲波也是一種聲波,其聲速v 與溫度有關,如果溫度變化不大,則可認為聲速是基本不變的。如果測距準確度要求很高,則應通過溫度補償的方法加以修正。

引自:www.1000security.com/SAS/news/2012-05/75428.html

如何用微控制器接驅動電路驅動超聲波發射

理論上是隻要給頻率相當的電壓訊號,都是可以的。不過幅度越大,訊號強度也就越大。所以一弧都只是用微控制器來驅動MOS管或者三極體。

微控制器超聲波c語言求解!

sbit Trig = P1^0; //產生脈衝引腳sbit Echo = P3^2; //回波引腳 while(1) { //程式迴圈 EA=0; Trig=1; delay_20us(); Trig=0; //產生一個20us的脈衝,在Trig引腳 while(Echo==0); //等待Echo回波引腳變高電平!當Echo的值為0的時候,程式停在這裡,不再向下執行。(這裡改成while(!Echo);可以嗎?while(Echo==0);和while(!Echo);有什麼區別?)--可以。--兩者,沒有區別。 succeed_flag=0; //清測量成功標誌 EX0=1; //開啟外部中斷 (這裡進入開外部中斷不是馬上把定時器1的數值取出了嗎?定時器還沒有開啟數值不是零嗎?)--是有些早。--不過,也不要緊。因為,EA,還沒有開啟。TH1=0; //定時器1清零 TL1=0; //定時器1清零 TF1=0; //計數溢位標誌 (這裡為什麼要清零,每次迴圈定時器1不是清零了嗎?)--是的,這句,多餘了。……

我用單片機發射40KHZ的脈衝驅動超聲波頭產生超聲波,但是產生的超聲波居然能夠聽到聲音

因為不知道你的微控制器的指令週期為多少,對於時間的問題就不計算了。說說你可能出現的問題。不過究竟有沒有問題,最好還是用示波器來確定。

1、沒有看彙編程式碼,對於程式真正需要幾條指令,究竟用了多少時間並不瞭解,所以產生了問題。因為你只需要發射有限的幾次,建議不要用迴圈,不要呼叫子函式。直接用賦值語句給埠賦值,延時用NOP(可能是nop()或者_nop()什麼的,不記得了)。這樣能夠準確的執行。不然,那些條件判斷,跳轉等的指令會煩死你。

2、聲音的頻率是人耳能聽到的聲音的2倍頻率,但是如果聽到的是極其尖銳的聲音,可能是沒有問題的,探頭髮射的聲音不可能一個準確的頻率。中心頻率是你期望的,你的程式就沒有問題。

3、1樓給出的方式可以參考,但最好不要用那樣的賦值語句。自動重灌載是不錯的選擇。只不過,你的程式的思路要被打亂。而且會佔用一個定時器。

你好 請問一下你的超聲波發射電路怎麼弄的 基於51微控制器的 謝謝

具體想實現什麼功能呢?一般的只要用4個I/O口中某一位控制發射開關就行了,什麼情況開啟什麼情況關閉全由自己設定。

相關問題答案
宇揚星控制器怎麼樣?
微信文檔怎樣發郵件?
微控制器是什麼意思?
遊戲控制器怎麼設置?
電瓶車控制器怎麼接線?
微信內容怎樣發到郵箱?
太陽能控制器怎麼設置?
怎樣退出遠程控制電腦?
怎樣退出紅蜘蛛控制?
怎樣發表微信說說?

Have any Question?

Let us answer it!