打造多參數(shù)居室氣體檢測儀,助力智能家庭
3.3系統(tǒng)軟件架構(gòu)
該儀器的軟件系統(tǒng)可采用C語言編程, 開發(fā)軟件是AVR Studio5,這個(gè)是Atmel自己開發(fā)的development tools,AVR Studio 5集成GCC編譯器,對AVR32的編譯支持很好。Atmel AVR Studio 5是廣受歡迎的愛特梅爾集成開發(fā)環(huán)境(IDE)的增強(qiáng)版本,支持所有8位和32位AVR MCU,能夠顯著提高開發(fā)人員的效率,并可使客戶的應(yīng)用程序在愛特梅爾8位和32位AVR MCU之間實(shí)現(xiàn)無縫移植。AVR Studio 5能夠簡化源代碼的編輯和調(diào)試,具備輔助代碼編寫功能的編輯器、用于快速創(chuàng)建新項(xiàng)目的向?qū)Чぞ撸?AVR Software Framework源代碼庫、GNU C/C++編譯器、功能強(qiáng)大的模擬器,以及適用于愛特梅爾所有AVR編程器及在線調(diào)試器的前端可視化工具。AVR Studio 5將現(xiàn)有8位AVR Studio 4 和32位AVR32 Studio的功能融合, 支持所有8位和32位AVR MCU。此外,愛特梅爾的AVR Studio 5還可集成第三方的嵌入開發(fā)工具插件。編譯好程序后通過單片機(jī)預(yù)留的JTAG接口通過配套的調(diào)試器AVR Dragon來對單片機(jī)進(jìn)行在系統(tǒng)編程, 以實(shí)現(xiàn)實(shí)時(shí)調(diào)試。軟件設(shè)計(jì)采用模塊化設(shè)計(jì)。設(shè)計(jì)時(shí)可將程序分成幾個(gè)主要的功能模塊, 包括主程序和各個(gè)模塊子程序。
軟件部分采用模塊化設(shè)計(jì),全部軟件由主程序、A/D轉(zhuǎn)換子程序、鍵盤處理子程序、報(bào)警模塊子程序、時(shí)鐘模塊、液晶顯示子程序等組成。主程序是控制和管理的核心。系統(tǒng)上電后進(jìn)行初始化和中斷處理操作。初始化主要完成對報(bào)警值的設(shè)定和初次檢查,同時(shí)斷開各電器的電源。初始化完成后,系統(tǒng)開始正常運(yùn)轉(zhuǎn)。進(jìn)行待選氣體濃度檢測和報(bào)警等操作,主程序的流程圖如下圖所示。
3.4 系統(tǒng)軟件流程
3.4.1 主程序模塊
主程序?qū)崿F(xiàn)的功能:與硬件相結(jié)合實(shí)現(xiàn)便攜式居室空氣質(zhì)量檢測儀器的各個(gè)功能。主要是檢測與顯示,時(shí)間調(diào)整與顯示,數(shù)據(jù)存儲(chǔ),超標(biāo)報(bào)警,功能子函數(shù)的調(diào)用等(見圖3)。
圖3主程序流程圖
3.4.2 A/D轉(zhuǎn)換模塊
A/D轉(zhuǎn)換模塊的主要功能就是將經(jīng)放大器放大的模擬電壓信號轉(zhuǎn)化為MCU能夠處理的數(shù)字信號,并傳送給MCU,進(jìn)行下一步處理。
圖 4 A/D轉(zhuǎn)換處理子程序流程圖
3.4.3 按鍵控制模塊
按鍵能夠?qū)崿F(xiàn)人機(jī)對話機(jī)制,通過按鍵的操作,對系統(tǒng)進(jìn)行發(fā)送操作指令,后經(jīng)與MCU串行通信,然后在液晶上顯示。按鍵查詢式的流程圖見下圖:
圖 5 按鍵檢測子程序流程圖
圖 6 溫濕度數(shù)據(jù)采集子程序流程圖
3.4.4 時(shí)鐘模塊
時(shí)鐘模塊主要是用于時(shí)間顯示和與MCU通信經(jīng)LCD顯示時(shí)間。時(shí)鐘模塊子程序流程圖見下圖:
圖 7 時(shí)鐘模塊操作子程序流程圖
評論