智能生態(tài)系統(tǒng)分析.doc_第1頁
智能生態(tài)系統(tǒng)分析.doc_第2頁
智能生態(tài)系統(tǒng)分析.doc_第3頁
智能生態(tài)系統(tǒng)分析.doc_第4頁
智能生態(tài)系統(tǒng)分析.doc_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、智能生態(tài)系統(tǒng)隊員 1:姓名:徐德鵬,性別:男,出生年月:1992 年 12 月,所在學院:儀器科學與電氣工程學院,專業(yè): 電氣工程及其自動化專業(yè),年級: 2011 級,教學號: 65110507,郵箱 2397961557,電話:隊員 2:姓名:李京杰,性別:男,出生年月:1992 年 12 月,所在學院:儀器科學與電氣工程學院,專業(yè) : 電氣工程及其自動化專業(yè),年級: 2011 級,教學號: 65110505,郵箱:1569394708,電話:隊員 3:姓名:王曉丹,性別:女,出生年月:1992 年 7 月,所在學院:儀器科學與電氣工程學院

2、, 專業(yè) : 電氣工程及其自動化專業(yè),年級: 2011 級,教學號: 65110629,郵箱 :2495013305,電話:作品類別:自動化裝置類引言中國農(nóng)業(yè)的發(fā)展必須走現(xiàn)代化農(nóng)業(yè)這條道路, 農(nóng)業(yè)的研究和應用技術越來越受到重視,特別是智能化生態(tài)系統(tǒng)已經(jīng)成為高效農(nóng)業(yè)的一個重要組成部分。 其中重要一環(huán)就是對農(nóng)業(yè)生產(chǎn)環(huán)境的一些重要參數(shù)進行檢測和控制。例如 , 空氣的溫度、濕度和土壤的含水量等。在農(nóng)業(yè)種植問題中,環(huán)境與生物的生長、發(fā)育和能量交換密切相關, 進行環(huán)境測控是實現(xiàn)生產(chǎn)管理自動化、 科學化的基本保證, 通過對監(jiān)測數(shù)據(jù)的分析, 結合作物生長發(fā)育規(guī)律, 控制環(huán)境條件,使作

3、物達到優(yōu)質(zhì)、高產(chǎn)、高效的栽培目的。國外的智能化生態(tài)系統(tǒng)設施己經(jīng)發(fā)展到比較完備的程度,并形成了一定的標準, 但是價格非常昂貴, 并且與我國氣候特點不相適應。 而當今國內(nèi)大多數(shù)對大棚溫度、 濕度的檢測與控制都采用人工管理, 這樣有測控精度低、勞動強度大及由于測控不及時等弊端, 容易造成不可彌補的損失, 不但大大增加了成本,浪費了人力資源,而且很難達到預期的效果。因此,為了實現(xiàn)高效農(nóng)業(yè)生產(chǎn)的科學化并提高農(nóng)業(yè)研究的準確性,推動我國農(nóng)業(yè)的發(fā)展,必須大力發(fā)展農(nóng)業(yè)設施與相應的農(nóng)業(yè)工程,科學合理地調(diào)節(jié)生態(tài)系統(tǒng)內(nèi)溫度、濕度等,形成有利于蔬菜、水果生長的環(huán)境,是蔬菜和水果早熟、優(yōu)質(zhì)高效益的重要環(huán)節(jié)。 目前,隨著智

4、能化生態(tài)系統(tǒng)設施的迅速增多,人們對其性能要求也越來越高,特別是為了提高生產(chǎn)效率,對自動化程度要求也越來越高。不同種類觀賞花卉對溫度及濕度等生長所需條件的要求也不盡相同, 為它們提供一個更適宜其生長的封閉的、 良好的生存環(huán)境, 以提早或延遲花期, 觀賞植物栽培生產(chǎn)最終將會給我們帶來巨大的經(jīng)濟效益。結合用戶需要, 設計了一套智能化生態(tài)系統(tǒng)。 本系統(tǒng)采用傳感器技術和單片機相結合,實現(xiàn)自動控制加熱、降溫、通風。根據(jù)需要,通過顯示屏顯示基本信息,根據(jù)情況可隨時調(diào)節(jié)環(huán)境參數(shù)。本文將基于 COS 嵌入式系統(tǒng),使用STM32F103ZET6型號的 ARM處理器設計操作界面, 對生態(tài)系統(tǒng)的溫度及濕度進行檢測和控

