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

正文內(nèi)容

畢業(yè)設(shè)計-基于at89s52單片機的聲波測距儀設(shè)計(編輯修改稿)

2025-07-11 01:41 本頁面
 

【文章內(nèi)容簡介】 begin2_display()。 for(c=0。c6。c++)delay(50000)。 result_display()。 init24c02()。 for(c=0。c10。c++)m[c]=read_add(c)。 i=m[0]。 display_s(m[i])。 display_m(i)。 while(1) { if(key(up)) //上翻數(shù)據(jù) { i=i+1。 if(i==10)i=1。 display_s(m[i])。 display_m(i)。 write_add(0,i)。 } if(key(down)) //下翻數(shù)據(jù) { 河南工程學(xué)院畢業(yè)設(shè)計 10 i=i1。 if(i==0)i=9。 display_s(m[i])。 display_m(i)。 write_add(0,i)。 } if(key(exam)) ///測試距離 { text()。 if(s0amp。amp。s=200) { m[i]=s。 write_add(i,s)。 display_s(m[i])。 } else { write(0x80+0x40+7,0)。 write(0x45,1)。 write(0x72,1)。 write(0x72,1)。 } t++。 if(t==1000)t=0。 text_time_display(t)。////顯示測試次數(shù) } } } 二、測距電路及程序 河南工程學(xué)院畢業(yè)設(shè)計 11 本系統(tǒng)的超聲波發(fā)射和接收電路采用 HCSR04 系列超聲波測距模塊,此模塊的特點是可提供 2cm400cm 的非接觸式距離感測功能,測距精度可高達 3mm。模塊包括超聲波發(fā)射器、接收器與控制電路。 HCSR04 系列超聲波測距模塊基本工作原理: ( 1)采用 IO 口 Trig 觸發(fā)測距,給至少 10us 的高電平信號; ( 2)模塊自動發(fā)送 8 個 40KHz 的方波,自動檢測是否有信號返回; ( 3)有信號返回,通過 IO 口 ECHO 輸出一個高電平,高電平持續(xù)的時間就 是超聲波發(fā)射到返回的時間。測試距離 =(高電平時間 *聲速) /2 ; 實物如下圖所示 。 圖 35 模塊實物照片 HCSR04 系列超聲波測距模塊電氣參數(shù)如表 31所示 。 表 31 超聲波測距模塊電氣參數(shù) 電氣參數(shù) HCSR04 超聲波模塊 工作電壓 DC 5V 工作電流 15mA 工作頻率 40HZ 最遠射程 4m 最近射程 2cm 測量角度 15 度 輸入觸發(fā)信號 10us 的 TTL脈沖 河南工程學(xué)院畢業(yè)設(shè)計 12 輸出回響信號 輸出 TTL 電平信號,與射程成正比 規(guī)格尺寸 45*20*15mm HCSR04 超聲波測距模塊超聲波時序圖如 圖 36所示 。 圖 36 超聲波測距模塊超聲波時序圖 以上時序圖表明你只需要提供一個 10us 以上脈沖觸發(fā)信號,該模塊內(nèi)部將發(fā)出 8 個40Khz 周期電平并檢測回波。一旦檢測到有回波信號則輸出回波信號?;仨懶盘柕拿}沖寬帶與所測的距離成正比。由此通過發(fā)射信號到收到的回響信號的時間間隔可以計算得到距離。距離 =高電平時間 *聲 速 /2;建議測量周期為 60ms 以上,以防止發(fā)射信號對回響信號的影響。 注意事項:測距時,被測物體的面積不少于 平方米且盡量要求平整,否則影響測量結(jié)果。 HCSR04 超聲波測距模塊與單片機的接口電路如圖 37 所示。 河南工程學(xué)院畢業(yè)設(shè)計 13 圖 37 測距模塊與單片機的接口電路 測距程序 ////////////////////////////////測距函數(shù) /////////////////////////// void text()//////測距函數(shù) { Trig=0。 TMOD=0x09。///定時器 16位,外部中斷觸發(fā) TR0=1。 //開定時器 TH0=TL0=0。 Trig=1。 ////控制模塊發(fā)射超聲波的 10us 脈沖 delay(15)。 Trig=0。 while(Echo==0)。 while(Echo==1)。////檢測 Echo 為低電平時定時器停止工作 delay(10)。 s=(TH0*256+TL0)*。////測試數(shù)據(jù)的處理 TR0=0。 } ////////////////////////////////////////////////////// //////////////////////////////////////////////////// 三、顯示電路及程序 系統(tǒng)的顯示部分采用 LCD1602 做為顯示器件,顯示器件內(nèi)部有自己的處理器 河南工程學(xué)院畢業(yè)設(shè)計 14 ( HD44780),只需要單片機按照一定的規(guī)則送相應(yīng)的數(shù)字,顯示器件就會顯示。這樣就不像數(shù)碼管那樣還得不停的掃描,可以大大的提高單片機的利用率。并且 1602 可以顯示更多的字符,可以更加直觀的讓用戶了解系統(tǒng)的相關(guān)參數(shù),方便于用戶的操作。 系統(tǒng)運行時 LCD1602 顯示的內(nèi)容: 第一行 顯示 “ Text time: ———— ”(測距次數(shù)) 第二行 顯示 “ Result: ——— cm”(測距的結(jié)果)“ M— ”(存儲單元編號) LCD1602( HD44780)與單片機的接口電路圖如圖 38 所示。 圖 38 LCD1602 與單片機的接口電路圖 LCD1602( HD44780)的引腳說明及具體時序操作可以參考其 datesheet。 顯示程序 如下 。 //////////////////////////////1602 顯示函數(shù) /////////////////////// void busy()/////1602 忙信號檢測 河南工程學(xué)院畢業(yè)設(shè)計 15 { do { RS=0。 RW=1。 E=1。 } while(BF==1)。 E=0。 delay(100)。 } void write(char a,b)///////1602 寫數(shù)據(jù)程序, a 是待寫入的數(shù)據(jù), { ///////b 代表待寫入的數(shù)據(jù)類型是數(shù)據(jù)或指令 busy()。 RS=b。 RW=0。 E=1。 P0=a。 E=0。 } void init1602() ////////1602 初始化程序 { write(0x38,0)。 write(0x0c,0)。 write(0x06,0)。 write(0x01,0)。 } void begin1_display()////開機顯示 ZXG’ s graduation project 5/2021 河南工程學(xué)院畢業(yè)設(shè)計 16 { init1602()。 write(0x80,0)。 for(c=0。c16。c++)write(begin1[c],1)。 write(0x80+0x40,0)。 for(c=0。c16。c++)write(begin1[c+16],1)。 } void begin2_display()////開機顯示 Tel:13312912925 @: { write(0x80,0)。 for(c=0。c16。c++)write(begin2[c],1)。 write(0x80+0x40,0)。 for(c=0。c16。c++)write(begin2[c+16],1)。 } void text_time_display(uint a) //////測試次數(shù)顯示函數(shù) { write(0x80+10,0)。 write(0x30+(a/100),1)。 write(0x30+(a%100/10),1)。 write(0x30+(a%10),1)。 } void result_display() ///////顯示 Result: cm { write(0x80,0)。 for(c=0。c16。c++)write(result[c],1)。 write(0x80+0x40,0)。 for(c=0。c16。c++)write(result[c+16],1)。 } 河南工程學(xué)院畢業(yè)設(shè)計 17 void display_s(uchar s)/////顯示測試結(jié)果 { write(0x80+0x40+7,0)。 write(0x30+s/100,1)。 write(0x30+s%100/10,1)。 write(0x30+s%10,1)。 } void display_m(uchar m)//////顯示儲存單元的序號 { write(0x80+0x40+14,0)。 write(0x4d,1)。 write(0x30+m,1)。 } /////////////////////////////////////////////////////////////////////////// 四、數(shù)據(jù)存儲電路及程序 系統(tǒng)提供 M1M9總共 9個數(shù)據(jù)保存, key2 鍵是上翻 M1M9, key3 鍵是下翻 M1M9, key1鍵是測距鍵,每當(dāng)按下 key1 鍵,系統(tǒng)測距一次,測距后的數(shù)據(jù)保存在當(dāng)前液晶顯示的 M單元(上下鍵選擇)中,系統(tǒng)可以顯示用戶開機后總共的測距次數(shù),本系統(tǒng)還提供了開機或復(fù)位后,系統(tǒng)自動的跳轉(zhuǎn)到關(guān)機前狀態(tài)。提供數(shù)據(jù)存儲的就是 AT24C02,該芯片內(nèi)部有256*8 的 E2prom 且芯片的數(shù)據(jù)傳輸采用了 II2C 總線。 I2C 總線是 PHLIPS 公司推出的一種串行總線,是具備多主機系統(tǒng)所需 的包括總線裁決和高低速器件同步功能的高性能串行總線。 I2C 總線只有兩根雙向信號線。一根是數(shù)據(jù)線 SDA,另一根是時鐘線 SCL。 I2C 總線通過上拉電阻接正電源。當(dāng)總線空閑時,兩根線均為高電平。連到總線上的任一器件輸出的低電平,都將使總線的信號變低,即各器件的SDA 及 SCL 都是線“與”關(guān)系。每個接到 I2C 總線上的器件都有唯一的地址。主機與其它器件間的數(shù)據(jù)傳送可以是由主機發(fā)送數(shù)據(jù)到其它器件,這時主機即為發(fā)送器。由總線上接收數(shù)據(jù)的器
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1