基于單片機的多氣體檢測系統設計方案
微處理器采用的是AT89C51 芯片。
89C51 單片機是ATMEL、PHILIPS和SST等公司生產(chǎn)的與80C51 兼容的低功耗、高性能8 位單片機,具有比8031 更豐富的硬件資源,特別是其內部增加的閃速可電改寫(xiě)的存儲器Flash ROM給單片機的開(kāi)發(fā)及應用帶來(lái)了很大的方便,且芯片價(jià)格非常便宜。在該系統中89C51 主要對采集數據進(jìn)行處理,按各種氣體濃度的數學(xué)模型計算出其濃度,由數碼管顯示其相應的氣體種類(lèi)及濃度值,當濃度超標時(shí),進(jìn)行報警。
該系統還采用了分頻器SUN7474.分頻器對脈沖信號進(jìn)行2的n次方分之一的分頻,例如把32768HZ 的脈沖信號變成1HZ的秒信號。通常利用T觸發(fā)器實(shí)現,每來(lái)一個(gè)脈沖后觸發(fā)器狀態(tài)改變一次,經(jīng)過(guò)n個(gè)T觸發(fā)器處理后就可以得到2的n次方分之一的分頻信號。89C51接12MHZ晶振,經(jīng)ALE端后輸出到分頻器為2MHZ,分頻器進(jìn)行分頻后為ADC0809 提供所需的工作時(shí)鐘。
1.3 顯示電路
在該設計中,LED 顯示器的顯示方法采用動(dòng)態(tài)顯示。LED 動(dòng)態(tài)顯示的基本做法在于分時(shí)輪流選通數碼管的公共端,使得各數碼管輪流導通,在選通相應LED后,即在顯示字段上得到顯示字形碼。這種方式不但能提高數碼管的發(fā)光效率,并且由于各個(gè)數碼管的字段線(xiàn)是并聯(lián)使用的,從而大大簡(jiǎn)化了硬件線(xiàn)路。本設計中處理結果采用4位LED顯示,首位顯示氣體類(lèi)別,后3 位顯示氣體濃度。逐位輪流點(diǎn)亮各個(gè)LED,每一位保持1ms,在10~20ms 之內再一次點(diǎn)亮,重復不止。這樣利用人的視覺(jué)停留,好像4 位LED 同時(shí)點(diǎn)亮一樣。
綜上可得,基于單片機的多氣體檢測系統的數據采集、數據處理及結果顯示電路如圖3。
圖3 多氣體檢測系統電路
軟件設計
本設計由數據采集、數據轉換、數據處理、顯示和報警幾個(gè)模塊組成。
主程序流程圖為圖4。
圖4 主程序流程圖
AD0809 部分程序流程圖為圖5。
圖5 AD0809 部分程序流程圖
分頻器相關(guān)文章:分頻器原理
評論