5、制, 利用現(xiàn)有資源設計一個實時控制生態(tài)溫度、 濕度等的控制系統(tǒng)。 并在此基礎上,利用 STM32F103ZET6芯片上的片上資源設計了一系列的多媒體娛樂功能,包括音樂播放器、收音機、照相機以及圖片管理等應用。目錄引言一、方案設計11、方案選擇12、方案確定23、理論分析與方案論證2二、總體設計2三、單元電路(或軟件模塊)設計41、電源模塊設計42、繼電器模塊設計43、光控模塊設計54、溫控模塊設計55、功放模塊設計66、濕度檢測模塊設計6四、單元電路測試71、電源模塊測試72、繼電器模塊測試73、光控模塊測試84、溫控模塊測試8五、整體測試9六、結論11七、附錄111、整體軟件流程圖112、軟

6、件程序代碼清單12八、參考文獻25一、方案設計1、方案選擇方案一:采用 MSP430單片機作為控制芯片,通過LCD1602液晶屏顯示基本信息。優(yōu)點: MSP430單片機具有 低功耗 和開發(fā)環(huán)境高效方便等優(yōu)點, LCD1602液晶屏成本較低。缺點:MSP430性能不穩(wěn)定, 運算速度低, LCD1602液晶屏顯示信息量不能本設計滿足要求,并且不能顯示漢字。方案二:采用 STC89C52RC單片機作為控制芯片,通過Nokia5110 液晶屏顯示基本信息。優(yōu)點: STC89C52RC單片機具有成本低、編程操作簡單等優(yōu)點, Nokia5110 液晶屏具有性價比高、色彩豐富等優(yōu)點。缺點: Nokia511

7、0 液晶屏屏幕太小,亮度不夠,不易查看信息參數(shù)。方案三:采用 STC12C5A60S2單片機作為控制芯片, 通過 LCD12864液晶屏顯示基本信息。優(yōu)點: STC12C5A60S2單片機具有成本較低、運算速度快等優(yōu)點, LCD12864 液晶屏可以顯示更多字符,并且可以顯示漢字。缺點: STC12C5A60S2單片機相關開發(fā)資料不夠完善,開發(fā)使用難度大、周期長。方案四:采用 STM32F103ZET6 ARM處理器作為控制核心,利用 TFTLCD觸摸顯示屏顯示信息。 24 個 12VLED超高亮節(jié)能燈作為光照補充模塊。 DS18B20單線式數(shù)字溫度計作為溫度檢測模塊,傳回信息給 ARM處理器

8、。采用 12V/5A 開關電源將市電220V轉(zhuǎn)換為 DC12V,利用 LM2596對 DC12V進行降壓處理得到 DC5V。采用光敏電阻對光照強度進行檢測,土壤濕度計檢測模塊作為土壤濕度傳感器檢測土壤濕1度。采用電動噴霧器水泵(回流隔膜泵)12V作為噴水裝置。優(yōu)點:STM32F103ZET6ARM處理器具有運行速度快、 內(nèi)置 FLASH存儲等優(yōu)點,可運行片上操作系統(tǒng), 具有極其強大的擴展功能。 超高亮節(jié)能燈照明模塊亮度非常高并且低功耗。 12V/5A 開關電源模塊具有方便、穩(wěn)定和可調(diào)等優(yōu)點。 12V 穩(wěn)定版光控開關光敏電阻加繼電器模塊光線檢測開關具有靈敏、 高效和穩(wěn)定等優(yōu)點。水泵具有體積小、

