環境監測系統采集終端軟件運行總體流程如圖所示。系統初始化完成包括液晶、ADC、串口2、T1的初始化、PWM波形的輸出以及將SIM900A配置為TCP數據傳輸方式;串口2采用獨立波特率發生器,波特率9600b/s;PWM周期為10ms,占空比約為3.2%,計數脈沖源為T0的溢出脈沖;T1定時10s,即每隔10s采集一次數據并以TCP方式發送至監測中心計算機;通過單片機串口2發送AT指令控制SIM900A模塊,SIM900A的TCP配置程序采用多分支選擇結構。
環境監測系統的溫濕度采集嚴格遵照時序操作,單片機發送開始信號,先拉低數據線,持續時間應大于18ms,再將數據線設置為輸入且拉高,等待dht11的響應信號。dht11發出80μs的低電平響應信號后,會將數據線拉高80μs,表示將開始數據傳送,即連續發送40位數據,前32位為有效數據,分別為8位濕度整數、8位濕度小數、8位溫度整數和8位溫度小數,最后8位為校驗和,數據位0或1都是以50μs低電平開始,根據后續高電平的持續時間加以區分,26~28μs為數據位0,70μs為數據位1。
環境監測系統灰塵濃度的采樣過程如下:單片機不斷地產生PWM脈沖,大約1s后GP2Y1010AU0F工作達到穩定狀態。單片機在監測到PWM信號的上升沿后,延時280μs,再啟動AD轉換,連續4次AD采樣,求得輸出電壓的平均值。根據輸出電壓(VO)與灰塵濃度(DustDensity)的函數關系式DustDensity=0.17×V0-0.1,可計算出對應的灰塵濃度值。
環境監測系統SIM900A的TCP數據傳輸方式主要用到的AT指令及功能描述見下表。