單片機軟件實現是單片機系統應用的重點,他是在硬件設計基礎上實現程序設計的重要環節。單片機程序設計一般包括以下幾個步驟:軟件規劃、流程圖編制、代碼編寫。由于單片機系統具有軟硬件緊密結合的特點,因此在基于某種單片機系統的軟件開發時,應充分了解該系統實現的硬件環境,同時也應該在系統設計與硬件設計階段,對軟件設計有一個大體的規劃。因此,本文在介紹室內機控制器功能的基礎上,重點討論如何用軟件實現該室內機的功能。 1 室內機控制器的功能 室內機控制器主要是驅動風門步進電機,接收來自紅外遙控器設計的指令,進入到相應的工作狀態,并顯示運行狀態。 室內機控制器包括以下幾個硬件電路模塊:室內機處理器,室內機驅動電路,風門步進電機,顯示板電路(LED),紅外遙控接收/發送電路,室內機外裝置串行通信電路,溫度傳感器電路。室內機控制電路框圖如圖1所示。 1.1 室內機CPU 從以上室內機控制器包含的硬件電路模塊來看,要設計家用空調控制器在功能上要求具有2路溫度傳感器,1個步進電機控制接口,1組PG調速風機控制,10 個發光二極管溫度指示,紅外遙控接收接口和室外機組控制接口。選擇Microchip公司的PIC16C74單片機,可以滿足以上條件,該單片機具有以下特點: (1) 獨立分離的數據總線和14 b指令總線的“哈佛”結構,采用33條精簡指令集,指令執行速度快,效率高。內含4 kB程序存儲器和192 B數據存儲器,滿足設計要求。 (2) 內置具有8路10 b A/D轉換,簡化電路設計。 (3) 3個硬件定時器,便于控制器復雜的延時保護。 1.2 PG電機 PG電機內的霍爾傳感器主要是檢測電機的轉速并反饋到CPU中,最終達到調節風速的目的。在設計閉環風機調速部分,可以采用簡單的二階伺服環路控制模式,在速度閉環的基礎上增加加速度閉環控制算法,解決風機控制的風速抖動問題,使得PG電機運轉平穩性得到大幅度提高。 2 空調室內機控制器軟件規劃 2.1 軟件的總體設計 在進行室內機控制器軟件實現時,首先要進行軟件設計,軟件設計主要基于模塊化設計思想,將軟件分解成若干功能,通過主程序將各軟件設計模塊有機地組織起來。該室內機控制器的軟件設計模塊主要包括:主程序、紅外接收模塊、運行模塊、風門步進電機控制模塊、PG風機調速模塊、運行模式模塊、A/D轉換處理模塊。同時在設計時應考慮以下幾類中斷: 自動按鍵中斷、風機速度中斷,除此之外應規劃設計2個定時器中斷:設置定時器0產生250ms定時中斷,定時器1產生125 μs定時中斷。 2.2 軟件的詳細設計 對室內機控制器在總體上進行了模塊功能的設計后,應對每一個模塊的實現進行詳細設計,在這里以運行模式模塊為例來討論該模塊的詳細設計過程。 空調室內機運行模式主要包括:自動運行模式、制冷運行模式、抽濕運行模式、通風運行模式和制熱運行模式。以下主要從各運行模式特點、各模式與主程序的流程圖規劃和運行模式編程語言的選擇與編程實現等3個方面介紹如何開發一個復雜工程。 2.2.1空調室內機各運行模式的特點 (1) 自動運行模式進入自動模式,LED顯示屏上自動標志常亮,5 s后選定工作模式,5 s期間風門、風速、溫度可調,空調根據最終設定溫度(默認初始設定值24 ℃)與當前室溫的差別,自動進入制冷或制熱模式,以維持設定溫度,令室內溫度為T,設定溫度為T0,當T≥T0時,進入制冷運行;當T0時,進入制熱運行。 (2) 制冷運行模式制冷運行模式溫度設定范圍為16"30 ℃(初始值24 ℃),當T≥T0時,壓縮機、外風機運轉;當T0時,壓縮機、外風機停止運轉;當室內溫度回升到高于設定溫度1.0 ℃時,壓縮機、室外風機運轉,室內機始終運轉,可選 擇自動、高、中、低任意一檔風速。在自動風速時:Δt≥2 ℃,高風;Δt≤0 ℃,低風(其中Δt=|T-T0|);當選擇制冷方式運轉后,空調可按圖2所示運行。在制冷狀態下,同時要考慮空調器自我保護的設計。例如,防止換向閥誤動作引起的異常升溫和防止凍結等。 (3) 制熱運行模式制熱運行模式下溫度設定范圍為16"30 ℃(初始值24 ℃),當選定制熱運行方式后,可按圖3所示運行,在制熱過程中風速可任意選擇,并在制 熱過程中考慮防冷風控制、超負荷、吹余熱等保護功能的設置。 (4) 抽濕運行模式當選擇抽濕方式運轉,空調器將以制冷方式運轉到室內溫度達到遙控器設定的溫度為止,然后轉入抽濕方式,開3 min再停3 min,如此循環進行。停機時,內風機延時30 s停止。在抽濕運轉時,溫度可調,溫度范圍設定在16"30 ℃。 (5) 通風運行模式在通風運行模式下,室外機組停止運轉,室內風機可選擇自動、高、中、低任意一檔風速。當Δt>4 ℃時,運行高風,當Δt<0 ℃時,運行低風。 2.2.2空調各運行模式的流程圖設計 面對復雜系統的實現,在程序實現之前,應依賴于流程圖使復雜的問題變得清晰易于理解,因此在分析了各運行模式的特點后,利用結構化分析方法將各運行模式模塊化,然后再在模塊化的基礎上具體繪制各模塊的流程圖,將各功能模塊的功能進行進一步明確。以下給出了主程序的流程圖和制冷運行模式的流程圖,如圖4、圖5所示。 2.2.3運行模式編程實現 各模塊的流程圖畫好后,下一步的工作就是要用某種編程語言實現各功能模塊。在用編程語言實現時,選擇了Microchip公司提供的MPLAB(4.00)集成開發環境。該開發環境是Microchip公司為其PIC系列單片機專門設計的開發環境,該平臺包括編輯器、編譯環境、軟件仿真、硬件仿真,同時該環境采用Windows界面,開發設計非常方便。由于篇幅的原因這里只給出制冷運行模塊的編程實現。 3 結語 在基于PIC16C74單片機空調室內機軟件的實現時,對該系統的系統設計與硬件設計進行了充分的了解,并在此基礎上運用結構化程序設計的方法進行功能分解與模塊設計,使得在編程時能達到事半功倍的效果,且有利于日后對程序的仿真和調試。 |