9、電流小、使用壽命長、 物美價廉等優(yōu)點, 泵體與電機分離,泵體內(nèi)無機械部件、 無磨損。水泵自帶釋壓溢流回路裝置, 不會憋爆水管和損壞水泵。缺點: STM32F103ZET6ARM微處理器成本較高,嵌入式系統(tǒng)的開發(fā)和應用難度較大。2、方案確定通過對比四種方案的優(yōu)缺點,以及可操作性,考慮到題目要求、工作條件,方案四優(yōu)于其他幾種方案。 STM32F103ZET6ARM處理器可以更好的滿足控制要求,功能強大,并可以設計友好的人機交互界面。 TFTLCD觸摸屏具有大屏、顯示信息多、方便實現(xiàn)人機交互等優(yōu)越性。 方案四能使系統(tǒng)有較好的穩(wěn)定性, 充分體現(xiàn)了模塊化設計的要求, 并且這些芯片及器件均為通用器件, 在

10、市場上較常見, 價格也低廉,樣品制作成功的可能性比較大,所以本設計采用方案四。3、理論分析與方案論證本設計采用方案四。通過STM32F103ZET6 ARM處理器控制 TFTLCD觸摸屏實現(xiàn)溫度和濕度等信息的顯示。通過12V/5A 開關電源給系統(tǒng)供電。通過加熱片加熱空氣來提高溫度。通過風扇控制系統(tǒng)通風降溫。 通過 LED燈模塊補充光照強度。通過水泵噴水霧控制土壤干濕度。二、總體設計本系統(tǒng)的硬件結構圖如圖1 所示。 12V/5A 開關電源模塊將AC220V轉(zhuǎn)化為DC12V,再經(jīng)過 LM2596降壓芯片獲得DC5V,以此提供 5V/12V 直流電以滿足處理2器和外圍設備的供電需要。 12V光控開關

11、,由光敏電阻對光照強度進行檢測,通過由 LM393構成的電壓比較電路獲得繼電器的觸發(fā)信號, 由繼電器的常開觸點控制 12V 光照補充模塊(由 24 個超高亮 LED節(jié)能燈組成)。當沒有光強或光照強度不足時,繼電器經(jīng)觸發(fā)信號觸發(fā), 其常開觸點閉合,控制 12V光照補充模塊工作,超高亮 LED節(jié)能燈通電發(fā)光, 為植物提供充足的光照。 當光照強度充足時, 繼電器常開觸點斷開, 光照補充模塊斷電熄滅。 土壤濕度檢測模塊作為土壤濕度傳感器檢測土壤濕度。 當土壤濕度傳感器檢測到土壤的濕度低于設定閾值時, 將土壤濕度信息傳給 STM32F103ZET6ARM處理器,此時處理器通過繼電器控制電動噴霧水泵抽水,

12、并且通過噴頭噴出水霧。 當土壤濕度傳感器檢測到的土壤濕度高于或者達到設定閾值時,此時處理器通過繼電器控制電動噴霧器水泵停止工作。DS18B20單線式數(shù)字溫度傳感器作為溫度檢測裝置。 當感應到的溫度低于設定閾值時,處理器通過繼電器控制加熱片給空氣加熱。 當感應到溫度高于設定閾值時,處理器通過繼電器控制風扇給通風降溫。 本系統(tǒng)共有 2 個風扇,一個風扇逆時針轉(zhuǎn)控制進風,一個風扇順時針轉(zhuǎn)控制出風,從而實現(xiàn)空氣流動。LED照明模塊光控開關加熱片5V/12VSTM32F103DS18B20測溫電源模塊ZET6人機交互風扇ARM界面土壤濕度檢測電動噴霧水泵圖 1 系統(tǒng)的硬件結構圖3三、單元電路(或軟件模塊

13、)設計1、電源模塊設計由 12V/5A 開關電源和LM2596 降壓電路組成。因為所用器件都是由+5V 和+12V供電,所以降壓模塊選擇降壓到+5V和+12V電壓,開關電源將220V 交流電轉(zhuǎn)化為 12V 直流電, LM2596降壓模塊將 12V 直流電轉(zhuǎn)化為 5V 直流電。如圖 2 所示。12/5A 開LM2596 降壓關電源模塊+12V 電壓+5V電壓圖 2 電源模塊設計圖2、繼電器模塊設計繼電器模塊共有3 個繼電器其中2 個繼電器控制電壓為 +12V,一個為 +5V,觸發(fā)方式設置為低電平觸發(fā)。繼電器電路圖如圖3 所示。其中繼電器選取DC5V繼電器,控制 +12 電壓的 R2阻值為 2.3

