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

正文內(nèi)容

基于單片機的超聲波測距儀本科生畢業(yè)論文(文件)

2025-07-30 16:28 上一頁面

下一頁面
 

【正文】 國內(nèi)外研究現(xiàn)狀: 近幾年來,國內(nèi)研究人員在新型超聲波換能器研發(fā)、超聲波回波信號處理以及超聲波脈沖發(fā)射的選取等方面做了大量分析、研究工作,并依據(jù)研究中遇到的問題提出溫度補償、接收回路串入自動增益調(diào)節(jié)等解決方案。通過采用新技術(shù)使得超聲波測距的精度和距離有了很大聊城大學(xué)東昌學(xué)院本科畢業(yè)論文(設(shè)計) 2 提高。 總體方案設(shè)計: 本次設(shè)計包含硬件系統(tǒng)和軟件系統(tǒng),軟件系統(tǒng)包括各種程序;硬件系統(tǒng)主要包括 STC89C52 單片機、 輸入 /輸出設(shè)備、外圍應(yīng)用電路等 。單片機系統(tǒng)的設(shè)計,包括總體設(shè)計、硬件設(shè)計、軟件設(shè)計等幾個階段。 聊城大學(xué)東昌學(xué)院本科畢業(yè)論文(設(shè)計) 3 圖 1 系統(tǒng)方框圖 總體方案可行性: 理論基礎(chǔ) 在物理學(xué)中,我們已知振動頻率高于 20khz 或低于 20hz 時,這樣的聲波不易被我們察覺。 現(xiàn)實基礎(chǔ) 近幾年來,隨著導(dǎo)航系統(tǒng)、移動式機器人、機械加工制造自動化等方面的需求,自動測距系統(tǒng)日漸被人們所重視。對于水文觀測有較為獨特的優(yōu)勢。 鑒于以上優(yōu)勢,對于總體方案的實現(xiàn)奠定了現(xiàn)實基礎(chǔ)。本 電路 將用到 3 個按鍵 :其一是設(shè)定鍵; 其二是加鍵;其三是減鍵 。其工作原理 【 8】 :采用 IO 口 TRIG 觸發(fā)測距,給大于 10us 的高電平信號;該模塊將自動發(fā)送 8 個 40000hz 的方波,并自動檢測信號有無折返;若有信號折返,記錄 HCSR04 的 IO 口 ECHO 輸出的高電平信號持續(xù)時間, 利用公式(所測距離 =高電平信號持 續(xù)時間 *當(dāng)?shù)芈曀?/2)即可將探測的物體距離計算出來。晶片可以 采用 多種 材料構(gòu)成 。 ( 2)工作溫度 :在使用中, 一般壓電材料的 居里點 比較高, 尤其是在 診斷用的 超聲波探頭 中,因為 使用功率較小,所以工作溫度 也 比較低, 從而 可以長時間地工作而不 會 失效。 如果有 電壓作用 在 壓電陶瓷 上 ,壓電陶瓷 將 隨電壓和頻率的變化 而發(fā)生 機械變形。 根據(jù)以上原理 , 即可將 壓電陶瓷用作超聲波傳感器。壓電陶瓷的聲阻抗為 107kg/m2s ,而空氣的聲阻抗為 102kg/m2s 。 市場上開放型超聲波傳感器較為常見 ,它的內(nèi)部結(jié)構(gòu)如圖 5所示, 復(fù) 合式振動器被固定在底座。此外,當(dāng)壓電陶瓷受振動時,將產(chǎn)生一個電荷。 圖 5 超聲波內(nèi)部結(jié)構(gòu) 測距原理 計時器與超聲波發(fā)射器射出超聲波同時 開始計時, 發(fā)射的 超聲波在空氣中傳播, 若遇到 障礙物就 會立刻折 返, 當(dāng)被 超聲波接收器收到 ,計時器 立即停止。一般近似計算中,速度值采用 340m/s。 t— 超聲波往返所需的時間 . 將( 3— 2)、( 3— 3)代入( 31)中得: ]c o s [21 HLarctgvtH ? ( 34) 聊城大學(xué)東昌學(xué)院本科畢業(yè)論文(設(shè)計) 9 已知在一定的溫度下,超聲波的傳播速度 v是一個常數(shù) (如以海平面為參考平面,溫度 T=30 度時 ,V=349m/s)。 當(dāng) 采用外部時鐘源驅(qū)動器件 時 , XTAL2 應(yīng)不接。 STC89C52在時鐘電路工作之后 ,要完成復(fù)位操作,需在 RESET 端持續(xù)給出 2 個機器周期的高電平信號。 : 用于顯示輸出,控制 LED 段碼顯示。 : 用于顯示輸出,控制 LED 段碼顯示。 :用于顯示輸出,控制 LED 位碼。 INT0: 產(chǎn)生中斷請求,接超聲波接收電路。焊接時,注意焊接速度盡量快,以避免電烙鐵氧化形成黑色的氧化物。一、是否有虛焊;二、是否漏焊;三、是否焊接連接錯誤。 隨著科學(xué)現(xiàn)代化的發(fā)展,人們對于安全有了更高的追求,基于科學(xué)技術(shù)的快速發(fā)展 ,測距儀報警系統(tǒng)將會有更為廣闊的應(yīng)用前景 。感恩之余,誠懇地希望各位老師對我的論文多加批評指正,使我及時完善論文的不足之處。 uchar dis_smg[8] ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8}。 sbit smg_we4 = P3^7。 //蜂鳴器 IO 口定義 uchar smg_i = 3。 //距離 uchar flag_csb_juli。 define RdCommand 0x01 //定義 ISP 的操作命令 define PrgCommand 0x02 define EraseCommand 0x03 define Error 1 define Ok 0 define WaitTime 0x01 //定義 CPU 的等待時間 sfr ISP_DATA=0xe2。 sfr ISP_TRIG=0xe6。 0x18。 0x7f。 /* 打開 ISP,IAP 功能 */ ISP_TRIG = 0x46。 ISP_ADDRH = (unsigned char)(byte_addr 8)。 0xf8。 /* 關(guān)閉 ISP,IAP 功能 */ EA = 1。 0xfe00)。 0xf8。 /* 關(guān)閉 ISP,IAP 功能 */ } /* ==================== 字節(jié)寫 ======================== */ void byte_write(unsigned int byte_addr, unsigned char original_data) { EA = 0。 0x00ff)。 /* 寫命令 2 */ ISP_DATA = original_data。 } /***********************1ms 延時函數(shù) *****************************/ void delay_1ms(uint q) { uint i,j。j120。 dis_smg[2] = smg_du[distance / 100 % 10] amp。 byte_write(0x20xx, set_d / 256)。 set_d |= byte_read(0x20xx)。 a_a = 1。 key_can = 20。 //按鍵消抖動 if(((P2 amp。 switch(P2 amp。 break。 } /****************按鍵處理顯示函數(shù) ***************/ void key_with() { if(key_can == 1) //設(shè)置鍵 { menu_1 ++。 //加 1 if(set_d 400) set_d = 400。 //取小數(shù)顯示 dis_smg[1] = smg_du[set_d / 10 % 10] 。 //a write_eeprom()。 //蜂鳴器報警 } } else { value = 0。 smg_we3 = 1。 smg_we2 = 0。 case 2: smg_we1 = 1。 break。 smg_we4 = 0。 if(i = smg_i) i = 0。 //10us 的高電平觸發(fā) delay()。 聊城大學(xué)東昌學(xué)院本科畢業(yè)論文(設(shè)計) 26 TR0 = 0。 if((flag_time0 40000)) //當(dāng)超聲波超過測量范圍時,顯示 3 個 888 { TR0 = 0。 } else { flag_csb_juli = 1。 // = 340M / 2 = 170M = 算出來是米 if((distance 500)) //距離 = 速度 * 時間 { distance = 888。 //關(guān)定時器 0 中斷 TR0 = 1。 //開機叫一聲 delay_1ms(150)。//處理距離顯示函數(shù) time_init()。 //測距離函數(shù) while(1) { if(flag_300ms == 1) { flag_300ms = 0。 //處理距離顯示函數(shù) } key()。 TL1 = 0x30。 flag_300ms = 1。 //數(shù)碼管顯示函數(shù) value++。 //按鍵處理函數(shù) } } } /*********************定時器 1 中斷服務(wù)程序 ************************/ void time1_int() interrupt 3 { static uchar value。 //報警函數(shù) if(beep == 1) send_wave()。 //開始初始化保存的數(shù)據(jù) send_wave()。 //初始化單片機 IO 口為高電平 send_wave()。 //開定時器 1 中斷 TR1 = 1。 //開總中斷 TMOD = 0X11。 //關(guān)定時器 0 定時 distance =flag_time0。 distance = 888。 //當(dāng) c_recive 為零時等待 TR0=1。 TH0 = 0。 //位選 P1 = dis_smg[i]。 } } /***********************數(shù)碼顯示函數(shù) *****************************/ void display() { static uchar i。 smg_we2 = 1。 smg_we3 = 0。 smg_we4 = 1。 break。 //取消報警 } } /***********************數(shù)碼位選函數(shù) *****************************/ void smg_we_switch(uchar i) { switch(i) { case 0: smg_we1 = 0。 if(distance = set_d) { 聊城大學(xué)東昌學(xué)院本科畢業(yè)論文(設(shè)計) 25 value ++。 0x7f 。 //減 1 if(set_d = 1) set_d = 1。 smg_i = 2。 break。 break。amp。 if((P2 amp。 //保存數(shù)據(jù) } } /********************獨立按鍵程序 *****************/ uchar key_can。 } /**************開機自檢 eeprom 初始化 *****************/ void init_eeprom() { read_eeprom()。 } 聊城大學(xué)東昌學(xué)院本科畢業(yè)論文(設(shè)計) 23 /******************把數(shù)據(jù)從單片機內(nèi)部 eeprom 中讀出來 *****************/ void read_eeprom() { set_d = byte_read(0x20xx)。 } /******************把數(shù)據(jù)保存到單片機內(nèi)部 eeprom 中 ******************/ void write_eeprom() { SectorErase(0x20xx)。 } /***********************處理距離函數(shù) ****************************/ void smg_display(
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1