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

正文內(nèi)容

基于單片機的倒車?yán)走_(dá)的設(shè)計畢業(yè)論文(編輯修改稿)

2025-07-24 20:16 本頁面
 

【文章內(nèi)容簡介】 液晶顯示數(shù)據(jù)L E D 與蜂鳴器警報圖 43 主程序程序流程圖基于單片機的倒車?yán)走_(dá)的設(shè)計15 基礎(chǔ)函數(shù)庫基礎(chǔ)函數(shù)庫是存放一些常被其它模塊的函數(shù)多次調(diào)用的函數(shù),比如延時函數(shù)?;A(chǔ)函數(shù)庫中有兩個延時函數(shù),是使用軟件延時來實現(xiàn)的,但是準(zhǔn)確的延時還是需要單片機的定時器來實現(xiàn)。這兩個函數(shù)一個是微妙級的一個是毫秒級,可以基本滿足程序大致延時使用。這樣寫可以大大減小代碼的重復(fù)率?!y距模塊的軟件設(shè)計測距模塊中包含了與距離測量有關(guān)的所有函數(shù),包括 HC_SR04 的初始化,距離數(shù)據(jù)的讀取,以及啟動模塊的函數(shù)。每個函數(shù)的設(shè)計都離不開 HC_SR04 的工作特性,它的時序圖如下:圖 44 超聲波測距時序圖由時序圖可以得出,上位機需要通過 TRIG 向模塊發(fā)送一段 TTS 高電平,不少于 10uS,用來觸發(fā)超聲波模塊開始測距。函數(shù) StartModule 就實現(xiàn)了這一功能,先將 TRIG 電位拉高,然后軟件延時大于 10uS,然后再將它的電位拉低。然后在軟件中等待 ECHO 的電平變高,一旦變高就打開定時器 0,以工作方式 1 開始計數(shù),初值為 0,等待 ECHO 電平變低,一旦變低就停止計數(shù),并讀取 TH0 和 TL0 的值,計算 ECHO 高電平持續(xù)時間,然后進一步計算出距離,并將測量的距離值返回。其中定時器的工作方式是在初始化時進行定義的,由于本次設(shè)計中要用到多次定時計數(shù)器,所以在設(shè)置 TCON 時要使用按位或: TMOD|=0x01,這樣就不會影響到另外一個定時器的工作。因為要給定時器選擇 16 位定時器所以讓它工作在工作方式 1,,計數(shù)脈沖來自內(nèi)部而不是外部,所以 C/T 位為 0,僅需軟件啟動所以GATE=0,所以 TMOD 定義為 0x01?;趩纹瑱C的倒車?yán)走_(dá)的設(shè)計16向 T R I G 發(fā)送 1 0 u S 高電平開計時器E C H O 為低電平E C H O 為高電平關(guān)計時器計算距離重置計時器返回開始是否是否圖 45 測距模塊程序流程圖 溫濕模塊的軟件設(shè)計該模塊的軟件設(shè)計主要是用來獲取當(dāng)前環(huán)境的溫度和濕度。包含兩個基本函數(shù),其中 getDHT11 是主函數(shù),負(fù)責(zé)獲取數(shù)據(jù)時對輸入輸出端口的控制以及對獲取的數(shù)據(jù)進行基本的處理,而 COM 函數(shù)是它的子函數(shù),負(fù)責(zé)每 8 位數(shù)據(jù)的讀取。DHT11的時序圖比較復(fù)雜,對應(yīng)的驅(qū)動部分也比 SR04 的更加麻煩。而且 DHT11 數(shù)據(jù)格式特殊,讀取方式也比較特殊,見圖 47 和圖 48.圖 46 DHT11 時序圖基于單片機的倒車?yán)走_(dá)的設(shè)計17圖 47 DHT11“0”數(shù)據(jù)的信號表示圖圖 48 DHT11“1”數(shù)據(jù)的信號表示圖通過觀察圖 46,可以很清楚的看到 DHT11 的向上位機發(fā)送數(shù)據(jù)的全過程。首先,通過軟件定義,將單片機與 DHT11 連接的端口置 0 并保持 18 毫秒以上,向DHT11 發(fā)送開始信號,保證 DHT11 可以檢測到開始信號,然后單片機端口由軟件拉高,等待 DHT11 的響應(yīng)這個過程持續(xù) 20 到 40 微秒,此時的 DHT11 在檢測到單片機發(fā)來的開始信號后自動等待電平拉高(不需要人為控制,DHT11 自動實現(xiàn)) ,一旦電平變高,DHT11 就發(fā)送自己的回響信號,將端口電平拉低并且延時 80 微秒,然后再將電平拉高 80 微秒,告訴單片機,準(zhǔn)備發(fā)送數(shù)據(jù)了,此時的單片機由軟件循環(huán)檢測電平的高低,并且準(zhǔn)備接收數(shù)據(jù)。接收數(shù)據(jù)將調(diào)用 COM 函數(shù)。DHT11 的數(shù)據(jù)由 5 組 8bit 的數(shù)據(jù)組成,需要調(diào)用 COM5 次,數(shù)據(jù)包括濕度的整數(shù)小數(shù)溫度的整基于單片機的倒車?yán)走_(dá)的設(shè)計18數(shù)小數(shù)以及校驗和,當(dāng)單片機接收完數(shù)據(jù)后,利用發(fā)送的校驗和對數(shù)據(jù)進行校驗,如果正確無誤則將數(shù)據(jù)拼接完成后返回主程序。大致的流程圖如下:開始電平拉低電平拉高延時大于 1 8 毫秒延時 2 0 微秒電平是否變低電平是否變高電平是否變低調(diào)用 5 次 C O M 函數(shù)接收數(shù)據(jù)校驗數(shù)據(jù)是否正確處理數(shù)據(jù)返回是是否否否是否是圖 49 DHT11 主函數(shù)流程圖 顯示模塊的軟件設(shè)計顯示模塊軟件設(shè)計中所包含的子函數(shù)非常多,有初始化函數(shù)、判忙函數(shù)、清屏函數(shù)、基于單片機的倒車?yán)走_(dá)的設(shè)計19寫指令函數(shù)、寫數(shù)據(jù)函數(shù)以及寫入字符串函數(shù)。其中初始化函數(shù)是在主程序一開始就調(diào)用用來初始化液晶顯示屏,通過調(diào)用寫指令函數(shù)對顯示屏進行基本的模式設(shè)定、光標(biāo)設(shè)定以及清屏。判忙函數(shù)是通過對 1602 當(dāng)前狀態(tài)的讀取判斷是否處于忙狀態(tài)。寫指令和寫數(shù)據(jù)是最基本的兩個函數(shù),都是通過數(shù)據(jù)總線向 1602 發(fā)送信息,不同的是選擇寄存器,通過將 RS 端置高電平選擇數(shù)據(jù)寄存器,此時通過數(shù)據(jù)總線接收的消息將被認(rèn)定為數(shù)據(jù),將 RS 端置低電平選擇指令寄存器,此時通過數(shù)據(jù)總線接收的消息將被認(rèn)定為指令。表 41 1602 液晶基本指令表指令 RS RW D7 D6 D5 D4 D3 D2 D1 D01 清屏 0 0 0 0 0 0 0 0 0 12 光標(biāo)返回 0 0 0 0 0 0 0 0 1 *3 輸入模式 0 0 0 0 0 0 0 1 I/D S4 顯示控制 0 0 0 0 0 0 1 D C B5 光標(biāo)/字符移位 0 0 0 0 0 1 S/C R/L * *6 功能 0 0 0 0 1 DL N F * *7 置字符發(fā)生器地址 0 0 0 1 字符發(fā)生存儲器器地址8 置數(shù)據(jù)存儲器地址 0 0 1 顯示數(shù)據(jù)存儲器地址9 讀忙標(biāo)志 和地址 0 1 BF 計數(shù)器地址10 寫數(shù)據(jù)到指令 所設(shè)地址 1 0 要寫的數(shù)據(jù)11 從指令 所設(shè)的地址讀數(shù)據(jù) 1 1 讀出的數(shù)據(jù)寫指令和寫數(shù)據(jù)的基本方式一樣,僅有傳遞的參數(shù)和修改的內(nèi)容不同,用同一基于單片機的倒車?yán)走_(dá)的設(shè)計20個流程圖來表示:開始是否忙R S 置 1 ( 數(shù)據(jù) )或清 0 ( 指令 )R W 清 0 進行寫操作E 使能端置 1向數(shù)據(jù)總線發(fā)送數(shù)據(jù)延時返回E 使能端清 0是否圖 410 寫指令和寫數(shù)據(jù)的程序流程圖寫入字符串函數(shù)則是先確定字符串的起始位置,然后調(diào)用寫數(shù)據(jù)函數(shù)并傳遞位置信息,通過寫數(shù)據(jù)函數(shù)的處理,將字符串信息顯示到 1602 屏幕上,然后將位置加1,判斷是否已到字符串尾部,如果沒到進入下次循環(huán),如果已經(jīng)到字符串尾則返回主函數(shù)?;趩纹瑱C的倒車?yán)走_(dá)的設(shè)計21確定字符串起始位置開始結(jié)束調(diào)用寫數(shù)據(jù)函數(shù)是否是最后一個字符位置 + 1否是圖 411 寫字符串的程序流程圖 語音模塊的軟件設(shè)計語音模塊的軟件也比較復(fù)雜,包含了 4 個函數(shù),其中 SYN6288_Init 是初始化函數(shù),發(fā)送數(shù)據(jù)函數(shù) SendChar,背景音樂控制函數(shù) BkMusic,以及調(diào)用最多的發(fā)生程序 Speech。主要實現(xiàn)了對語音模塊的控制及調(diào)用。并且為了程序書寫的方便以及可讀性的提高,將語音芯片一些內(nèi)置的常數(shù)先進行宏定義。又由于該芯片的通信使用固定的幀格式,為了方便使用需要自己定義數(shù)據(jù)包頭,包括幀頭、數(shù)據(jù)區(qū)長度以及命令字、命令參數(shù)。幀結(jié)構(gòu)如下表:表 42 SYN6288 幀結(jié)構(gòu)表數(shù)據(jù)區(qū)(小于等于 203 字節(jié))幀結(jié)構(gòu)幀頭(1 字節(jié))數(shù)據(jù)區(qū)長度(2 字節(jié)) 命令字(1 字節(jié))命令參數(shù)(1 字節(jié))待發(fā)送文本(小于等于200 字節(jié))異或校驗(1 字節(jié))數(shù)據(jù) 0xFD0xXX 0xXX 0xXX 0xXX 0xXX… 0xXX說明 波特率高字節(jié)在前低字節(jié)在后 長度與前面的“數(shù)據(jù)區(qū)長度”保持一致基于單片機的倒車?yán)走_(dá)的設(shè)計22語音模塊的初始化非常重要,首先要定義串行口的工作方式,本設(shè)計選用 11 位異步收發(fā)器(即 9 位數(shù)據(jù)) ,波特率可變(工作方式 3,SM0=1,SM1=1),除了起始位和停止位外,將發(fā)送數(shù)據(jù)的第九位用軟件規(guī)定其為奇偶校驗位(TB8=1),允許串行接收(REN=1),而 RI 和 TI 分別為接收和發(fā)送的中斷標(biāo)志位,須由硬件置 1,申請中斷,軟件清 0,響應(yīng)中斷,所以串口控制寄存器 SCON 被設(shè)置為 0xD8。其次需要定義串行口工作的波特率,雖然工作方式 3 的波特率是可變的但是語音芯片默認(rèn)的波特率是 9600bit/s,所以設(shè)置定時器 1 為工作方式 2,,可以實現(xiàn)自動重裝的 8 位定時計數(shù)器,將初值裝入 TH1 中,開啟定時器后 TL1 計數(shù),一旦溢出則將 TH1 中保存的初始值自動裝入 TL1,節(jié)省了人為操作的時間,得到更精準(zhǔn)的波特率,由于單片機的晶振為 ,所以裝入 TH1 的初值為 0xFD,設(shè)置 PCON 的第一位 SMOD為 0,不倍頻。void SYN6288_Init(){SCON =0xD8。 TMOD|=0x20。 //按位或,防止修改 T0 的設(shè)置PCON =0x00。 TH1 =0xFD。 TR1 =1。 //開定時器}發(fā)聲函數(shù)是模塊的主要函數(shù),實現(xiàn)播報字符串語音的功能。由于幀格式的要求,先將計算主程序傳遞來的字符串的長度,然后根據(jù)程序需求合成數(shù)據(jù)幀的數(shù)據(jù)包頭,同時調(diào)用 SendChar 函數(shù)發(fā)送數(shù)據(jù)包頭,緊接著調(diào)用該函數(shù)發(fā)送字符串的內(nèi)容,最后發(fā)送校驗位,延時返回。基于單片機的倒車?yán)走_(dá)的設(shè)計23開始數(shù)據(jù)包頭是否發(fā)送完更新數(shù)據(jù)包頭內(nèi)容發(fā)送數(shù)據(jù)字符串是否發(fā)送完發(fā)送字符發(fā)送校驗位返回延時字符串長度加 1是否字符串尾部否否否是是是圖 412 發(fā)聲字符串函數(shù)程序流程圖基于單片機的倒車?yán)走_(dá)的設(shè)計245 系統(tǒng)的仿真、調(diào)試結(jié)果 系統(tǒng)仿真結(jié)果使用 Protues 進行仿真時,有一些元件沒有仿真,使用其它元件代替,但是由于按鍵速度達(dá)不到,所以超聲波測距模塊測出的距離就比較遠(yuǎn)。圖 51 仿真結(jié)果圖圖 52 TIRG 觸發(fā)電平圖圖 53 ECHO 回響電平圖圖 54 SYN6288 數(shù)據(jù)波形圖基于單片機的倒車?yán)走_(dá)的設(shè)計25由于 DHT11 在仿真中無法實現(xiàn),所以一直顯示是溫度 0 攝氏度,濕度也是0%,所以也無法在仿真中看出溫度和濕度對距離的影響?!∠到y(tǒng)軟件調(diào)試結(jié)果使用 Keil 軟件 Debug 進行調(diào)試主要是觀察單片機內(nèi)部的內(nèi)存、定時器、特殊狀態(tài)寄存器以及自己定義的變量的值,是普通仿真不能替代的。以下是初始化完成后,系統(tǒng)的設(shè)置。圖 55 Timer0、Timer1 、串行口初始設(shè)置圖 56 中斷系統(tǒng)初始設(shè)置圖 57 系統(tǒng)運行中自定義數(shù)據(jù)結(jié)果圖基于單片機的倒車?yán)走_(dá)的設(shè)計26
點擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1