14、K ,控制 +5V電壓的 R2 阻值為 910,R1 阻值相同為4.7K ,二極管類型為1N4148,三極管類型為PNP型硅三極管S8550。圖 3 繼電器電路設計圖43、光控模塊設計光控模塊由光敏電阻、電壓比較器LM393、電磁繼電器和LED節(jié)能燈組成。光敏電阻負責檢測光照強度, 并將檢測到的光強電阻信號通過特定的電路轉(zhuǎn)化為電壓信號,電壓比較器 LM393負責將此電壓信號與預設電壓進行比較, 并由此產(chǎn)生繼電器的觸發(fā)信號,從而控制 LED節(jié)能燈的導通與關斷。其結構如圖 4 所示。光敏電阻LM393電壓電磁繼電比較LED器圖 4 光控模塊設計圖4、溫控模塊設計溫控模塊由 DS18B20溫度傳感器

15、、繼電器、 12V/20W加熱片和兩個 12V/5W 通風扇組成,通過 TFTLCD觸摸屏顯示溫度信息。當 DS18B20檢測到的溫度低于設定閾值, STM32F103ZET6ARM處理器通過繼電器控制加熱片工作,直至溫度升高到設定閾值;當 DS18B20檢測到的溫度高于設定閾值, STM32F103ZET6ARM處理器通過繼電器控制通風扇工作, 直至溫度降低到設定閾值。 溫控模塊整體結構如圖 5 所示。DS18B20溫度傳感器加熱片繼STM32F103ZE顯示屏電風扇T6器圖 5 溫控模塊設計圖55、功放模塊設計功放模塊由兩片TDA2030功放芯片組成,構成雙聲道功放電路,驅(qū)動兩個0.5W/

16、8 的喇叭進行音樂播放。功放模塊整體結構如圖6 所示。圖 6 功放模塊設計圖6、濕度檢測模塊設計圖 6 濕度檢測模塊設計圖6如圖 7 所示,濕度檢測模塊由土壤探頭、LM393比較電路和指示燈構成。土壤探頭測得的漏電流大小經(jīng)過電阻變?yōu)殡妷盒盘?,通過 LM393進行電壓比較, 產(chǎn)生數(shù)字信號,進而被處理器利用進行濕度的控制。四、單元電路測試1、電源模塊測試電源模塊可以正常工作,提供穩(wěn)定的電壓,檢測結果如圖8。圖 8 電源模塊測試結果圖2、繼電器模塊測試繼電器控制模塊可以正常工作,工作時綠色指示燈亮表示該繼電器正常工作,檢測結果如圖9。7圖 9 繼電器模塊測試結果圖3、光控模塊測試當沒有光照或光照強度

17、不足時,光控開關閉合,LED光照模塊工作,發(fā)出亮光,檢測結果如圖10 所示。圖 10 光控模塊測試結果圖4、溫控模塊測試溫控模塊可以測試溫度,并使LCD12864液晶屏正常顯示溫度數(shù)值,檢測結果如圖 11 所示。8圖 11 溫控模塊檢測圖五、整體測試系統(tǒng)整體實物圖如圖 12 所示,所有模塊均能穩(wěn)定工作。當沒有光強或光照強度不足時, 繼電器經(jīng)觸發(fā)信號觸發(fā), 其常開觸點閉合, 控制 12V 光照補充模塊工作,超高亮 LED節(jié)能燈通電發(fā)光, 為植物提供充足的光照。 當光照強度充足時,繼電器常開觸點斷開, 光照補充模塊斷電熄滅。 土壤濕度檢測模塊作為土壤濕度傳感器檢測土壤濕度。 當土壤濕度傳感器檢測到

