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

正文內(nèi)容

基于zigbee的空氣質(zhì)量檢測儀設(shè)計畢業(yè)設(shè)計論文-閱讀頁

2024-08-02 19:20本頁面
  

【正文】 將其轉(zhuǎn)換為該氣體濃度變化。如圖 36所示。 DC 本章小結(jié)本章通過分析室內(nèi)空氣質(zhì)量檢測儀的需求,對基于Zigbee的室內(nèi)空氣質(zhì)量檢測儀的總體方案進行了規(guī)劃和設(shè)計。同時,還對主要元器件的基本知識和用法作了系統(tǒng)的講解。不僅給出了各個單元電路的創(chuàng)作思路,而且展示了各個單元電路原理圖。 最小系統(tǒng)設(shè)計CC2530的最小系統(tǒng)電路是由主芯片CC25電源電路、時鐘電路、復(fù)位電路和天線電路組成。CC2530芯片需要兩個晶振為其提供時鐘。圖 41 CC2530最小系統(tǒng)電路圖 各單元電路設(shè)計 電源電路,輸入端電壓為5V,Vin接一個電容C1,然后再接地。除此此外,還可以采用2節(jié)5號電池供電的方案,電源電路如圖42所示。兩個振蕩器不能同時工作。時鐘電路如圖43所示。巴倫在微波天線領(lǐng)域應(yīng)用很廣,而且還有很大的發(fā)展?jié)摿εc提升的空間。天線設(shè)計可以使用PCB天線,如倒F天線、螺旋天線等,也可以使用SMA接口的桿狀天線,根據(jù)不同的應(yīng)用來選擇[[] C viafree microstrip balun using metamaterial transmission lines. IEEE Microwave and Wireless Components Letters .,2010 ,11:331335.]。圖 44 天線電路圖 傳感器電路 DHT11 傳感器模塊電路DHT11 傳感器是一個內(nèi)含已校準(zhǔn)的輸出數(shù)字信息的溫濕度傳感器。DHT11溫濕度傳感器模塊接線說明:(1)VCC:(2)GND:外接GND(3)DATA:接單片機I/O口DHT11溫濕度傳感器模塊是一個已經(jīng)封裝好的電路,DHT11溫濕度傳感器模塊引腳連接,如圖45所示。二氧化錫在氣體中電導(dǎo)率很低,它的電導(dǎo)率與污染氣體的含量成正比。接線方式: (1)VCC:接電源正極(5V)(2)GND:接電源負極(3)DO:TTL 開關(guān)信號輸出(4)AO:模擬信號輸出(懸空)MQ135氣體傳感器模塊是一個已經(jīng)封裝好的電路,MQ135氣體傳感器模塊連接圖,如圖46所示。兩個電路主芯片都是CC2530芯片,因此,最小系統(tǒng)都是相同的,最小系統(tǒng)包括電源電路、兩個晶振電路、復(fù)位電路和收發(fā)信號的天線電路。Zigbee的傳感器節(jié)點除了具備最小系統(tǒng)之外,它還承擔(dān)了傳感器數(shù)據(jù)的接收和發(fā)送,所以還多了DTH11溫濕度傳感器和MQ135氣體傳感器。GND與電源的GND相連接。圖 47 Zigbee終端節(jié)點電路原理圖第5章 系統(tǒng)軟件設(shè)計本章是系統(tǒng)軟件設(shè)計,包括Zigbee的程序,電腦PC機的上位機程序以及Android手機客戶端應(yīng)用程序。首先,對開發(fā)所用軟件進行簡單講解,然后,對程序的設(shè)計思路以及流程圖進行說明。對電腦PC機的上位機程序和Android手機客戶端應(yīng)用程序只是對其所用的軟件和程序的分布以及使用方法進行了簡單的介紹。IAR Systems是嵌入式系統(tǒng)開發(fā)工具和服務(wù)的供應(yīng)商AVR IAR C/C++編譯器是一個擁有世界級水平的具備標(biāo)準(zhǔn)C/C++特性的編譯器,用戶可以安裝不同的擴展插件使用AVR的不同的功能。它具備一個內(nèi)部C語言預(yù)處理器,因而支持條件匯編。適用于大多數(shù)微處理器和控制器,用戶可以通過IAR工具的使用節(jié)省工作時間、提高工作效率。圖 51 IAR Embedded Workbench軟件 Zigbee程序總體設(shè)計本室內(nèi)空氣質(zhì)量檢測儀的設(shè)計采用了TITI公司的ZStack協(xié)議棧,其主要特點就是其兼容性,完全支持IEEE15.TI的ZStack裝載在一個基于IAR開發(fā)環(huán)境的工程里。不僅提供編譯下載功能,而且可以結(jié)合編程器進行單步跟蹤調(diào)試和監(jiān)測片上寄存器、Flash數(shù)據(jù)等。第二步,處理事件,若有突發(fā)事件系統(tǒng)就會被喚醒進入中斷處理事件。這種軟件構(gòu)架降低了系統(tǒng)功耗。這種軟件構(gòu)架大大地降低了系統(tǒng)對電能的消耗。一個是系統(tǒng)的初始化;另一個是開始執(zhí)行輪轉(zhuǎn)查詢式操作系統(tǒng)。圖 52 ZStack總體結(jié)構(gòu) 系統(tǒng)主控程序設(shè)計整個Zstack協(xié)議棧的主要工作流程:(1)系統(tǒng)初始化,包括系統(tǒng)時鐘初始準(zhǔn)備、按鍵初始準(zhǔn)備、堆棧初始準(zhǔn)備、檢查芯片電壓是否正常、芯片各硬件模塊初始準(zhǔn)備、非易失變量初始準(zhǔn)備等等。系統(tǒng)的主控程序的設(shè)計主要是對全程總體的概述,其中包括硬件軟件的初始化程序和各個功能的運行程序,每個函數(shù)都會實現(xiàn)特定的功能。圖 53 主控程序流程框圖下面就是與主控程序框圖對應(yīng)的主控程序代碼,:int main( void ){ osal_int_disable( INTS_ALL )。 // 初始化系統(tǒng)時鐘 zmain_vdd_check( )。 // 初始化堆棧 InitBoard( OB_COLD )。 // 初始化芯片各硬件模塊 osal_nv_init( NULL )。 // 確定 IEEE 地址 zgInit( )。 // 初始化 MAC 層 osal_init_system( )。 //使能全部中斷 InitBoard( OB_READY )。 //顯示設(shè)備信息 osal_start_system( )。該任務(wù)函數(shù)按照任務(wù)的優(yōu)先級順序檢查任務(wù)是否準(zhǔn)備好了。若任務(wù)列表下不存在準(zhǔn)備好的任務(wù)時,為了減少電能的損耗耗,系統(tǒng)自動就會轉(zhuǎn)入休眠等待新的任務(wù)就緒。 操作系統(tǒng)初始化程序設(shè)計ZStack的協(xié)議棧操作系統(tǒng)的初始化與系統(tǒng)初始化不是一個概念。而操作系統(tǒng)初始準(zhǔn)備只是系統(tǒng)運行準(zhǔn)備的一個重要的組成部分。操作系統(tǒng)初始化是由osal_init_system(void)函數(shù)完成的。 // 初始化內(nèi)存分配系統(tǒng)osal_qHead = NULL。 // 初始化定時器 osal_pwrmgr_init()。 //初始化系統(tǒng)的任務(wù) osal_mem_kick()。}在整個操作系統(tǒng)初始化的過程中,與用戶息息相關(guān)的函數(shù)就是osalInitTasks()函數(shù),void osalInitTasks( void )主要功能有兩個:(1)通過調(diào)用osal_mem_alloc( )函數(shù)給各個任務(wù)分配內(nèi)存空間;(2)給各個已定義任務(wù)指定唯一的標(biāo)識號。任務(wù)初始準(zhǔn)備是由void osalInitTasks( void ) 函數(shù)完成的,taskID++運行一次這個操作,taskID的數(shù)值就會自動加一。 //分配內(nèi)存,返回指向緩沖區(qū)的指針 tasksEvents = (uint16 *)osal_mem_alloc( sizeof( uint16 ) * tasksCnt)。 macTaskInit( taskID++ )。 //nwk_init(1) Hal_Init( taskID++ )。 //APS_Init(3) ZDApp_Init( taskID++ )。 //SAPI_Init(5)} 操作系統(tǒng)執(zhí)行程序設(shè)計ZStack中的操作系統(tǒng)是利用事件優(yōu)先級順序執(zhí)行的輪流查詢、循環(huán)處理的系統(tǒng)。)函數(shù),這樣運行OSAL系統(tǒng)就開始正式運行。我們利用osalInitTasks( )函數(shù)來創(chuàng)建OSAL的任務(wù),其中TaskID表示為每個任務(wù)的標(biāo)識號。任務(wù)執(zhí)行前準(zhǔn)備程序已經(jīng)在系統(tǒng)初始化中給出。首先,對要處理的目標(biāo)事件是通過創(chuàng)建“YonghuName_ProcessEvent( )“函數(shù)完成OSAL任務(wù)處理事件的創(chuàng)建。直到所有的事件全部處理完畢。OSAL任務(wù)包括強制事件(Mandatory Events),SYS_EVENT_MSG( )是強制事件之一[[] Xiaoqi Zhuang,Lijun Zhang,Min Embedded System of Bridge Stress Monitoring Based on ARM9 and Zigbee. Electrical and Control Engineering,International Conference on , 2014,09:348351.]。下面操作系統(tǒng)執(zhí)行流程框圖,如圖54所示。) // 死循環(huán) {do {if (tasksEvents[idx]) {break。 if (idx tasksCnt) {HAL_ENTER_CRITICAL_SECTION(intState)。 //查找待處理的事件 tasksEvents[idx] = 0。 //退出臨界區(qū) events = (tasksArr[idx])( idx, events )。 //進入臨界區(qū) tasksEvents[idx] |= events。 //退出臨界區(qū) }}}ZStack中的操作系統(tǒng)是利用事件優(yōu)先級順序執(zhí)行的輪流查詢、循環(huán)處理的系統(tǒng)。這三種任務(wù)事件處理函數(shù)分別是:SAPI_ProcessEvent( )函數(shù)、ZDApp_event_loop( ) 函數(shù)和Hal_ProcessEvent( )函數(shù)[[] [J].物聯(lián)網(wǎng)技術(shù),2011,03:7173.]。如圖55所示。如圖56所示。如圖57所示。VC不僅僅是C++VC++是一款功能強大的、可看見的、通用的、和諧的、集成的開發(fā)環(huán)境。Developer Studio是一個和諧的程序編寫環(huán)境。MFC是微軟基礎(chǔ)類庫的簡稱,是微軟公司提供的c++類庫。除此之外,包含的類包含許多句柄、內(nèi)建控件和組件的封裝類。PlatformSDK是編寫應(yīng)用程序的開發(fā)工具包的集合,它是由程序員編寫數(shù)據(jù)包、架構(gòu)包、平臺包、操作系統(tǒng)包等組成的。 上位機設(shè)計實現(xiàn)PC上位機程序是利用Visual C++ 。因此,該上位機程序是通過編程實現(xiàn)從電腦串口讀取信息,然后,通過運算將接受到的信息進行輸出顯示[[] Zhenli ZHANG,Fazhu ZHOU,Yuming Routing AlgorithmBased on Energy Awareness and Energy Balance. Consumer Electronics,Communications and Networks (CECNet) , 2012,17:421426. ]。下面就是上位機程序運行結(jié)果,如圖58所示。終端1和終端2,終端1有兩個板塊組成,一個板塊是溫濕度顯示,另一板塊分是氣體質(zhì)量顯示。右側(cè)是由兩個輸出文本框組成,分別標(biāo)有溫度和濕度。終端2同終端1完全相同。下面有個二選一選擇項,分別標(biāo)有溫度趨勢和濕度趨勢。40176。如果你選擇的是濕度趨勢,就會出現(xiàn)濕度趨勢圖,同樣,X軸表示時間軸(040)秒,Y軸表示的是空氣的濕度(0100)。系統(tǒng)設(shè)置模塊在窗體的右下側(cè),包括串口設(shè)置、網(wǎng)絡(luò)服務(wù)、操作提示和刷新操作四部分。網(wǎng)絡(luò)服務(wù)包括一個網(wǎng)絡(luò)地址輸入窗口,一個啟動網(wǎng)絡(luò)服務(wù)按鍵和一個網(wǎng)絡(luò)狀態(tài)指示燈,這個部分主要是為Android手機客戶端應(yīng)用程序連接網(wǎng)絡(luò)服務(wù)。最后,就是刷新部分。當(dāng)點擊手動刷新按鍵,每點一次就將接受到的數(shù)據(jù)刷新一次進行顯示,當(dāng)點擊自動刷新按鍵,系統(tǒng)就會自動的對數(shù)據(jù)進行刷新,每隔特定的時間就會刷新一次,當(dāng)然,刷新的時間是可以根據(jù)自己的需要進行設(shè)置。選中關(guān)于就會彈出一個窗口。窗口標(biāo)題為“關(guān)于 空氣質(zhì)量檢測儀”,內(nèi)容為“ 齊齊哈爾大學(xué) 版權(quán)所有吧(C) 2015”,左側(cè)為應(yīng)用圖標(biāo),右側(cè)是個“確定”按鈕。圖 410 關(guān)于窗口由于本設(shè)計采用了兩個Zigbee節(jié)點,所以有終端1和終端2兩個節(jié)點模塊。這三個數(shù)據(jù)分別是由DHT111溫濕度傳感器和MQ135傳感器進行數(shù)據(jù)的采集,然后,傳送到Zigbee節(jié)點。協(xié)調(diào)器通過USB數(shù)據(jù)線傳送給PC機。這樣,基于Zigbee的室內(nèi)空氣質(zhì)量檢測儀就基本搭建完成。該系統(tǒng)是由Google公司和開放手機聯(lián)盟領(lǐng)導(dǎo)并開發(fā)的。安卓平臺由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件四部分組成。Android開發(fā)環(huán)境的搭建是由JDK(Java Development Kit)、Eclipse和Android SDK組成。沒有JDK的話,就無法編譯Java程序。Eclipse可以通過擴展組件來完善自己的編程環(huán)境。Android SDK指的是安卓語言編程數(shù)據(jù)包,不用安裝,解壓即可。 // 關(guān)閉所有中斷 HAL_BOARD_INIT( )。 // 檢查芯片電壓是否正常 zmain_ram_init( )。 // 初始化 I/O,LED、 Timer 等 HalDriverInit( )。 // 初始化 Flash 存儲器 zmain_ext_addr( )。 //初始化非易失變量 ZMacInit( )。 //初始化操作系統(tǒng) osal_int_enable( INTS_ALL )。 //初始化按鍵 zmain_dev_info( )。 //執(zhí)行操作系統(tǒng)}系統(tǒng)初始化程序:osal_init_system(void){ osal_mem_init()。 // 初始化消息隊列 osalTimerInit()。 // 初始化電源管理系統(tǒng)osalInitTasks()。 // 設(shè)置有效的搜索堆的第一個空閑塊. return (SUCCESS)。
點擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1