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

正文內(nèi)容

超聲波測距離加語音報距畢業(yè)設(shè)計論文(編輯修改稿)

2024-10-02 21:16 本頁面
 

【文章內(nèi)容簡介】 72H LCD 即將顯示數(shù)據(jù)的起始縱坐標 00H 表 44 單片機地址單元分配表 13 ①軟件系統(tǒng)總流程圖(圖 45): 45 ②設(shè)計思路說明 : 主程序框圖如圖所示,主程序首先對系統(tǒng)環(huán)境初始化, 設(shè)置定時器 T0 工作模式為16 位的定時計數(shù)器模式,置位總中斷允許位 EA 并給顯示端口 P0 和 P2 清 0。然后調(diào)用超聲波發(fā)射子程序送出超聲波脈沖,為避免超聲波從發(fā)射器直接傳送到接收器引起的直開始 系統(tǒng)初始化 對液晶寫相應(yīng)字 開啟外部中斷 定時器賦值 開啟定時器,發(fā)送超聲波 定時滿否? 沒 收到回波? 距離運算 LCD 顯示 關(guān)閉定時器 關(guān)閉中斷 否 是 沒 語音報距 ? 1720 語音操作 14 接波觸發(fā),需延遲一段時間,保持電平 左右,也就是超聲波頻率大約為 40KHZ,連續(xù)發(fā)送 15 個波形(這也是超聲波測距離會有一個最小可測距離的原因)后,才打開外中斷 1 接收返回的超聲波信號。由于采用 12MHz 的晶振,機器周期為 1us,當主程序檢測到接收成功的標志位后,將計數(shù)器 T0 中的數(shù)(即超聲波來回所用的時間)按下式計算即可測得 被測物體與測距儀之間的距離,設(shè)計時取 20℃時的聲速為 340m/s 則有: d=( C*T0) /2=170*T0/10000cm(其中 T0 為計數(shù)器 T0的計數(shù)值) 測出距離后結(jié)果將以十進制 BCD碼方式送到 LCD 顯示管顯示,看是否要語音報距。一個流程之后又反回繼續(xù)發(fā)送超聲波?? 軟件各功能模塊的流程圖設(shè)計及思路說明 ( 1) 距離運算模塊 ①軟件功能模塊流程圖設(shè)計(圖 46): 圖 46 距離運算流程圖 ②設(shè) 計思路說明 : 在系統(tǒng)中,根據(jù)超聲波的發(fā)送與返回。得到的只有時間大小,在運算模塊中的任務(wù)就是把時間的大小轉(zhuǎn)換距離的大小。 剛開始從定時器取時間大小 T,該值可能是 8位或是 16位。我們已知的是超聲波的開始 定時器賦值 給 R0、 R1 調(diào)用雙字節(jié)乘法 調(diào)用雙字節(jié)除法 調(diào)用雙字節(jié)BCD 碼轉(zhuǎn)換。賦值給距離緩沖區(qū) RET 15 傳播距離 V=340m/s。那么距離 S=VT,返回的時間 T 單位是 us,則有: S =( C*T0) /2=170*T0/10000cm(其中 T0 為計數(shù)器 T0的計數(shù)值) 但是,在 89S51 單片機中,高運算范圍是 8 位,在此中,運算最大可能有 24 位的數(shù)值。因此,需進行雙字節(jié)運算。 首先,進行雙字節(jié)的乘法, T*170(170 是超聲 波發(fā)送加返回的速度 )得出結(jié) 果是距離,單位是 。 其次。進行雙字節(jié)除法,要顯示的單位是 cm。雙字節(jié)的乘法得出來的是 單位,需除以 1000 之后單位才是 cm。 再次,進行雙字節(jié) BCD 碼轉(zhuǎn)換。時間經(jīng)過雙字節(jié)的乘法,進行雙字節(jié)除法之后得出來的距離表示方法是 16 進制,需轉(zhuǎn)成十進制,讓人更直觀。 ( 1)顯示模塊 ①軟件功能模塊流程圖設(shè)計(圖 47): 圖 47 顯示模塊流程圖設(shè) 開始 給定新的百位值 RET 給定坐標值 顯示百位值 給定新的十位值 顯示十位值 給定新的個位值 顯示 個位值 16 ②設(shè)計思路說明: 因為顯示是用 LCD 液晶,無需進行動態(tài)刷新。所以當距離緩沖區(qū)的內(nèi)容改變時, LCD屏幕上的數(shù)據(jù)更新一下。其它的顯示數(shù)據(jù),無需改變,它是 48X84 的點陣。如果需要在特定的位置上顯示特定的數(shù)據(jù)時,只需準確給定它的橫坐標和縱坐標的值,然后調(diào)用要顯示的內(nèi)容,內(nèi)容就加載到 DDRAM 中 ,接著就進行顯示。以下是距離更新的子程序: DPLY_JL: MOV COL,32 ;給定縱坐標 MOV ROW,2 ;給定橫坐標 MOV A,50H ;距離百位 CALL LCD_NUM ;調(diào)用寫入數(shù)據(jù)子程序 MOV A,51H ;距離十位 CALL LCD_NUM MOV A,52H ;距離個位 CALL LCD_NUM RET LCD 串口總協(xié)議圖(圖 48): 圖 48LCD串口總協(xié)議圖 ( 3) 語音模塊 ①軟件功能模塊流程圖設(shè)計(圖 49): 17 圖 49 語音模塊流程圖 ②設(shè)計思路說明 : ISD1720 的 SPI 協(xié)議格式如下圖(圖 410): 開始 百位數(shù)字查表,得出相應(yīng)地址,讀出百位數(shù)字語音 讀出百字語音 十位數(shù)字查表,得出相應(yīng)地址,讀出十位數(shù)字語音 讀出十字語音 個位數(shù)字查表,得出相應(yīng)地址,讀出個位數(shù)字語音 RET 距離十位是否為零 ? 距離百位是否為零 ? 是 是 18 圖 410 ISD1720 的 SPI 協(xié)議格式圖 ISD1720 內(nèi)部語音地址分配表(表 45): 起始地址 結(jié)束地址 存放內(nèi)容(相應(yīng)語音) 11H 13H 0 14H 16H 1 17H 18H 2 19H 1AH 3 1BH 1CH 4 1DH 1EH 5 1FH 20H 6 22H 23H 7 25H 26H 8 27H 28H 9 29H 2EH 厘米 2FH 30H 百 31H 32H 十 表 45 語音地址分配表 ISD1720 的通信是 SPI 方式,所先寫個 SPI 通信功能程序(見子程序 SENDDATA)。 每次要寫命令或讀取狀態(tài)直接調(diào)用,使用時方便。 19 /************************************************************************ * 函數(shù)原型 : SENDDATA。 * 功 能 : SPI 串口數(shù)據(jù)發(fā)送,發(fā)送數(shù)據(jù),一次一個字節(jié), * 待發(fā)送數(shù)據(jù)存在 R2,讀取接收 ISD1720 芯片移出的一個字節(jié) ,接收 * 存在 R2 ***********************************************************************/ SENDDATA: MOV R4,8 SETB SCLK CLR SS NOP NOP LOOP1: CLR SCLK CLR C CALL DELAY_30ns MOV A,R2 RRC A MOV A,R2 MOV MOSI,C JNB MOSO,LOOP2 MOV A,R2 ORL A,10000000B MOV R2,A LOOP2: SETB SCLK CALL DELAY_30ns DJNZ R4,LOOP1 CLR MOSI RET 每次計算出來的距離值存在對應(yīng)緩沖區(qū)內(nèi),如果需要時需用語音讀出來。在語音芯片,它能定點播放(從特定的地址開始播放到特定的結(jié)束地址),所以需知道它各個語音的存放地址和結(jié)束地址。在軟件設(shè)計上,把各語音段的地址制作成一個表,每個語音有兩個地址,一個起始地址,一個結(jié)束地址。所以,把 表作成雙字節(jié)表(見程序表 TAB) 。比如語音“ 0”它的起始地址為 11H,結(jié)束地址為 13H;語音“ 1”它的起始地址為 14H,結(jié)束地址為 17H。 TAB: DB 11H,13H,14H,16H,17H,18H,19H,1AH,1BH,1CH,1DH,1EH,1FH,20H,22H,23H,25H,26H,27H,28H,29H,2EH,2FH,30H,31H,32H 在設(shè)計上,能測到的距離是三位的數(shù)字,它把距離數(shù)據(jù)存在緩沖區(qū)內(nèi),包括各位 20 有出現(xiàn)零。語音每次播報的內(nèi)容來自距離緩沖區(qū)。如果遇到有效數(shù)只有一位或 兩位時,此時前面有兩個或一個零。在語音播報時,需讓百位或十位的零自動去掉 ,讀出有效的距離。還有,如果是三位有效值或兩位有效值,但中間或個位為零,在我們習慣中,中間為零時,通常不加“十”的語音。另外,如果是三位有效值或兩位有效值,個位為零時,在習慣中,就不讀出零的語音。,在本軟件設(shè)計上也實現(xiàn)這兩點。 ( 4) 中斷服務(wù)子程序 ①軟件功能模塊流程圖設(shè)計(圖 411): 圖 411 中斷服務(wù)子程序流程圖 ②設(shè) 計思路說明 : 當進入中斷時,必須馬上關(guān)閉定時器。避免定時器繼續(xù)計時,讓時間誤差更大,導(dǎo)致結(jié)果誤差加大。接著取定時器定時的時間,該時間通過運算得到距離結(jié)果。為了有余波的干擾再次進入中斷,在外部中斷服務(wù)子程序中關(guān)斷外部中斷子程序。 關(guān)閉定時器 開始 取定時時間 關(guān)閉外部中斷 RETI 21 5 安裝與調(diào)試 本系統(tǒng)需實現(xiàn)部分分硬件與軟件部分,軟件是根據(jù)硬件的方案而編寫。 在硬件,先確定各個模塊所采用的方案然后作出各個方案的電路原理圖。調(diào)試各各模塊功能是否實現(xiàn)。如果實現(xiàn)了,做出各個模塊結(jié)合在一起的主控電路原理圖和各模塊的功能電路圖 (本設(shè)計語音模塊與總電路不同于一個電路板上)。畫完之后,做出 PCB 圖時,安裝兩個超聲波探頭時應(yīng)保持兩個探頭中心軸線平行相距 48CM。其它元件無特殊要求。 檢查 PCB 圖與電路原理圖是否一致。檢查無誤之后做出電路板焊上各個元件。焊完之后,對照圖看是否有焊錯,確認無誤后通額定的電壓(輸入端輸入 12V 左右)。然后用萬用表測 7809 和 7805,看它們的輸出端是否分別為 9V、 5V。如果是,電源電路正常。保輸入電壓一段時間,檢查各個元件是否正常(比如是否發(fā)熱)。 各個模塊安裝完成之后,在輸入端接上 12 左右的電壓。用示波 器觀察單片機 119端是否有 12MHZ 波形。如果有,單片機正常工作。在 LM393 的第 3端接入 5V的電平,用示波器觀察第 1 端是否有幅度 9V波形。如果有,調(diào)節(jié)滑動變阻器 RT RT2,使 1端輸出頻率為 40KHZ,且高低電平時間相等。頻率調(diào)完成之后,用平滑堅硬的東西擋在兩個超聲波探頭前,距離大約 10cm 左右。此時,用萬用表測 CX20206A 第 7端的電平,看是否為低。如果是,接著第 3端接入低電平,看 1端是否沒波形輸出。如果是,此時,用萬用表測 CX20206A 第 7 端的電平,看是否為高。如果以上皆是,則超聲波發(fā)送與接收電路都可以。在顯示上,檢查一下單片機 接到 NOKAI5510LCD 上的線是否正確。如果正確,主控電路板電路正常。 當主控電路板正確后,檢查語音模塊。先通過獨立按鍵模式下是否有實現(xiàn)相應(yīng)的功能。如果有,用獨立按鍵的方法錄下各個需要的語音,數(shù)字語音“ 0、 9”和“百、十、厘米”語音。錄下之后,用按鍵試播放語音,看語音是否齊全與音質(zhì)如何。如果可以,該電路正常。硬件安裝調(diào)試完成。 硬件安裝調(diào)試完成之后。需進行軟件編寫調(diào)試。用 KEIL 軟件進行開發(fā),根據(jù)各個功能模塊的軟件設(shè)計思 路寫出相應(yīng)的軟件程序,生成 HEX 文件,用 progisp 軟件工具燒寫到單片機。首先,先一個一個模塊的燒寫到單片機,過過不斷修改,讓每個模塊的功能實現(xiàn)。之后,把每個模塊結(jié)合在一起,也通過修改,讓整個整個系統(tǒng)的功能實現(xiàn)。需說明的是,在語音模塊上由于是獨立按鍵下錄音。所以,各
點擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1