基于AT89S52單片機的太陽能環(huán)境參數測試儀設計
圖4為鋰電池充電電路。其中LEDl和LED2分別作為充電中和充電飽和兩種狀態(tài)的指示燈,R1在充電時起限流保護的作用;電容C1和C2采用的是多層陶瓷電容器(MLCC),能保證充電電路穩(wěn)定工作。
1.5 通信模塊
測試儀通過RS485工業(yè)總線與PC機進行通信,其硬件接口電路如圖5所示。
2 軟件設計
2.1 總體設計
測試儀的軟件開發(fā)環(huán)境采用的是Keil C,所有代碼采用C語言編寫。為了方便程序調試和提高可靠性,軟件采用模塊化結構設計,主要由初始化程序、主程序、子程序、中斷服務程序等組成。單片機上電后即開始循環(huán)執(zhí)行溫濕度、照度測量程序,并以設定的時間間隔在數碼管上輪流動態(tài)顯示;按鍵切換和通信功能部分由于使用頻率相對較低,為降低設備功耗,其程序以中斷響應的方式執(zhí)行。在此要注意中斷優(yōu)先級的設置:按鍵中斷優(yōu)先級應高于串口中斷,否則將無法進行顯示切換。主程序流程如圖6所示。
2.2 傳感器驅動程序
本系統(tǒng)采用的傳感器均為集成數字芯片且都具有I2C總線接口,故其驅動程序的編寫要嚴格遵循I2C總線的時序。主程序為每一個參數開辟了一個8位的存儲空間,傳感器將采集到的數據經SDA引腳串行輸出,驅動程序將SDA線上輸出的數據進行串并轉換,并存儲到相應空間中,以方便其他功能程序調用。以下是照度傳感器數據采集程序的部分代碼。
評論