18、土壤的濕度低于設定閾值時, 將土壤濕度信息傳給 STM32F103ZET6ARM處理器,此時處理器通過繼電器控制電動噴霧水泵抽水, 并且通過噴頭噴出水霧。 當土壤濕度傳感器檢測到的土壤濕度高于或者達到設定閾值時,此時處理器通過繼電器控制電動噴霧器水泵停止工作。DS18B20單線式數(shù)字溫度傳感器作為溫度檢測裝置。 當感應到的溫度低于設定閾值時,處理器通過繼電器控制加熱片給空氣加熱。 當感應到溫度高于設定閾值時,處理器通過繼電器控制風扇給通風降溫。9圖 12 整體實物圖圖 13 開機界面圖10六、結論本系統(tǒng)是利用 STM32F103ZET6ARM處理器采用程序設計方法控制加熱片、風扇和水泵等電子器

19、件, 再通過溫度傳感器DS18B20感應溫度,加熱片、風扇控制溫度,通過水泵噴水控制土壤干濕度,最終通過TFTLCD觸摸屏顯示出溫度、干濕度等信息。 智能生態(tài)系統(tǒng)處于溫度不適應的情況,溫度較低或較高時, 可以通過自動調(diào)節(jié),實時監(jiān)控環(huán)境溫度,實現(xiàn)環(huán)境溫度最優(yōu)化。同時,也可對土壤干濕度做出準確監(jiān)控, 達到調(diào)節(jié)土壤環(huán)境的目的。 光照控制保障了充足的光強,更利于生物生長。通過軟件仿真,基本達到預期的設計目標。七、附錄1、整體軟件流程圖11開始初始化檢測光照測定溫度干濕度液晶屏上顯示正常?是否否溫度正常?是光照不足?水泵開啟?否是否是否溫度高?LED 光照是加熱片出水系統(tǒng)工作否風扇工作工作否光照正常時間

20、到?否是溫度正常?是是結束圖 14 整體軟件流程圖2、軟件程序代碼清單#include includes.h#include stdlib.h#include exfuns.h#include listbox.h#include t9input.h#include spb.h12#include ebook.h#include picviewer.h#include mp3player.h#include settings.h#include calendar.h#include paint.h#include radio.h#include recoder.h#include camera.

21、h#include mmc_sd.h#include huapen.h/UCOSII任務設置 /START任務/設置任務優(yōu)先級#define START_TASK_PRIO10 /開始任務的優(yōu)先級設置為最低/設置任務堆棧大小#define START_STK_SIZE64/任務堆棧, 8 字節(jié)對齊_align(8) static OS_STK START_TASK_STKSTART_STK_SIZE;/任務函數(shù)void start_task(void *pdata);/串口任務/設置任務優(yōu)先級#define USART_TASK_PRIO7/設置任務堆棧大小#define USART_STK_

22、SIZE64/任務堆棧, 8 字節(jié)對齊_align(8) static OS_STK USART_TASK_STKUSART_STK_SIZE;/任務函數(shù)void usart_task(void *pdata);/主任務/設置任務優(yōu)先級#define MAIN_TASK_PRIO6/設置任務堆棧大小#define MAIN_STK_SIZE512/任務堆棧, 8 字節(jié)對齊_align(8) static OS_STK MAIN_TASK_STKMAIN_STK_SIZE;/任務函數(shù)void main_task(void *pdata);/串口監(jiān)視任務/設置任務優(yōu)先級#define WATCH_

23、TASK_PRIO3/設置任務堆棧大小#define WATCH_STK_SIZE12813/任務堆棧, 8 字節(jié)對齊_align(8) static OS_STK WATCH_TASK_STKWATCH_STK_SIZE;/任務函數(shù)void watch_task(void *pdata);/MP3 任務/設置任務優(yōu)先級#define MUSIC_PLAY_TASK_PRIO2/設置任務堆棧大小#define MUSIC_PLAY_STK_SIZE256/任務堆棧, 8 字節(jié)對齊_align(8) static OS_STK MUSIC_PLAY_TASK_STKMUSIC_PLAY_STK_

