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

正文內(nèi)容

單片機(jī)實時數(shù)據(jù)采集顯示系統(tǒng)設(shè)計畢業(yè)論文(編輯修改稿)

2024-10-03 21:35 本頁面
 

【文章內(nèi)容簡介】 KS0108 處于正常工作狀態(tài), RESET=0。 ( 4) L5~ L0 為顯示起始行的地址,取值在 0~ 3FH(1~ 64)范圍內(nèi)。 ( 5) P2~ P0 確定當(dāng)前所要選擇的頁面地址,取值在 0~ 7H,代表 1~ 8 頁。 ( 6) C5~ C0=0~ 3FH(1~ 64)代表某一頁面上的某一單元地址,隨后的一次讀或?qū)? 數(shù)據(jù)將在這個單元上進(jìn)行。 KS0108 控制器與 8255A 的接口電路如 圖 8 所示 [6]。 圖 8 KS0108 控制器與 8255A的接口電路 指令名稱 控制狀態(tài) 指令代碼 DI R/W D7 D6 D5 D4 D3 D2 D1 D0 顯示開關(guān)設(shè)置 0 0 0 0 1 1 1 1 1 D 顯示起始行設(shè)置 0 0 1 1 L5 L4 L3 L2 L1 L0 頁面地址設(shè)置 0 0 1 0 1 1 1 P2 P1 P0 列地址設(shè)置 0 0 0 1 C5 C4 C3 C2 C1 C0 讀取狀態(tài)字 0 1 BUSY 0 ON/OFF RESET 0 0 0 0 寫顯示數(shù)據(jù) 1 0 數(shù)據(jù) 讀顯示數(shù)據(jù) 1 1 數(shù)據(jù) 單片機(jī)實時數(shù)據(jù)采集顯示系統(tǒng)設(shè)計 10 DB0~ DB8 與 PB0~ PB7 相連接送數(shù)據(jù),用 8255A 的 PC2 來選通此控制器,讓其進(jìn)行工作,用 PC1 和 PC0 分別控制讀 /寫選擇端和命令 /數(shù)據(jù)選擇端。 CS1 和 CS2 控制屏的顯示范圍,這里有單片機(jī)的引腳進(jìn)行控制。 HD44780 與 8255A 的接口電路 HD44780 是一種點陣液晶顯示控制器,用來控制字符液晶顯示器,目前應(yīng) 用比較廣泛。它有以下特點: ? 內(nèi)置 CGROM 字符發(fā)生器,含 192 個固定字符,可供用戶顯示調(diào)用; ? 內(nèi)置 CGRAM字符發(fā)生器,用戶通過編程設(shè)計最多 8 個自定義字符,存放其中,供顯示調(diào)用; ? 內(nèi)置 DDRAM 顯示數(shù)據(jù)存儲器,可以存放最多 80 個顯示字符,把 CGROM 或CGRAM 中的顯示數(shù)據(jù)調(diào)入 DDRAM,便可在顯示屏上顯示, DDRAM 中的單元和顯示屏的位置存在一一對應(yīng)關(guān)系; ? 自動復(fù)位上電功能; ? 雙向 8 位或 4 位總線接口; ? 豐富的控制指令:清顯存、光標(biāo)位置設(shè)置、數(shù)據(jù)輸入時光標(biāo)或數(shù)據(jù)移位設(shè)置、開或關(guān)顯示屏等; ? HD44780 模塊有兩個寄存器,一個用來輸入指令,另一個用來讀寫數(shù)據(jù)。指令用來告訴模塊怎樣存放或哪里存放數(shù)據(jù) [6]。 Proteus 中內(nèi)置 HD44780 控制器的字符液晶顯示器如下圖 9 所示。 圖 9 HD44780 控制器的字符液晶顯示器 RS: 命令或數(shù)據(jù)選擇端,當(dāng) RS=0 時,總線上傳送的是命令;當(dāng) RS=1 時,總線上傳送的是數(shù)據(jù)。 RW:讀 /寫選擇端,當(dāng) RW=0 時,為寫操作;當(dāng) RW=1 時,為讀操作。 D0~ D7:總線數(shù)據(jù),可以傳送命令,也可以傳送數(shù)據(jù),由 RS 來控制。 HD44780 控制器與 8255A 的接口電路如圖 10 所示。 單片機(jī)實時數(shù)據(jù)采集顯示系統(tǒng)設(shè)計 11 圖 10 HD44780 控制器與 8255A的接口電路 由于 8255A 在此設(shè)計中只用到了 A 口和 B 口 用作數(shù)據(jù)端口, 因而 C 口就作了控制端口,從而 有圖可知 HD44780 控制器的 使能端 E 和命令或數(shù)據(jù)選擇端 RS 受 8255A的 PC5 和 PC7 控制。 D0~ D7 與 PA0~ PA7 相連接,將數(shù)據(jù)送入顯示器進(jìn)行顯示。 4 系統(tǒng)軟件設(shè)計 系統(tǒng)主程序 軟件設(shè)計時,需要先搞清楚總體的設(shè)計方案,從而用流程圖來展示主程序。當(dāng)信號輸入時,主程序啟動,根據(jù)內(nèi)部設(shè)定的條件逐步運(yùn)行,達(dá)到設(shè)計目的 。 主程序執(zhí)行的流程圖如下圖 11 所示。 開 始初 始 化顯 示 設(shè) 定 值啟 動 A / D 轉(zhuǎn) 換數(shù) 值 處 理顯 示 實 際 溫 度 顯 示 溫 度 曲 線 圖 圖 11 主程序執(zhí)行流程圖 單片機(jī)實時數(shù)據(jù)采集顯示系統(tǒng)設(shè)計 12 由上的流程圖可知 ,程序先從主函數(shù)開始即 main() 函數(shù)。在主函數(shù)中進(jìn)行變量的定義和賦值,以及子函數(shù)的調(diào)用指令,即所謂的初始化。之后進(jìn)行定義數(shù)組,將所要顯示的設(shè)定值賦予此數(shù)組,這樣一上電就可顯示設(shè)定值,也就定義了顯示范圍。此后調(diào)用A/D 轉(zhuǎn)換子函數(shù),進(jìn)行模 /數(shù)轉(zhuǎn)換,由于單片機(jī)只能處理 8 位數(shù)據(jù),所以要進(jìn)行兩次數(shù)據(jù)的送入單片機(jī),即所謂的數(shù)值處理。 12 位轉(zhuǎn)換值通過 8255A 進(jìn)行 I/O 擴(kuò)展,后同時送入液晶顯示器進(jìn)行溫度曲線圖和溫度數(shù)值的實時顯示 [7]。 AD1674 轉(zhuǎn)換程序 AD1674 是 12 位 AD 轉(zhuǎn)換器, AT89C51 只能一次接收 8 位數(shù)據(jù),所以要分兩次轉(zhuǎn)換。首先要對其進(jìn)行初始化,使得 CE=0 關(guān)閉數(shù)據(jù)采集,后令 CE=1,CS=0, RC=1, 12/8 =1,A0=0, 允許高八位數(shù)據(jù)并行輸出,讀取轉(zhuǎn)換結(jié)果的高 8 位,后送入 P1 口,使 CE = 0,芯片使能關(guān)閉。再令 CE=1,CS=0,RC=1, 12/8 =0,A0=1, 允許低 四 位數(shù)據(jù)并行輸出,再讀取轉(zhuǎn)換結(jié)果的低 4 位,關(guān)閉芯片,再對讀取的數(shù)據(jù)進(jìn)行整合成 12 位數(shù)據(jù)。之后對數(shù)值進(jìn) 行判斷,進(jìn)行正確的顯示。由此得出流程圖如圖 12 所示。 開 始初 始 化A 0 = 1 ?高 8 位 數(shù) 據(jù)低 4 位 數(shù) 據(jù)顯 示 正 值B ia o z h iw e i= 0 ?整 合 數(shù) 值顯 示 負(fù) 值否 是否是 圖 12 AD1674 轉(zhuǎn)換流程圖 LCD12864 顯示程序 溫度曲線顯示程序 溫度曲線顯示程序流程圖如圖 13 所示。 單片機(jī)實時數(shù)據(jù)采集顯示系統(tǒng)設(shè)計 13 LCD12864寫 指 令LCD12864寫 數(shù) 據(jù)LCD12864讀 指 令LCD12864讀 數(shù) 據(jù)畫 坐 標(biāo)顯 示 溫 度 曲 線 圖查 忙 圖 13 溫度曲線顯示程序流程圖 執(zhí)行此程序前先要檢查 LCD 是否在忙,若忙不執(zhí)行,不忙執(zhí)行寫指令,準(zhǔn)備數(shù)據(jù)的寫入,有了寫命令后,進(jìn)行數(shù)據(jù)的寫入。數(shù)據(jù)寫入之后,此控制器要讀取其值以便進(jìn)行顯示,所以執(zhí)行讀指令 和讀數(shù)據(jù)。數(shù)據(jù)讀入正確后,執(zhí)行坐標(biāo)函數(shù),進(jìn)行描點,之后可得顯示圖形。 LCD12864 的讀 /寫依靠控制端 CS1 和 CS2 進(jìn)行控制,而 CS1 和 CS2是由單片機(jī)的 和 進(jìn)行控制,此端口控制屏的顯示范圍。其最主要的是坐標(biāo)函數(shù),需要規(guī)定首行和首列,以及頁碼。規(guī)定好后進(jìn)行描點,而點的代碼通過點陣取模軟件繪圖獲得 [8]。 漢字顯示程序 漢字顯示程序流程圖如圖 14 所示。 LCD12864寫 指 令頁 列 值 設(shè) 置LCD12864寫 數(shù) 據(jù)曲 線 圖 漢 字 顯 示畫 坐 標(biāo)顯 示 溫 度 曲 線 圖初 始 化 圖 14 漢字顯示函數(shù)流程圖 單片機(jī)實時數(shù)據(jù)采集顯示系統(tǒng)設(shè)計 14 此部分程序主要是執(zhí)行漢字顯示函數(shù) void show(),在這顯示之前,先需要對要顯示的漢字進(jìn)行初始化,之后執(zhí)行 LCD12864 寫指令,后再 設(shè)定漢字的頁碼,因而在此設(shè)定顯示首頁地址為 0xb8, 首列地址為 0x40,列地址會自動加 1,執(zhí)行后執(zhí)行曲線圖點陣代碼,即所獲得需要的漢字,后執(zhí)行顯示函數(shù),這樣得以實現(xiàn)曲線圖的顯示功能,從而完成此部分設(shè)計 [8]。 LCD1602 字符顯示程序 此部分程序包括對 1602 的初始化函數(shù)、寫命令函數(shù)、寫數(shù)據(jù)函數(shù)和 LCD1602的實時顯示函數(shù)幾部分組成,所以可得流程圖如圖 15 所示。 開 始1 6 0 2 初 始 化顯 示 正 值B ia o z h iw e i= 0 ?顯 示 負(fù) 值否 是1 6 0 2 寫 命 令1 6 0 2 寫 數(shù) 據(jù) 圖 15 LCD1602 字符顯示流程圖 由流程圖可知要想顯示數(shù)值,首先要定義變量,之后進(jìn)入主函數(shù) main()。接下來要規(guī)定哪一行進(jìn)行顯示,在這里選擇第一行,占用前 16 個字節(jié)進(jìn)行溫度值的顯示,這就是 1602 的初始化。定義好預(yù)設(shè)值后要進(jìn)行顯示這就需要取值,每一位顯示什么,這需要對采集轉(zhuǎn)換好的數(shù)值進(jìn)行處理,將每一位取出來,綜合后實時顯示。完成之后要先執(zhí)行 1602 寫命令和寫數(shù)據(jù)函數(shù),當(dāng)打開屏幕時,通過判斷溫度標(biāo)志位為 1 還是 0,進(jìn)行正確數(shù)值的顯示,當(dāng)標(biāo)志位為 0 時顯示負(fù)溫度值,為 1 時顯示正溫度值,這 樣完成顯示。 5 系統(tǒng)仿真 軟件介紹 進(jìn)行系統(tǒng)仿真之前首先要完成硬件和軟件兩部分,在此之前先要了解一些軟件。 ( 1) C51 集成開發(fā)軟件 Keil C 此軟件是美國 Keil Software 公司出品的 51 系列兼容單片 機(jī) C 語言軟件開發(fā)系統(tǒng),與匯編相比, C 語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)單片機(jī)實時數(shù)據(jù)采集顯示系統(tǒng)設(shè)計 15 易用。 Keil 提供了包括 C 編譯器 、宏匯編、連接器、庫管理和一個功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的 完整開發(fā)方案 ,因此使用起來十分方便 [9]。 ( 2) Proteus 軟件 Proteus 是由 Labcenter Electronics 開發(fā)的功能強(qiáng)大的單片機(jī)仿真軟件,與其他的仿真軟件相比較,在下面的優(yōu)點: ? 能仿真模擬電路、數(shù)字電路、數(shù)?;旌想娐?; ? 能繪制原理圖、 PCB 圖; ? 幾乎包括實際中所有使用的儀器 其最大的亮點在于能夠?qū)纹瑱C(jī)進(jìn)行實物級的仿真。從程序的編寫,編譯到調(diào)試,目標(biāo)版的仿真一應(yīng)俱全。支持匯編語言和 C 語言的編程 ,還可配合 Keil C 實現(xiàn)程序的聯(lián)合調(diào)試,將 Proteus 中繪制的原理圖 作為實際中的目標(biāo)板,而用 Keil C 集成環(huán)境實現(xiàn)對目標(biāo)板的控制,與實際中通過硬件仿真器對目標(biāo)板的調(diào)試幾乎完全相同,并且支持多顯示器的調(diào)試 [5]。 ( 3)點陣取模軟件 此軟件是為了進(jìn)行液晶顯示而設(shè)計的,只要輸入所需要的圖片或漢字,點擊取模方式,就可得到所需要的點陣代碼,之后寫入 LCD 模塊中指定的位置執(zhí)行顯示函數(shù)就可以實現(xiàn)所需要的功能。例如將其顯示漢字“趙”字,這樣需要先在輸入口輸入此字,后選擇輸出格式,從而獲得所需代碼,獲取圖如圖 16 所示 [8]。 圖 16 取字代碼獲取圖 Proteus 仿真 打開 Proteus ISIS,進(jìn)入 Proteus ISIS 編輯環(huán)境,將所需要的元器件調(diào)用出來后進(jìn)行正確連接,連接好后進(jìn)行保存。 在點陣取模軟件中繪制所需要的圖形和漢字,之后選擇取模方式,在這里選擇 C51單片機(jī)實時數(shù)據(jù)采集顯示系統(tǒng)設(shè)計 16 方式獲得點陣代碼。 在 KeilμVision4編程軟件中進(jìn)行 C 語言程序的編寫,然后在 Keil 中生成的“ *.hex”程序文件。步驟是 選擇工程管理窗口的 Target1,再選擇 ProjectOption for Target‘ Target1’,打開工程屬性設(shè)置對話框,共有 8 個選項卡,主要設(shè)置工作包括在 Target選 項卡中設(shè)置晶振頻率。 選擇 Output 選項卡,然后選中 Create HEX File, 其它選項卡內(nèi)容一般可取默認(rèn)值。工程設(shè)置后按 F7 鍵(或點擊編譯工具欄上相應(yīng)圖標(biāo))進(jìn)行編譯 生成“ *.hex”十六進(jìn)制的 目標(biāo)文件。 HEX 文件生成窗口 如圖 17 所示 [10][11]。 圖 17 HEX 文件生成窗口 將在 Keil C 中生成的 .hex 文件加載入 Proteus ISIS 中的 AT89C51 中,點擊開始進(jìn)行仿真,手動調(diào)節(jié)滑動變阻器可改變數(shù)值,實現(xiàn)在一定范圍內(nèi)的數(shù)值顯示 ,仿真結(jié)束后點擊其左下角的 stop 鍵結(jié)束仿真 , 系統(tǒng)仿真結(jié)果 圖如圖 18 所示 [12] [13]。 圖 18 系統(tǒng)結(jié)果仿真圖 如圖所示顯示的溫度值為負(fù)值,數(shù)值為 度,即小數(shù)點后一位數(shù)。實時溫度曲線圖就正如 LCD1 所示,調(diào)節(jié)圖中的滑動變阻器可以更改數(shù)值,這樣不停地改變實現(xiàn)實時數(shù)據(jù)的更新與顯示,從而完成溫度數(shù)值范圍在 30~ +30 之間的顯示 [13]。單片機(jī)實時數(shù)據(jù)采集顯示系統(tǒng)設(shè)計 17 結(jié)束語 本論文主要介紹了如何將采集到的溫度值進(jìn)行實時顯示,這里主要包括數(shù)值和曲線顯示。在此設(shè)計采用的只是一種方案,還有多種方案可以采用,比如:在設(shè)計的過程中采用的 12 位并行 A/D 轉(zhuǎn)換器可以換成 12 位串行的,或者直接采用 DS18B20 溫度傳感器進(jìn)行設(shè)計等等。在此設(shè)計的過程中元器件的選取要合適且控制方便,因而選擇了最基礎(chǔ)的且最常用的單片機(jī)型號,這樣在設(shè)計時就方便了很多。 設(shè)計存在的缺陷: ( 1)在設(shè)計顯示模塊時選用了 LCD 顯示,沒能很好地解決功耗問題。在技術(shù)方面還顯得很落后; ( 2)顯示數(shù)值不夠精確,在這方面對數(shù)值的處理有待提高; ( 3) LCD 顯示部分只做了最基礎(chǔ)的顯示,還可以進(jìn)行較豐富的顯示,在這方面可以有更深的思考和研究。 本設(shè)計的目的在于對液晶顯示模塊的應(yīng)用,因此在設(shè)計的過程中就需要更加深 刻的認(rèn)識此種設(shè)計思路,分模塊進(jìn)行研究,從而實現(xiàn)更廣范圍的應(yīng)用。單片機(jī)實時數(shù)據(jù)采集顯示系
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1