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