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

正文內(nèi)容

基于51單片機的超聲波測距系統(tǒng)設(shè)計(編輯修改稿)

2024-11-28 08:24 本頁面
 

【文章內(nèi)容簡介】 容易知道,當(dāng)連接的線數(shù)越多,節(jié)省的 IO口效率就越明顯。不過矩陣鍵盤的識別原理比一般的獨立按鍵識別原理要復(fù)雜一些,最常用的識別方法就是“高低電平翻轉(zhuǎn)法”。以 4*4矩陣鍵盤為例,當(dāng)列線通過上拉電阻接電源正極,并將行線接到單片機的 IO口上,而列線所接的 IO 口作為輸入。這樣,當(dāng)按鍵在斷開狀態(tài)下,它們的輸入端都呈現(xiàn)為 1,代表沒有按鍵按下去。此時行線輸出的是 0,當(dāng)檢測到有按鍵按下,則輸入線就會被拉低而置為 0,這樣,通過檢測下 輸入線的狀態(tài)就可判斷是否有鍵被按下 [8]。矩陣鍵盤具體電路圖如圖 210 所示。 湖南人文科技學(xué)院畢業(yè)設(shè)計 12 圖 210 矩陣鍵盤原理圖 湖南人文科技學(xué)院畢業(yè)設(shè)計 13 蜂鳴器報警模塊 本測距系統(tǒng)帶有超出手動設(shè)置量程報警的功能,報警裝置采用壓電式蜂鳴器發(fā)聲來報警。蜂鳴器是目前使用較多的一種小型發(fā)聲類器件。通常 采用直流電源供電,廣泛被用在小型嵌入 式裝置,聲控系統(tǒng),實驗開發(fā)箱,報警裝置,打印裝置中。蜂鳴器按照其工作方式來分類可分為壓電式蜂鳴器和電磁式蜂鳴器 [9 ]。壓電式蜂鳴器主要由壓電發(fā)聲片、阻抗匹配電路及共鳴器、 多諧振蕩器 、塑料外殼等組成。多諧振蕩器由三極管或者 CMOS 管組成,也可由專門 IC 組成。當(dāng)接通 電源 后 ,多諧振蕩器起振 ,輸出 的 音頻信號 ,阻抗匹配器推動壓電蜂鳴片發(fā)聲。壓電蜂鳴片由特殊的化學(xué)壓電 陶瓷 材料制成。在陶瓷片的兩面鍍有一層 電極 ,在經(jīng)過極化處理后,再與另外一種金屬片粘貼在一起來構(gòu)成 [10]。在嵌入式應(yīng)用的設(shè)計上,很多設(shè)計都需要用到蜂鳴器,由于蜂鳴器的發(fā)聲穩(wěn)定特性,經(jīng)常將蜂鳴器用作報警和提示的作用,還有也可用作按鍵、步驟提示或是故障停止等方面作用。由于 自激 蜂鳴器大部分是采用 直流電壓 來驅(qū)動,而很少使用交流電,只需對驅(qū)動口輸出驅(qū)動電平并通過 三極管 放大驅(qū)動電流就能使蜂鳴器發(fā)出聲音。蜂鳴器報警模塊原理圖如圖 211 所示。 圖 211 蜂鳴器報警模塊原理圖 湖南人文科技學(xué)院畢業(yè)設(shè)計 14 第 3 章 系統(tǒng)軟件設(shè)計 軟件設(shè)計總流程 當(dāng)整個系統(tǒng)上電后,首先單片機自動復(fù)位,然后配置外部中斷 0 和定時器中斷 0 的模式和觸發(fā)方式。初始化 DS18B20,等到 DS18B20 初始化完畢后,立刻啟動DS18B20 進行溫度測量,繼續(xù)等待,等待到測溫結(jié)束后,將當(dāng)前溫度值存儲到 EPROM中便于后續(xù)處理。接下來就初始化 LCD1602,一直等到 LCD1602 初始化完畢。之后單片機發(fā)送指令驅(qū)動 HCSR04 模塊發(fā)射超聲波,于此同時開啟定時器開始定時,并且開始等待,若在定時器中斷響應(yīng)前,接收到了超聲波遇到障礙物反射回來的聲波,則立刻停止計數(shù),并把定時器計數(shù)值存儲起來 后續(xù)處理。如果在定時器溢出前沒有接收到超聲波,則響應(yīng)定時器中斷,并且置位 flag1 標(biāo)志為 1。之后判斷flag1 標(biāo)志位是否為 1,若為 1,則驅(qū)動 LCD1602 顯示錯誤,若 flag1 標(biāo)志等于 0(初始值)則首先調(diào)用轉(zhuǎn)換函數(shù),將定時器計數(shù)值和當(dāng)前環(huán)境溫度值聯(lián)合轉(zhuǎn)換成距離值,再驅(qū)動 LCD1602 顯示當(dāng)前溫度值和距離值。在整個程序運行過程中,若沒有單獨外部中斷 0 響應(yīng),說明沒有設(shè)置量程。若在程序運行過程中,有人為按鍵按下,則程序立即響應(yīng)外部中斷 0,并且置位 flag2=1。若程序運行到 flag2 判斷處,若為 0,則無需應(yīng)答,若 為 1,則立刻進入按鍵操作程序,在程序中首先同樣初始化 LCD1602 便于顯示按鍵操作值,然后調(diào)用矩陣鍵盤掃描函數(shù),從而得到按鍵的鍵值,并且將鍵值通過 LCD1602 顯示出來,在顯示鍵值的同時,還需要顯示一些固化的字符,以作為標(biāo)示。最后我們通過將按鍵值進行處理,計算出人為設(shè)置的量程并將該值存儲起來。在程序運行過程中,若檢測到當(dāng)前所測得的距離,超出了人為設(shè)置的量程,則立刻啟動蜂鳴器報警,否則程序繼續(xù)運行。系統(tǒng)軟件流程圖如圖 31 所示。 湖南人文科技學(xué)院畢業(yè)設(shè)計 15 Y N Y N Y N Y N 圖 31 系統(tǒng)軟件流程圖 初始化 DS18B20 測溫模塊 是否初始化完畢 啟動 HCSR04 測距模塊發(fā)射超聲波并且開啟定時器計數(shù) 是否接收到回波 定時器是否溢出 置位 flag1=1 停止計數(shù),保存計數(shù)值,置flag1=0 flag1 是否為 1 驅(qū)動 LCD1602 顯示錯誤 換算當(dāng)前距離值 驅(qū)動 LCD1602 顯示距離和溫度 結(jié)束 開始 初始化外部中斷 0 和定時器中斷 0 湖南人文科技學(xué)院畢業(yè)設(shè)計 16 單片機驅(qū)動 HCSR04 模塊程序設(shè)計 等待 LCD 初始化與 DS18B20 測溫完畢后,單片機將 IO 口 電平拉高并且維持 10us 以上,之后 HCSR04 將自動產(chǎn)生 8 個 40KHZ 的方波驅(qū)動發(fā)射頭發(fā) 射超聲波,并且使得 口位高電平,當(dāng) HCSR04 模塊接收到發(fā)射回來的超聲波后,將。其時序邏輯圖如圖 32 所示。 圖 32 HCSR04 時序邏輯圖 由于該設(shè)計系統(tǒng)是采用定時器計數(shù)的方式來計算超聲波傳輸?shù)臅r間,而所用的定時器為 16 位定時器,計數(shù)最大時間為 65536us,當(dāng)計數(shù)時間達到此值時,超聲波接收頭還未接收到外射回來的超聲波時,將產(chǎn)生定時器中斷,此時表面已經(jīng)超出測量范圍,顯示錯誤。 湖南人文科技學(xué)院畢業(yè)設(shè)計 17 d 單片機計算測試模塊與障礙物距離算法設(shè)計 超聲波測距是通過計時超聲波來回所耗時間來實現(xiàn)的 。設(shè)超聲波脈沖由傳感器發(fā)出到接收所經(jīng)歷的時間為 t,超聲波在當(dāng)前溫度下傳播速度為 v,則從傳感器到被測物的距離 d可由下列公式計算得到 2/)( tvd ?? [11]其基本原理如圖 33所示。 圖 33 超聲波測距計算原理圖 由于此系統(tǒng)是利用超聲波的傳輸時間來測量距離,就需要考慮聲音傳輸媒介的彈性模量和密度對聲速的影響。在空氣中,氣體的溫度,濕度,壓強等因素會引起空氣密度和彈性模量的變化,氣體聲速主要受密度的影響,超聲波 在氣,液,固三者的中傳播速度關(guān)系是固體 液體 氣體。氣體中聲速受溫度影響較大,根據(jù)聲音在空氣中傳播速度為 273/10 TC ?? ,其中 T 為當(dāng)前環(huán)境溫度,單位為攝氏度,0C 為 [12]。根據(jù)此公式,我們將 DS18B20 測出的當(dāng)前環(huán)境溫度 T 代入上式計算,就可以提高測量的精度,對最終測量結(jié)果進行溫度補償。 單片機定時器計時程序設(shè)計 STC89C52 單片機內(nèi) 部有兩個 16 位可編程的定時器 /計數(shù)器,它們均是二進制加計數(shù)器,當(dāng)計數(shù)器計時后溢出時, CPU 自行產(chǎn)生溢出中斷并且置位標(biāo)志位,用于標(biāo)示計時時間達到或計數(shù)已經(jīng)終止。兩個定時器 /計數(shù)器均可編程設(shè)置為定時模式和計數(shù)模式兩種,在這兩種模式下又均可設(shè)定 4 種工作方式。其各類控制字節(jié)和 HCSR 超聲波測距模塊 超聲波發(fā)射頭 超聲波接收頭 障礙物 湖南人文科技學(xué)院畢業(yè)設(shè)計 18 狀態(tài)標(biāo)示位都存儲在特定存儲器中,人為設(shè)定存儲器的初始值,就可改變工作方式和狀態(tài)。定時模式下的定時時間和計數(shù)模式下的計數(shù)值在程序運行之處就可裝載相應(yīng)存儲器中。定時器和計數(shù)器主要由 16 位加法計數(shù)器,工作方式寄存器 TMOD和控制寄存器 TCON 組成,定 時器 /計數(shù)器 T0, T1 均由 TH0/TH1(高八位), TL0/TL1(低八位)組成, TMOD 用于設(shè)置定時器 /計數(shù)器的工作方式, TCON 用于控制 T0,T1的啟動 /停止計數(shù) [13]。 TCON 寄存器的格式如表 31 所示。 TCON 的高四位用于定時器 /計數(shù)器控制,并且可以進行位尋址。 TR0 與 TR1 用于控制定時器 /計數(shù)器的啟動和停止, 1 為啟動, 0 為停止。 TF0 與 TF1 分別為 TO 與 T1的溢出標(biāo)志位,當(dāng)定時或者計數(shù)溢出時,由單片機自動置位為 1[13]。 表 31 控制寄存器 TCON 的格式 位 D7 D6 D5 D4 D3 D2 D1 D0 地址 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 TMOD 的格式如表 32 所示, TMOD 寄存器不支持位尋址,高四位為 T1 方式字段,低四位為 T0方式字段, GATE 用于控制定時器邏輯輸入, C/T 控制為定時模式還是計數(shù)模式, 1 為計數(shù), 0 為定時, M1, M0用于選擇定時器的工作方式,其工作方式如表 33 所示 [13]。 表 32 方式控制寄存器 TMOD 格式 位 D7 D6 D5 D4 D3 D2 D1 D0 TMOD GATE C/T M1 M0 GATE C/T M1 M0 湖南人文科技學(xué)院畢業(yè)設(shè)計 19 表 33 定時器工作方式 M1 M0 工作方式 0 0 方式 0,為 13 位定時器 /計數(shù)器 0 1 方式 1,為 16 位定時器 /計數(shù)器 1 0 方式 2,8 位初始值自動重載的 8 位定時器 /計數(shù)器 1 1 方式 3,僅適用于 T0,分成兩個 8 位計數(shù)器, T1 停止計數(shù) 由定時器的工作原理,我們發(fā)射超聲波之前配置好定時器工作方式,在單片機發(fā)出控制超聲波發(fā)射的同時開啟定時器,一直等到接收到反射回來的超聲波時再關(guān)閉定時器,就可得到超聲波的傳播時間。 DS18B20 驅(qū)動程序設(shè)計 DS18B20 的內(nèi)部結(jié)構(gòu)如圖 34 所示。 ROM 中的 64 位序列號是出廠前被光記好的,它可以看作是該 DS18B20 的地址序列碼,每 DS18B20 的 64 位序列號均不相同。64 位 ROM 的排列是:前 8 位是產(chǎn)品家族碼,接著 48位 DS18B20 的序列號,最后 8位是前面 56 位的循環(huán)冗余校驗碼 (CRC=X8+X5 +X4 +1)[14]。 ROM 作用是使每一個DS18B20 都各不相同,這樣就可實現(xiàn)一根總線上掛接多個。像 DALLS 公司出產(chǎn)的單總線器件都有特點的操作時序,要按照公司給定時序圖 操作。 DS18B20 共有 6 種信號類型:復(fù)位脈沖、應(yīng)答脈沖、寫 0、寫 讀 0 和讀 1。 DS18B20 的操作一般來說分為指令操作和數(shù)據(jù)操作,除了讀數(shù)據(jù)操作外的時序,一般都是采用數(shù)據(jù)和指令分時復(fù)用那一根單總線, CPU 首先向器件發(fā)送開始指令,標(biāo)志著數(shù)據(jù)和指令傳輸開始,然后再寫入相應(yīng)的數(shù)據(jù)或者指令,之后從機 DS18B20 就會給出相應(yīng)的應(yīng)答信號以標(biāo)志著數(shù)據(jù)或者指令傳輸完畢 [15]。 湖南人文科技學(xué)院畢業(yè)設(shè)計 20 圖 34 DS18B20 的內(nèi)部結(jié)構(gòu)圖 要在 DS18B20 的 單總線上實現(xiàn)數(shù)據(jù)交互,首先要對從機初始化 ,主機首先將總線拉低并且保持低電平時間至少 480us,從而產(chǎn)生使得從機復(fù)位。然后總線被釋放,由于總線上接了上拉電阻,所以此時總線釋放回高電平,然后延時 15 到 60 us左右,這個時候主機就處于準(zhǔn)備發(fā)送數(shù)據(jù)模式,而從機初始化完畢。若連接在總線上的 DS18B20 器件無損壞的情況下, DS18B20 將拉低總線 60 至于 240us,以產(chǎn)生低電平應(yīng)答脈沖,若為低電平,再延時 480 us。其初始化時序圖如圖 35 所示。 圖 35 DS18B20 初始化時序圖 湖南人文科技學(xué)院畢業(yè)設(shè)計 21 寫時序分為寫 0 和寫 1 兩種情況。二者都必須最 少保持 60us 時間間隔,若要重復(fù)的寫數(shù)據(jù)進去從機需要至少 1us 的等待時間,當(dāng)寫 0 或者寫 1 時,首先 CPU 把總線拉低,當(dāng)寫 1 的時候:主機拉高總線,維持 2us,然后釋放總線,維持 60us。寫 0 的時候:主機拉低總線,維持 2us,同樣釋放總線,延時 60us,之后 DS18B20將讀取到單片機要寫入到 DS18B20 的數(shù)據(jù),等到讀取數(shù)據(jù)完畢后,將自動釋放總
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1