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

正文內(nèi)容

基于gps的四軸飛行器的導(dǎo)航系統(tǒng)設(shè)計-資料下載頁

2024-11-10 16:00本頁面

【導(dǎo)讀】所取得的成果,所有數(shù)據(jù)、圖片資料真實可靠。盡我所知,除文中已經(jīng)。對本論文所涉及的研究工作做出貢獻的其他個人和集體,均已在文。中以明確的方式標(biāo)明。本學(xué)位論文的知識產(chǎn)權(quán)歸屬于培養(yǎng)單位?;貞涍@四年生活的點點滴滴,從入學(xué)時對大學(xué)生活的無限憧憬到課堂上對各位老。切中的一切都是歷歷在目,讓人倍感留戀,倍感珍惜。在此論文撰寫過程中,要特別感謝我的導(dǎo)師李運堂老師。為人隨和熱情,治學(xué)嚴(yán)。予我耐心的指導(dǎo),幫助我開拓研究思路,點撥與鼓勵。正是李老師的無私幫助,我的。畢業(yè)論文才能夠得以順利完成,謝謝李老師。人工遙控只能完成。用于民用的自主巡航飛行器可執(zhí)行水災(zāi)、火災(zāi)、地震等災(zāi)情調(diào)查救援任務(wù);化工廠等場所有毒氣體濃度監(jiān)測;重要設(shè)施連續(xù)監(jiān)控;輸油管線和輸電線路的巡查;本文提出了一種基于GPS的簡易四軸飛行器導(dǎo)航系統(tǒng)的設(shè)計與實現(xiàn)。顯示屏上模擬和顯示。同時也可測量飛行距離以及獲得準(zhǔn)確的衛(wèi)星時間。

  

