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