24、SIZE;/任務函數(shù)void music_play_task(void *pdata);/外部內(nèi)存測試(最大支持1M 字節(jié)內(nèi)存測試 )/返回值 :0,成功 ;1,失敗 .u8 system_exsram_test(u16 x,u16 y)u32 i=0;u16 temp=0;u16 sval=0;/在地址 0 讀到的數(shù)據(jù)LCD_ShowString(x,y,239,y+12,12,Ex Memory Test:0KB);/每隔 1K 字節(jié) ,寫入一個數(shù)據(jù),總共寫入1024 個數(shù)據(jù) ,剛好是 1M 字節(jié)for(i=0;i1024*1024;i+=1024)FSMC_SRAM_WriteBuffe

25、r(u8*)&temp,i,2);temp+;/依次讀出之前寫入的數(shù)據(jù),進行校驗for(i=0;i1024*1024;i+=1024)FSMC_SRAM_ReadBuffer(u8*)&temp,i,2);if(i=0)sval=temp;else if(temp=1024*1024)LCD_ShowxNum(x+15*6,y,i/1024,4,12,0);/顯示內(nèi)存值return 0;/ 內(nèi)存正常 ,成功return 1;/ 失敗14/顯示錯誤信息/x,y: 坐標 .err:錯誤信息void system_error_show(u16 x,u16 y,u8*err)POINT_COLOR=R

26、ED;while(1)LCD_ShowString(x,y,240,320,12,err);delay_ms(400);LCD_Fill(x,y,240,y+18,BLACK);delay_ms(100);LED0=!LED0;/系統(tǒng)初始化void system_init(void)const u8 okoffset=162;u16 ypos=0;u16 j=0;u16 temp=0;u8 res;u32 dtsize,dfsize;u8 *stastr=0;u8 *version=0;u8 verbuf12;NVIC_Configuration();delay_init(72);/延時初始化

27、uart_init(9600);/串口 1 初始化LCD_Init();/LCD 初始化LCD_PWM_Init();/ 初始化 LCD 背光亮度LCD_BLPWM_V AL=200;/設置為最亮LED_Init();/LED 初始化KEY_Init();/ 按鍵初始化FSMC_SRAM_Init();/ 初始化 SRAMgui_init();Adc_Init();/ADC 初始化 ,內(nèi)部溫度傳感器BEEP_Init();AT24CXX_Init();Audiosel_Init();Audiosel_Set(0);usmart_dev.init(72);mem_init(SRAMIN);/內(nèi)部