【正文】 signed char Cl_addr,i,n。 unsigned char*p=0。 char x=0。 23 Cl_addr=X*8。 for(n=0。nchar_count。n++) { x=a[n]0x20。 p=ASC_4+x*16。 Write_LCD_cmd(0x11+(Cl_addr4))。//輸入列地址 Write_LCD_cmd(0x04+(Cl_addramp。0x0f))。 Write_LCD_cmd(0xb0+Y*2)。//寫入低 8 位部分 數(shù)據(jù) for(i=0。i8。i++) Write_LCD_dat(*p++)。 Write_LCD_cmd(0x11+(Cl_addr4))。//輸入列地址 Write_LCD_cmd(0x04+(Cl_addramp。0x0f))。 Write_LCD_cmd(0xb0+Y*2+1)。//寫入高 8 位部分?jǐn)?shù)據(jù) for(i=0。i8。i++) Write_LCD_dat(*p++)。 Cl_addr+=8。//將列地址增量 } } 因為字庫的第一個數(shù)組是空格,即 0x20,所以進入該子程序的數(shù)組減去 0x20,即可指向 ASCII 碼字庫對應(yīng)的英文字符。 鍵盤模塊 2 個按鍵實現(xiàn)翻頁,記錄坐標(biāo)等功能,按鍵分為 k1 和 k2 具體定義如下: 短按 k1:進入時間顯示界面 (Flag=1)。 短按 k1→短按 k1:進入測量距離界面 (Flag=2)。 短按 3 次 k1:回到主界面 (Flag=0)。 短按 k2→短按 k1:記錄當(dāng)前坐標(biāo)作為導(dǎo)航目的地 (Flag=4)。 短按 k2→短按 k1→短按 k2:開始以記錄的目的地導(dǎo)航 (Flag=5)。 短按 k2→短按 k1→短按 k2→長按 k2:退出導(dǎo)航,回到主界面 (Flag=0)。 短按 2 次 k2 后回到 主界面 (Flag=0)。 (當(dāng) Flag=3 時,在顯示函數(shù)中將 flag 清零 )。 24 圖 38 按鍵程序流程圖 導(dǎo)航軟件設(shè)計 將目標(biāo)點的經(jīng)緯度存入數(shù)組,并實時將接收到的當(dāng)前經(jīng)緯度與數(shù)組中的值進行比較,控制飛行器前進后退、或左飛右飛和 45176。斜飛。 25 圖 39 導(dǎo)航流程圖 由于沒有裝載電子羅盤,只能人工將飛行器起飛時的方向朝北。若目標(biāo)點在起飛點的右上方,則先 45176。斜向飛至目標(biāo)點正下方或正左方,再前飛或右飛至目標(biāo)點。 圖 410 單個目標(biāo)點的行走方向 當(dāng)設(shè)置多個目標(biāo)點是,可近似直線飛至目標(biāo)點,目標(biāo)點設(shè)置越多則直 線越平滑。 圖 311 多個目標(biāo)點的行走方向 4 數(shù)據(jù)傳輸 在實物電路板上, LCD 采用 I2C 方式, SDA 接 口, SCL 接 口。 GPS 模塊的 RXD 與 TXD 接單片機的 RXD 和 TXD。 26 I2C 總線在 LCD 上的應(yīng)用 本文采用的 11264 點陣液晶顯示屏即采用 I2C 通信方式,只需要兩根線就能傳輸數(shù)據(jù),極大減少了 LCD 對單片機端口的占用。 I2C 總線簡介 I2C 總線是一種簡單且雙向二線制同步的串行總線,由 Philips 公司開發(fā)。 它是同步通信的一種特殊形式,具有接口線少,方式控制簡單,器件封 裝小,通信速率較高等優(yōu)點。 它只需要串行時鐘線 (SCL)和串行數(shù)據(jù)線 (SDA)這兩條線即可在連接于總線上的器件之間傳送信息,也 是微電子通信控制領(lǐng)域采用 極廣泛 的一種總線標(biāo)準(zhǔn)。 I2C 總線特征 (1) 沖突檢測和仲裁 可以 防止數(shù)據(jù) 不完整 ; (2) 只 需要 兩條總線:一條 為 串行時鐘 信號線 SCL,一條 為 串行數(shù)據(jù) 信號 SDA; (3) 連接到總線的每個器件都 能夠由 的 設(shè)定的 主從機關(guān)系 和 唯一的 硬件 地址 來設(shè)置它的 軟件地址,主機 也能 作 主機接收裝置和主機發(fā)送裝置 ; (4) 它是一個 可以實現(xiàn) 多主機 通信的 總線, 即使超過 2臺 主機 在同一時刻進行 初始化,也可以通過 仲裁 的方式進行數(shù)據(jù)傳遞; (5) 在標(biāo)準(zhǔn)模式下 , 8 位串行 的 雙向數(shù)據(jù)傳輸位可達(dá) 到大約 100kbit/s 的 速率, 在 快速模式 下 可 以 達(dá) 到 400kbit/s,高速模式下 甚至 可達(dá) 到 ; (6) 最大電容 400pF 限制 了 連接到相同總線的 IC 數(shù)量 。 I2C 總線 相關(guān) 術(shù)語 發(fā)送器: 向 總線的器件發(fā)送 元件 ; 接收器:接收從總線 發(fā)來的 數(shù)據(jù) 的元件 ; 主機: 可以 發(fā)送 和 產(chǎn)生時鐘信號 以及 終止發(fā)送的 初始化元件 ; 多主機:同時有多于一個主機嘗試控制總線但不破壞傳輸; 仲裁: 當(dāng) 多個主機嘗試同時控制總線 時使 控制總線 只被允許一個 并使 數(shù)據(jù)在 傳輸 過程中保持完整的過程; 同步: 連接的元件對 時鐘信號 進行 同步的過程 ; 27 I2C 總線位傳輸 I2C 總線 上 連接的 元 件有 著 不同 類型 的 制造 工藝 ,如 NMOS、 CMOS 以及 雙極性等 ,邏輯 0(低 電平 )和邏輯 1(高 電平 )并不 固定的,它由電源 VCC 的 以及 相關(guān) 的 電平?jīng)Q定,每 次總線上 傳輸一 位 數(shù)據(jù)位就 會有產(chǎn)生 一個 時鐘脈沖。 數(shù)據(jù)有效性 SDA 線上的數(shù)據(jù)必須在時鐘 信號 的高電平周期保持穩(wěn)定。數(shù)據(jù)線的高或低電平狀態(tài)只 有在 SCL 線 跳變到低電平 時才能 變化 。 圖 41數(shù)據(jù)有效性 起始和停止 的 條件 SCL 線電平 為高 時, SDA 線從高電平向低電平 跳變 ,這個情況表示 數(shù)據(jù) 起始條件; SCL 線電平 為低 時, SDA 線由低電平向高電平 跳變 ,這個情況表示 數(shù)據(jù) 停止條件。 圖 42 起始和停止條件 一般由主機產(chǎn)生 起始和停止條件,總線在起始條件后 就 被 定義為 處 在 忙狀態(tài),在達(dá)到 停止條件 的一段 時間后 就可以將總線定義為 處于空閑狀態(tài)。 總線會一直處于忙狀態(tài)如果重復(fù) 地 產(chǎn)生起始條件 卻 不 去 產(chǎn)生停止條件,此時在功能上 , 重復(fù)起始條件 (Sr)和起始條件 (S)可以被認(rèn)定為是一樣的 。 28 I2C 總線數(shù)據(jù)傳輸 數(shù)據(jù)發(fā)送的 格式 SDA 線上必須 發(fā)送 8 位 的 字節(jié) 數(shù)據(jù) ,每個字節(jié)后 跟上 一個響應(yīng)位 , 每次傳輸發(fā)送的字節(jié)數(shù)量 的多少卻沒有被限定 。首先是數(shù)據(jù)的最高位 (MSB)送往主機,也就是單片機 ,如果從機 ,即 LCD11264 要完成一些其他功能后 ,然后 才能接 收或發(fā)送下一個完整的數(shù)據(jù)字節(jié), 也 可以 將 時鐘線 SCL 置為 低電平, 強行將 主機進入等待狀態(tài),當(dāng)從機 可以接收數(shù)據(jù)的時候軟件置高 SCL 時鐘線,然后接收下個字節(jié)數(shù)據(jù)。 應(yīng)答響應(yīng) 響應(yīng) 是 傳輸數(shù)據(jù) 的必要條件 , 由 主機 來 產(chǎn)生相關(guān)的響應(yīng)時鐘脈沖。在響應(yīng)的時鐘脈沖期間 ,主機的 發(fā)送器 將 SDA 數(shù)據(jù)傳輸 線 置低電平,并使之在 SCL 的高電平期間保持平穩(wěn) 。 通常 在 接收器接收 各 個字節(jié) 數(shù)據(jù)之 后,除了用 CBUS 地址開頭的數(shù)據(jù),必須產(chǎn)生一個響應(yīng)。當(dāng)從機不能響應(yīng)從機地址時 (例如它正在執(zhí)行一些實時函數(shù) 從而 不能接收或發(fā)送 數(shù)據(jù) ), 這時 從機必須 將 數(shù)據(jù)線保持 在 高 電平,然后 由主機 產(chǎn)生 一個 重復(fù)起始條件開始新的傳輸 或產(chǎn)生 一個停止條件 來 終止 數(shù)據(jù)的 傳輸。 從機接收器 上 如果響應(yīng)了從機地址,但是 在 傳輸了一段時間后 ,卻無法 接收更多字節(jié)數(shù)據(jù), 這時 主機 就 必須再一次終止 數(shù)據(jù)的 傳輸。這個情況 相當(dāng)于 從機在第一個字節(jié)后 就 沒有產(chǎn)生響應(yīng)。從機使數(shù)據(jù)線保持高電平,主機產(chǎn)生一個停止或重復(fù)起始條件。 如果傳輸中有主機接收器,它必須通過在從機不產(chǎn)生時鐘的最后一個字節(jié)不產(chǎn)生一個響應(yīng),向從機發(fā)送器通知數(shù)據(jù)結(jié)束。從機發(fā)送器必須釋放數(shù)據(jù)線,允許主機產(chǎn)生一個停止或重復(fù)起始條件。 圖 43 I2C 時序 在 LCD 中的實際應(yīng)用 以下為寫入一字節(jié)到 LCD 的子程序: 先使 SCL 置低,數(shù)據(jù)從高到低發(fā)送,判斷數(shù)據(jù)最高位的高低后將 clk 置高,開始寫入數(shù)據(jù)到 SDA,最后 SCL 置低。 29 void Write_one_byte_to_LCD(unsigned char Wr_dat) { unsigned char i。 LCD_CLK_L()。 for(i=0。i8。i++) { if(Wr_datamp。0x80) LCD_DAT_H()。 else LCD_DAT_L()。 LCD_CLK_H()。 Wr_dat=1。 LCD_CLK_L()。 } } GPS 的串行 I/O 口傳輸 串行 I/O 口簡介 MCS51 系列單片機片內(nèi)有 擁有 一個串行 通信的 I/O 口, 可以 通過引腳 RXD()和 TXD()與外 圍 電路進行全雙工異步 串行通訊 。 串行端口 包含 兩個控制寄存器 ,可 來設(shè)置 串口的 工作方式、發(fā)送或接收的狀態(tài)、特征位、數(shù)據(jù)傳送的波特率 (每秒傳送的位數(shù) )以及作為中斷標(biāo)志等。串行端口有一個在 SFR 里 字節(jié)地址為 99H 的 數(shù)據(jù)寄存器 ,在頭文件中定義為 SBUF,這個 寄存器 可以執(zhí)行發(fā)送命令,也可以執(zhí)行接收命 令 。發(fā)送時, 它 只寫 入而 不讀 取 ;接收時,只讀取 不寫 入 。在一定條件下, 當(dāng)對 SBUF 寫入數(shù)據(jù) 的同時單片機 就啟動了發(fā)送 命令 ;讀SBUF 就啟動了接收 命令 。 在程序中 可以 對 串行通信的波特率 進行 設(shè)定。在不同工作方式中,由時鐘振蕩頻率的分頻值或由定時器 T1 的定時溢出時間 來計算得出 , 使用非常方便 。 串行 I/O 口工作方式 SBUF 數(shù)據(jù)緩沖寄存器 : 這是一個可以直接尋址的串行口專用寄存器。有朋友這樣問起過 “ 為何在串行口收發(fā)中,都只是使用到同一個寄存器 SBUF, 而不是收發(fā)各 30 用一個寄存器 ?!?實際上 SBUF 包含兩個獨立的寄存器, 一個是接收寄存器,另一個是發(fā)送寄存 器 ,但它們都共同使用同一個尋址地址 (99H)。 CPU 在讀 SBUF 時會指到接收寄存器,在寫時會指到發(fā)送寄存器,而且接收寄存器是雙緩沖寄存器,這樣可以避免接收中斷沒有及時的被響應(yīng),數(shù)據(jù)沒有被取走,下一幀數(shù)據(jù)已到來,而造成的數(shù)據(jù)重疊問題。發(fā)送器不需要用到雙緩沖寄存器,一般情況下我們在寫發(fā)送程序時也不必用到發(fā)送中斷去外理發(fā)送數(shù)據(jù)。操作 SBUF 寄存器的方法則很簡單,只要把這個99H 地址用關(guān)鍵字 SFR 定義為一個變量就可以對其進行讀寫操作了,如 SFR SBUF=0x99; 當(dāng)然你也可以用其 它的名稱。通常在標(biāo)準(zhǔn)的 或 等頭文件中已對其做了定義,只要用 include 引用 頭文件 就可以了。 SCON 串行口控制寄存器 : 通常在芯片或設(shè)備中為了監(jiān)視或控制接口狀態(tài),都會引用到接口控制寄存器。 SCON 就是 51 芯片的串行口控制寄存器。它的尋址地址是98H,是一個可以位尋址的寄存器,作用就是監(jiān)視和控制 51 芯片串行口 的工作狀態(tài)。51 芯片的串口可以工作在幾個不同的工作模式下,其工作模式的設(shè)置就是使用 SCON寄存器。它的各個位的具體定義如下 : 表 4- 1串行口控制寄存器 SCON (MSB) (LSB) SM0 SM1 SM2 REN TB8 RB8 TI RI SM0、 SM1 為串行口工作模式設(shè)置位,這樣兩位可以對應(yīng)進行四種模式的設(shè)置。看表 5- 2 串行口工作模式設(shè)置。 表 4- 2串行口工作模式設(shè)置 SM0 SM1 模式 功能 波特率 0 0 0 同步移位寄存器 fosc/12 0 1 1 8位 UART 可變 1 0 2 9位 UART fosc/32或 fosc/64 1 1 3 9位 UART 可變 在這里只說明最常用的模式 1,表中的 fosc 代表振蕩器的頻率,也就是晶振頻率。UART 是 (Universal Asynchronous Receiver)的英文縮寫。 SM2 在模式 模式 3 中為多處理機通信使能位。在模式 0 中要求該位為 0。 REM 是 允許接收位, REM 置 高電平 時串口 將 允許接收,置 低電平 時禁止接收。由軟件對 REM 進行 置位或清零。如果在一個電路中接收和發(fā)送引腳 , 都和上位機相連,在軟件上有串口中斷處理程序,當(dāng)要求在處理 的 子程序不允許串口被上位機來的控制字符產(chǎn)生中斷,那么可以在這個子程序的開始處加入 REM=0 來禁止接 31 收,在子程序結(jié)束處加入 REM=1 再次打開串口接 收。 TB8 發(fā)送數(shù)據(jù)位 8,在模式 2 和 3 是要發(fā)送的第 9 位。該位可以用軟件根據(jù)需要置位或清除,通常這位在通信協(xié)議中做奇偶位,在多處理機通信中這一位則用于表示是數(shù)據(jù)幀還是地址幀。 常用的串口模式 1 是傳輸 10 個位的, 1 位起始位為 0, 8 位數(shù)據(jù)位,低位在先,1 位停止位為 1。它的波特率是可變的,其速率是取決于定時器 1 或定時器 2 的定時值 (溢出速率 )。 AT89C51 和 AT89C2051 等 51 系列芯片只有兩 個定時器,定時器 0 和定時器 1,而定時器 2 是 89C52 系列芯片才有的。 波特率在使用串口做通訊時,一
點擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1