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

正文內(nèi)容

畢設(shè)-基于arm的數(shù)據(jù)采集系統(tǒng)的設(shè)計-免費閱讀

2024-12-12 10:02 上一頁面

下一頁面
  

【正文】 顯示時間的組件使用了標簽,用標簽來實時顯示時間。窗體是由用戶界面 (.ui)文件來表示的,這種文件既可以轉(zhuǎn)換成 C++ 并編譯成一個應(yīng)用程序,也可以在運行時加以處理,從而生成動態(tài)用戶界面。 信號和 插 槽 是 通過平滑的擴展 C++語法并充分利用 了 C++的面向?qū)ο筇匦詫崿F(xiàn)。 當有 事件 發(fā)生時, 將會 觸發(fā)Qt 窗體發(fā) 射某種 信號。 奇趣科技公司 提出 了一種“信號和 插 槽” 機制來解決以上問題 。 標準窗體 屬于 QWidget 類 或者 其子類,而自定義窗體則可通過從標準窗體派生子類并重寫虛函數(shù)的方式來創(chuàng)建 。 Qt 提供了一系列標準窗體, 通過 使用這些部件,可以 創(chuàng)作出具有良好的人機交互界面的應(yīng)用文件 。、 Boeing174。 (7) 編譯內(nèi)核,執(zhí)行以下命令完成內(nèi)核編譯 make zImage ARCH=arm CROSS_COMPILE=armlinux編譯完成后 本設(shè)計 可以在 /。 ? 內(nèi)存管理:主要是實現(xiàn)多個進程安全有序地共享內(nèi)存。 “內(nèi)核 ”指的是一個提供硬件抽象層、磁盤及文件系統(tǒng)控制、多任務(wù)等功能的系統(tǒng)軟件。 Stage1主要實現(xiàn)的是硬件的初始化同時為 stage2 準備內(nèi)存空間,并將 stage2 復(fù)制到內(nèi)存中并設(shè)置堆棧,然后跳轉(zhuǎn)到 stage2。通過這段小程序, 本設(shè)計 可以初始化硬件設(shè)備、建立內(nèi)存空間映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個合適狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準備好正確的 運行 環(huán)境。 基于 ARM 的數(shù)據(jù)采集系統(tǒng)的設(shè)計 –16– (3) 通過 supervivi 命令行來掛載根文件系統(tǒng): A. 通過 HJTAG 把 supervivi 燒寫到開發(fā)板,啟動串口終端,重啟開發(fā)板,進入 supervivi 命令提示界面。misc)。 } 打開釋放 這部分代碼主要是實現(xiàn) DS18B20 設(shè)備的打開,和使用后設(shè)備的關(guān)閉釋放。 // 500us s3c2410_gpio_setpin(DSDATA, 1)。 return size。//gpf0 輸出低電平 5us udelay(5)。 if (size 2) size = 1。 // 1us } s3c2410_gpio_cfgpin(DSDATA, DATAINP)。 //拉低總線 udelay(4)。 基于 ARM 的數(shù)據(jù)采集系統(tǒng)的設(shè)計 –12– static ssize_t ds18b20_read(struct file *filp, char __user *buff, size_t count, loff_t *offp) { volatile int i, size=count。測量場的溫度值直接通過數(shù)字單總線傳輸,用符號擴展的 16 位數(shù)字量方式串行輸出,在此基礎(chǔ)上就大大提高了系統(tǒng)的抗干擾能力。 *fops:misc 設(shè)備文件操作結(jié)構(gòu)體 , 其它三個參數(shù)很少 使用 。 struct device *this_device。設(shè)備號使得設(shè)備文件和驅(qū)動程序之間建立起對應(yīng)關(guān)系,其中,主設(shè)備號是用來區(qū)分不同種類設(shè)備,而此設(shè)備號是用來區(qū)分同類不同設(shè)備。具體組成如圖 所示。 本設(shè)計宿主機主要是使用裝有 RedHat5 企業(yè)版 Linux 操作系統(tǒng)的 PC 機,而目標機就是 mini2440 開發(fā)板。這 一 結(jié)構(gòu)具有獨立的 16KB指令 Cache和 16KB數(shù)據(jù) Cache每個都是由具有 8字長的行組成。 在硬件方面 , 主要 實現(xiàn)了 DS18B20 的硬件電路的設(shè)計,可行性的論證以及交叉開發(fā)環(huán)境的搭建; 在軟件方面 , 主要是實現(xiàn) 了 D218B20 的底層驅(qū)動的編寫和頂層應(yīng)用程序的編寫,以及 Linux 內(nèi)核的移植,配置,編譯和 zImage 的生成,同時還 有 根文件系統(tǒng)鏡像制作等相關(guān)內(nèi)容。 所以本設(shè)計采用 mini2440 為硬件開發(fā)平臺 。溫室大棚技術(shù)其關(guān)鍵技術(shù)在于對 溫室的 溫度 進行 嚴格控制,只有嚴格的溫度控制才能保證棚內(nèi)植物正常生長,而如何實現(xiàn)對溫度的實時控制, 顯而易見溫 度采集作為大棚溫控是一個不可忽略的環(huán)節(jié),然而傳統(tǒng)的溫度采集系統(tǒng)一般穩(wěn)定性不高,而且沒有一個良好的人機交互界面,但是如果使用 PC 機作為溫度采集系統(tǒng)就會大大提高生產(chǎn)成本,而且安裝放置也很不方便。 基于 嵌入式 系統(tǒng)的數(shù)據(jù)采集 終端 一般都有較好的人 機 交互界面和 軟硬件可裁剪的特性,同時,使用 mini2440 開發(fā)板做嵌入式開發(fā)平臺具有成本低,功耗低,體積小,穩(wěn)定性高 ,發(fā)展?jié)摿Υ蟮奶匦浴? 本文介紹了 整個 硬件開發(fā)環(huán)境, bootloader 的啟動流程, Linux 系統(tǒng) 的 架構(gòu) , Linux內(nèi)核的 架構(gòu)和 根 文件系統(tǒng) 等 相關(guān)知識。s circuit and build the crosstool development environment. Through synthesized debugging this project finally realized the design of the temperature collection system which was based on ARM9 embedded system. The data collection terminal based on embedded system generally has the features of better humanmachine interface and hardware and software can be cut, while using the mini2440 development board to do a embedded development platform will have the properties of low cost, low power consumption, small size, high development potential. Good performance of the embedded systems makes the whole temperature collection system also has the high potential for development, low power consumption, high stability, good visual interface, easy to carry and function can be expanded features. Key Words: Embedded system。 基于 ARM 的嵌入式系統(tǒng)有諸多優(yōu)點是傳統(tǒng)電子系統(tǒng)無法比擬的 ,利用嵌入式 開發(fā)本設(shè)計 可以開發(fā)出具有良好的人機交互界面的實時系統(tǒng), 同時嵌入式系統(tǒng)最大的優(yōu)點就是軟硬件可裁剪,依據(jù)自己系統(tǒng)的需要可以進行靈活的 軟硬件設(shè)計開發(fā), 而且基于 ARM的嵌入式系統(tǒng)開發(fā)成本低,而且系統(tǒng)穩(wěn)定性高,功耗低,體積小,并且能夠應(yīng)用于多種應(yīng)用場合。 第三,通過分析設(shè)計要求,結(jié)合 mini2440 的硬件結(jié)構(gòu)編寫 DS18B20 的驅(qū)動程序,同時通過編寫 驅(qū)動 測試程序,上機調(diào)試驗證驅(qū)動的正確性。其功耗低,體積小且靜態(tài)設(shè)計特別適合于對成本和敏感 性有特殊要求 的 實際 應(yīng)用。啟動后釋放 4KB的 SRAM,以便用于其他用途 。 本設(shè)計硬件系統(tǒng)方面比較簡單,系主要由兩大部分組成:一是系統(tǒng)控制部分,二是溫度采集部分。 Linux 用戶一般是通過 操 作 設(shè)備文件來訪問和操作各種設(shè)備的, 本設(shè)計 可以通過圖 有一個深刻的認識。 const struct file_operations *fops。主要有: minor:次設(shè)備號,所有的 misc 設(shè)備共用一個主設(shè)備號,所以注冊 misc 設(shè)備時只要次設(shè)備號就可以了。因而使用 DS18B20 可以使系統(tǒng)結(jié)構(gòu)變得簡單,穩(wěn)定,可靠性高。 基于 ARM 的數(shù)據(jù)采集系統(tǒng)的設(shè)計 –11– 圖 DS18B20的復(fù)位時序和存在信號 圖 DS18B20的讀寫時序 DS18B20 驅(qū)動編寫 讀 DS18B20 這部分程序主要是實現(xiàn)開發(fā)板從 DS18B20 讀一個字節(jié)的數(shù)據(jù)。 i++) { ddat = 1。 //延時 70us s3c2410_gpio_cfgpin(DSDATA, DATAOUTP)。ddat, size)把數(shù)據(jù)拷貝到驅(qū)動數(shù)據(jù)空間。 for (i=0。 udelay(3)。 udelay(27)。 msleep(3)。 static struct file_operations ds18b20_fops = { 基于 ARM 的數(shù)據(jù)采集系統(tǒng)的設(shè)計 –15– .owner = THIS_MODULE, .open = ds18b20_open, //應(yīng)用程序調(diào)用執(zhí)行 open 時驅(qū)動設(shè)備文件也要執(zhí)行ds18b20_open .release = ds18b20_release, //應(yīng)用程序調(diào)用執(zhí)行 release 時驅(qū)動設(shè)備文件也要執(zhí)行ds18b20_release .read = ds18b20_read, // 應(yīng)用程序調(diào)用執(zhí)行 read 時驅(qū)動設(shè)備文件也要執(zhí)行ds18b20_read .write = ds18b20_write, //應(yīng)用程序調(diào)用執(zhí)行 write 時驅(qū)動設(shè)備文件也要執(zhí)行ds18b20_write .ioctl = ds18b20_ioctl, // 應(yīng)用程序調(diào)用執(zhí)行 ioctl 時驅(qū)動設(shè)備文件也要執(zhí)行ds18b20_iocotl }。 } DS18B20 驅(qū)動程序的測試 在編寫了 DS18B20 的驅(qū)動之后, 本設(shè)計 必須驗證驅(qū)動的正確性。 圖 DS18B20驅(qū)動測試結(jié)果圖 基于 ARM 的數(shù)據(jù)采集系統(tǒng)的設(shè)計 –17– 4 bootloader 相關(guān)知識 bootloader背景知識 一個嵌入式系統(tǒng)從軟件角度來看分為三個層次:第一是引導(dǎo)加載程序包括固化在固件中的 boot 程序和 bootloader 兩部分;第二是 Linux 內(nèi) 核,特定于嵌入式平臺定制內(nèi)核;三是文件系統(tǒng),包括系統(tǒng)命令和應(yīng)用程序。像 supervivi 能啟動zImage,uboot 能啟動 uImage,而 zImage 和 uImage 的不同之處就在于在編譯時生成內(nèi)核的文件頭 不同。 Linux 最早是由 芬蘭 黑客 Linus Torvalds 為嘗試在英特爾 x86架構(gòu)上提供自由免費的類 Unix 操作系統(tǒng)而開發(fā)的。 基于 ARM 的數(shù)據(jù)采集系統(tǒng)的設(shè)計 –21– Linux 內(nèi)核的主要模塊 (或組件 )分以下幾個部分:存儲管理、 CPU 和進程管理、 虛擬 文件系統(tǒng)、設(shè)備管理和驅(qū)動、網(wǎng)絡(luò)通信,以及系統(tǒng)的初始化 (引導(dǎo) )、系統(tǒng)調(diào)用等。要讓內(nèi)核知道 Nand Flash 的分區(qū)信息,設(shè)置成跟bootloader 一致 ; (5) 添加 DM9000 網(wǎng)卡驅(qū)動 和其他設(shè)備驅(qū)動; (6) 用 S3C2410 的默認配置文件 來進行基礎(chǔ)配置然后使用 make menuconfig 來詳細配置; (7) 編譯內(nèi)核 ; 配置編譯生成 zImage[9] 使用已經(jīng)移植好的 內(nèi)核進行 zImage 的生成,在此過程中通過內(nèi)核編譯的方式把 DS18B20 的驅(qū)動加載到內(nèi)核當中,而不是使用內(nèi)核模塊的方式加載驅(qū)動 程序,然后通過內(nèi)核配置,編譯最后生成 zImage。此外, Qt 還具有跨平臺能力并 可以 提供國際化支持,這一切確保了 Qt 應(yīng)用程序的應(yīng)用 領(lǐng) 域是 極為廣泛 的 。)、還是無數(shù)小型 企業(yè) 和組織都在使用 Qt。 Qt 的窗體在“控件”或“容器”之間 沒有明顯的 區(qū)分。 其實 , 本設(shè)計 更希望任何一類對象均可彼此互相進行信息傳遞 。 然 而對于 傳統(tǒng) 的工具套件而言,調(diào)用此函數(shù)時,它不確保將正確類型的參數(shù)傳遞,這樣 就很有可能 導(dǎo)致 系統(tǒng)崩潰 。由于信號和 插槽都屬于類型安全的,因此,類型錯誤不會被 報告為警告 從而 不會 引起系統(tǒng) 崩潰。 Qt Designer 提供了多種窗體模板,開發(fā)人員可以創(chuàng)建自己的模板,確保某一應(yīng)用程序或某一系列應(yīng)用程序界面的一致性。 (1) 設(shè)計 ,其中顯示溫度的部分使用了 4 位 LCD 進行顯示,根據(jù) DS18B20的數(shù)據(jù)手冊可知 DS18B20 的測溫范圍是 55176。 (2) 通過以下命令實現(xiàn) 生成 和 : uic o uic o impl (3) 通過以下命令生成項目文件 : progen t app o 基于 ARM 的數(shù)據(jù)采集系統(tǒng)的設(shè)計 –29– 修改 文件,為其中的 SOURCES= HEADERS= TARGET=mytem 若有多個就用空格隔開,并修改 INTERF。應(yīng)用程序具體流程如圖 所示: 開 始圖 形 界 面 屬 性 初始 化1 秒 定 時 器 開 始 定 時判 斷 能 否 打 開 設(shè)備 D S 1 8 B 2 0寫 入 命 令 讀 取 溫 度獲 取 當 前 系 統(tǒng) 時 間顯 示 溫 度顯 示 時 間1 秒 定 時 是 否 結(jié)束結(jié) 束YYNN 圖 應(yīng)用程序流程圖 基于 ARM 的數(shù)據(jù)采集系統(tǒng)的設(shè)計 –
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1