freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

基于單片機的超聲波測距及溫度補償設計與實現(xiàn)(編輯修改稿)

2025-07-19 18:58 本頁面
 

【文章內容簡介】 言程序有利于實現(xiàn)較復雜的算法,匯編語言程序則具有較高的效率且容易精細計算程序運行的時間,而超聲波測距儀的程序既有較復雜的計算(計算距離時),又要求精細計算程序運行時間(超聲波測距時),本文控制程序采用C語言編程。主程序調用了5個主要的子程序,分別是LCD 顯示程序、按鍵掃描及處理程序、溫度采集程序、超聲波發(fā)送子程序、報警程序。LCD 顯示程序,用于溫度和距離等數(shù)據(jù)的實時顯示;按鍵掃描及處理程序,實現(xiàn)按鍵識別、按鍵輸入及相關處理;溫度采集程序負責把DS18B20所采集的現(xiàn)場溫度讀入到指定的數(shù)組中;超聲波發(fā)送子程序,使硬件電路產生40KHZ的方波,從而驅動超聲波發(fā)射端;報警程序,對當前距離與設定的報警距離進行比較,若低于設定值,則蜂鳴器開始報警。本次單片機溫控系統(tǒng)的功能是由硬件電路配合軟件來實現(xiàn)的,當硬件基本定型后,軟件的功能也就基本定下來了。系統(tǒng)軟件的功能又可分為兩大類:一是監(jiān)控軟件,它是整個控制系統(tǒng)的核心,專門用來協(xié)調各執(zhí)行模塊和操作者的關系。二是執(zhí)行軟件,它是用來完成各種實質性的功能如測量、顯示等功能。每一個執(zhí)行軟件也就是一個小的功能執(zhí)行模塊。本文將各執(zhí)行模塊一一列出,各執(zhí)行模塊規(guī)劃好后,就可以規(guī)劃監(jiān)控程序了。兩軟件分為部分,主程序和中斷服務程序,如下圖。主程序完成初始化工作、各路超聲波發(fā)射和接收順序的控制。定時中斷服務子程序完成超聲波的輪流發(fā)射,外部中斷服務子程序主要完成時間值的讀取、距離計算、結果的輸出等工作。 超聲波測距儀的算法設計主程序首先是對系統(tǒng)環(huán)境初始化,設置定時器T1工作模式為16位定時計數(shù)器模式。然后調用超聲波發(fā)生子程序送出一個超聲波脈沖,為了避免超聲波從發(fā)射器直接傳送到接收器引起的直射波觸發(fā), ms(這也就是超聲波測距儀會有一個最小可測距離的原因)后,才打開外中斷1接收返回的超聲波信號。 MHz的晶振,計數(shù)器每計一個數(shù)時間約為1μs,當主程序檢測到接收成功的標志位后,將計數(shù)器T1中的數(shù)(即超聲波來回所用的時間)按公式計算,即可得被測物體與測距儀之間的距離,設計測試時取20℃時的聲速為344 m/s則有:d=(ct)/2=172*T1/10000cm (其中,T1為計數(shù)器T1的計算值。)聲速c與溫度有關,如溫度變化不大,則可認為聲速是基本不變的。若測距精度要求很高,則應通過溫度補償?shù)姆椒右孕UB曀俅_定后,只要測得超聲波往返時間,即可求得距離。在系統(tǒng)加入溫度傳感器來監(jiān)測環(huán)境溫度,可進行溫度被償。這里用DS18B20測量環(huán)境溫度,根據(jù)不同的環(huán)境溫度確定一聲速提高測距的穩(wěn)定性。為了增強系統(tǒng)的可靠性,可在軟硬件上采用抗干擾措施。不同溫度下的超聲波聲速表:測出距離后結果將以十進制送往LCD1602顯示一段時間,然后再發(fā)超聲波脈沖重復測量過程。為了有利于程序結構化和容易計算出距離,主程序采用C語言編寫。主要子程序及主程序:void display(uint t_emp) //顯示距離{ uint q,b,s,g。 q=t_emp/1000。 b=(t_emp%1000)/100。 s=(t_emp%100)/10。 g=t_emp%10。 write_1602(0x80+0x40+9)。 write_1602dat(num[q])。 delay(5)。 write_1602dat(num[b])。 delay(5)。 write_1602dat(num[s])。 delay(5)。 write_1602dat(num[g])。 delay(5)。 write_1602dat(39。 39。)。 delay(5)。 write_1602dat(39。C39。)。 delay(5)。 write_1602dat(39。M39。)。}void alarm(void) //報警{ if(S=15) { beep=0。 delay(10)。 beep=1。 } else { beep=1。 } }void write_temp(uchar add,uchar dat)//溫度顯示子函數(shù),寫溫度數(shù)據(jù),指定顯示位置{ uchar gw,sw,xs。 sw=dat/100。 //取得十位數(shù)字 gw=(dat%100)/10。 //取得個位數(shù)字 xs=dat%10。 //取得小數(shù)點后一位 write_1602(0x80+0x40+add)。 write_1602dat(0x30+
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1