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

正文內(nèi)容

溫度補償超聲波測距儀(編輯修改稿)

2025-06-23 23:02 本頁面
 

【文章內(nèi)容簡介】 (其中,T1為計數(shù)器T1的計算值。)圖32超聲波測距儀聲速c與溫度有關,如溫度變化不大,則可認為聲速是基本不變的。若測距精度要求很高,則應通過溫度補償?shù)姆椒右孕U?。聲速確定后,只要測得超聲波往返時間,即可求得距離。在系統(tǒng)加入溫度傳感器來監(jiān)測環(huán)境溫度,可進行溫度被償。這里用DS18B20測量環(huán)境溫度,根據(jù)不同的環(huán)境溫度確定一聲速提高測距的穩(wěn)定性。為了增強系統(tǒng)的可靠性,可在軟硬件上采用抗干擾措施。不同溫度下的超聲波聲速表:圖33超聲波聲速表測出距離后結果將以十進制送往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 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+sw)。 //數(shù)字+30得到該數(shù)字的LCD1602顯示碼 write_1602dat(0x30+gw)。 //數(shù)字+30得到該數(shù)字的LCD1602顯示碼 write_1602dat(39。.39。)。 write_1602dat(0x30+xs)。 write_1602dat(0xdf)。 //顯示溫度的小圓圈符號 write_1602dat(0x43)。 //顯示C符號 }void ultrasound(void) //超聲波子程序{ ek=1。 S=0。 time=0。 beep=1。 lcd_init()。 write_1602(0x01)。 delay(1)。 write_1602(0x80)。 write_1602dat(39。D39。)。 delay(1)。 write_1602dat(39。i39。)。 delay(1)。 write_1602dat(39。s39。)。 delay(1)。 write_1602dat(39。t39。)。 delay(1)。 write_1602dat(39。a39。)。 delay(1)。 write_1602dat(39。n39。)。 delay(1)。 write_1602dat(39。c39。)。 delay(1)。 write_1602dat(39。e39。)。 delay(1)。 write_1602dat(39。:39。)。 delay(1)。 tx=1。 rx=1。 TMOD=0x10。 IT1=0。 while(1) { S=0。 distemp()。 delay(500)。 tran()。 delay(10)。 ek=0。 if(key3==0) { delay10ms()。 if(key3==0) { break。 } } ek=1。 }}void main() //主函數(shù){ count3=0。 lcd_init()。 lcd=0。 logo()。 while(1) { key()。 }} 超聲波發(fā)生子程序和接收中斷程序 ,使硬件電路發(fā)送1個超聲波脈沖信號(頻率約40kHz的方波),同時把計數(shù)器T1打開進行計時。超聲波測距儀主程序利用外中斷1檢測返回超聲波信號,一旦接收到返回超聲波信號(即INT1引腳出現(xiàn)低電平),立即進入中斷程序。進入中斷后就立即關閉計時器T1停止計時,關閉總中斷EA,提取定時器數(shù)值,同時根據(jù)溫度傳感器的數(shù)值對聲速修正,然后計算數(shù)據(jù)輸出到LCD1602,同時點亮綠色發(fā)光二極管表示測距成功。如果當定時器溢出時還未檢測到超聲波返回信號,則定時器T1溢出中斷將外中斷1關閉,并點亮紅色發(fā)光二極管表示此次測距不成功。測距電路的Ultrasound Out端接單片機INT1端口,中斷優(yōu)先級最高。部分源程序如下:void tran(void) //超聲波發(fā)送子程序{ EX1=0。 ET1=0。 EA=0。 TH1=0。 TL1=0。tx=0。 TR1=1。 nop。tx=1。 nop。 EA=1。 EX1=1。 ET1=1。 }void timer1(void) interrupt 3 //定時器1 計算時間及判斷測距是否成功{ EA=0。 TH1=0。 TL1=0。 ET1=0。 TR1=0。 ledr=1。 delay02s()。 delay02s()。 ledr=0。 }void INT1_(void) interrupt 2 //外部中斷1,用做判斷回波電平 { TR1=0。 EX1=0。 EA=0。
點擊復制文檔內(nèi)容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1