28、內(nèi)存池初始化version=mymalloc(SRAMIN,31);/申請 31 個字節(jié)內(nèi)存15REINIT:/ 重新初始化LCD_Clear(BLACK);/ 黑屏POINT_COLOR=WHITE;BACK_COLOR=BLACK;j=0;/顯示版權信息ypos=2;app_show_mono_icos(5,ypos,18,24,(u8*)APP_ALIENTEK_ICO,YELLOW,BLACK);LCD_ShowString(28,ypos+12*j+,240,320,12, Intelligent Ecosystem);/ 智 能生態(tài) 系統(tǒng) LCD_ShowString(28,ypo

29、s+12*j+,240,320,12,CIEE of JiLin University); LCD_ShowString(28,ypos+12*j+,240,320,12,Created by Our Team);sprintf(char*)verbuf,LCD ID:%04X,lcddev.id);/LCD ID打印到 verbuf 里面LCD_ShowString(5,ypos+12*j+,240,320,12, verbuf);/ 顯示 LCD ID/開始硬件檢測初始化LCD_ShowString(5,ypos+12*j+,240,320,12, CPU:STM32F103ZET6 72

30、Mhz);LCD_ShowString(5,ypos+12*j+,240,320,12, FLASH:512KBSRAM:64KB);if(system_exsram_test(5,ypos+12*j)system_error_show(5,ypos+12*j+,EX Memory Error!);LCD_ShowString(5+okoffset,ypos+12*j+,240,320,12,OK);mem_init(SRAMEX);/外部內(nèi)存池的初始化必須放到內(nèi)存檢測之后!SPI_Flash_Init();/W25Qxx 初始化switch(SPI_FLASH_TYPE)case W25Q8

31、0:temp=1*1024;break;case W25Q16:temp=2*1024;break;case W25Q32:temp=4*1024;break;case W25Q64:temp=8*1024;break;default :system_error_show(5,ypos+12*j+,Ex Flash Error!);break;LCD_ShowString(5,ypos+12*j,240,320,12, Ex Flash:KB);LCD_ShowxNum(5+9*6,ypos+12*j,temp,4,12,0);/ 顯示 flash 大小 LCD_ShowString(5+ok

32、offset,ypos+12*j+,240,320,12, OK);16LCD_ShowString(5,ypos+12*j,240,320,12, FATFS Check.);/FATFS檢測if(exfuns_init()system_error_show(5,ypos+12*(j+1),FATFS Memory Error!);/內(nèi)存分配f_mount(0,fs0);/掛載 SD 卡f_mount(1,fs1);/掛載 FLASH.LCD_ShowString(5+okoffset,ypos+12*j+,240,320,12, OK);/SD 卡檢測LCD_ShowString(5,yp

33、os+12*j,240,320,12, SD Card:MB);/FATFS檢測temp=0;dotemp+;res=exf_getfree(0:,&dtsize,&dfsize);/得到 SD 卡剩余容量和總容量delay_ms(200);while(res&temp10;/ 單位轉(zhuǎn)換為MBstastr=OK;elsetemp=0;/ 出錯了 ,單位為 0stastr=ERROR;LCD_ShowxNum(5+8*6,ypos+12*j,temp,5,12,0);/顯示 SD 卡容量大小LCD_ShowString(5+okoffset,ypos+12*j+,240,320,12,stast

34、r);/SD 卡狀態(tài)/W25Q64 檢測 ,如果不存在文件系統(tǒng),則先創(chuàng)建 .temp=0;dotemp+;res=exf_getfree(1:,&dtsize,&dfsize);/得到 FLASH 剩余容量和總容量delay_ms(200);while(res&temp20);/連續(xù)檢測 20 次if(res=0X0D)/ 文件系統(tǒng)不存在LCD_ShowString(5,ypos+12*j,240,320,12, Flash Disk Formatting.);/格式化FLASHres=f_mkfs(1,1,4096);/ 格式化 FLASH,1, 盤符 ;1,不需要引導區(qū) ,8 個扇區(qū)為1

35、個簇if(res=0)LCD_ShowString(5+okoffset,ypos+12*j+,240,320,12, OK);/ 標志格式化成功 res=exf_getfree(1:,&dtsize,&dfsize);/ 重新獲取容量17if(res=0)/ 得到 FLASH 卡剩余容量和總容量LCD_ShowString(5,ypos+12*j,240,320,12, Flash Disk:KB);/FATFS檢測temp=dtsize;else system_error_show(5,ypos+12*(j+1),Flash Fat Error!);/flash 文件系統(tǒng)錯誤LCD_Sho

36、wxNum(5+11*6,ypos+12*j,temp,4,12,0);/ 顯示 SD 卡容量大小LCD_ShowString(5+okoffset,ypos+12*j+,240,320,12,OK);/SD 卡狀態(tài)/TPAD 檢測LCD_ShowString(5,ypos+12*j,240,320,12, TPAD Check.);if(TPAD_Init()system_error_show(5,ypos+12*(j+1),TPAD Error!);/觸摸按鍵檢測else LCD_ShowString(5+okoffset,ypos+12*j+,240,320,12, OK);/RTC 檢

37、測LCD_ShowString(5,ypos+12*j,240,320,12, RTC Check.);if(RTC_Init()system_error_show(5,ypos+12*(j+1),RTC Error!);/RTC檢測else LCD_ShowString(5+okoffset,ypos+12*j+,240,320,12, OK);/ADXL345檢測LCD_ShowString(5,ypos+12*j,240,320,12, ADXL345 Check.);if(ADXL345_Init()system_error_show(5,ypos+12*(j+1),ADXL345Er

38、ror!);/ADXL345檢測else LCD_ShowString(5+okoffset,ypos+12*j+,240,320,12, OK);/24C02 檢測LCD_ShowString(5,ypos+12*j,240,320,12, 24C02 Check.);if(AT24CXX_Check()system_error_show(5,ypos+12*(j+1),24C02 Error!);/24C02檢測else LCD_ShowString(5+okoffset,ypos+12*j+,240,320,12, OK);/RDA5820 檢測LCD_ShowString(5,ypos

39、+12*j,240,320,12, RDA5820 Check.);if(RDA5820_Init()system_error_show(5,ypos+12*(j+1),RDA5820Error!);/RDA5820檢測else LCD_ShowString(5+okoffset,ypos+12*j+,240,320,12, OK);/VS1053 檢測LCD_ShowString(5,ypos+12*j,240,320,12, VS1053 Check.);VS_Init();/初始化 VS1053 接口VS_Sine_Test();/正弦測試BEEP=0;if(VS_Ram_Test()!

40、=0X83FF)system_error_show(5,ypos+12*(j+1),VS1053Error!);/RAM測試else LCD_ShowString(5+okoffset,ypos+12*j+,240,320,12, OK);/字庫檢測LCD_ShowString(5,ypos+12*j,240,320,12, Font Check.);res=KEY_Scan(1);/ 檢測按鍵while(font_init()|res=2)/ 檢測字體 ,如果字體不存在/按下 KEY1, 則更新字庫18res=0;/按鍵無效if(update_font(5,ypos+12*j,12,0)!=

41、0)/從 SD 卡更新if(update_font(5,ypos+12*j,12,1)!=0)/從 FLASH 更新system_error_show(5,ypos+12*(j+1),Font Error!);/字體錯誤LCD_Fill(5,ypos+12*j,240,ypos+12*(j+1),BLACK);/填充底色LCD_ShowString(5,ypos+12*j,240,320,12, Font Check.);LCD_ShowString(5+okoffset,ypos+12*j+,240,320,12, OK);/字庫檢測 OK/系統(tǒng)文件檢測LCD_ShowString(5,yp

42、os+12*j,240,320,12, SYSTEM Files Check.);while(app_system_file_check()/ 系統(tǒng)文件檢測LCD_Fill(5,ypos+12*j,240,ypos+12*(j+1),BLACK);/填充底色LCD_ShowString(5,ypos+12*j,6*8,12,12, Updating);/顯示 updatingapp_boot_cpdmsg_set(5,ypos+12*j);/ 設置到坐標if(app_system_update(app_boot_cpdmsg)/更新出錯system_error_show(5,ypos+12*(

43、j+1),SYSTEM File Error!);LCD_Fill(5,ypos+12*j,240,ypos+12*(j+1),BLACK);/填充底色LCD_ShowString(5,ypos+12*j,240,320,12, SYSTEM Files Check.);if(app_system_file_check()/ 更新了一次,再檢測,如果還有不全,說明SD 卡文件就不全!system_error_show(5,ypos+12*(j+1),SYSTEM File Lost!); else break;LCD_ShowString(5+okoffset,ypos+12*j+,240,3

44、20,12, OK);/觸摸屏檢測LCD_ShowString(5,ypos+12*j,240,320,12, Touch Check.); res=KEY_Scan(1);/ 檢測按鍵if(TP_Init()|res=1)/ 有更新 /按下了 KEY0, 執(zhí)行校準if(res=1)TP_Adjust();res=0;/按鍵無效goto REINIT;/重新開始初始化LCD_ShowString(5+okoffset,ypos+12*j+,240,320,12, OK);/ 觸摸屏檢測 OK /系統(tǒng)參數(shù)加載LCD_ShowString(5,ypos+12*j,240,320,12, SYSTEM Parameter Load.);if(app_system_parameter_init()system_error_show(5,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論