單片機技術在數據采集及監測過程中的應用
2.3 數據采集子程序
0834的功能和特點:8位串行逐次逼近模數轉換器,占用I/O口線少,通過信號線引入的干擾也少;易于和微處理器連接;滿比例尺工作或用5V基準電壓;地址邏輯多路器選通的4輸入通道;單5V供電,輸入范圍0~5V;輸入和輸出與TTL和CMOS兼容;在Fclock=250kHZ(時鐘頻率)時,轉換時間為32微秒;總非調整誤差1LSB。
工作時序及過程:
置CS(非)為低,使所有邏輯電路使能,轉換器初始化。CS(非)在整個轉換過程必須一直保持為低。接著從處理器接收一個時鐘,在每個時鐘的上跳變化時,DI端的數據移入多路器地址移位寄存器。第一位為邏輯高,表示啟始位。緊接的3到4位是配置位。在連續的每個時鐘的上跳變化時,啟始位和配置位移入移位寄存器。當啟始位移入多路器寄存器的開始位置后,輸入通道選通,轉換開始。SAR狀態輸出(SARS)變為高表示轉換過程正在進行中。DI端在轉換過程中與多路器的移位寄存器之間是關斷的。本文引用地址:http://www.104case.com/article/171565.htm
一個時鐘的時間間隔被自動插入,以使選定的多路通道穩定。DO脫離高阻狀態,提供一個時鐘的時間間隔的低電平,使多路器穩定。SAR比較器把從電阻梯級網絡輸出的逐次信號和輸入模擬信號進行比較。比較器的輸出指出模擬輸入大于還是小于電阻梯級網絡的輸出。在轉換過程中,轉換數據同時從DO端輸出,以最高位(MSB)開頭。經8個時鐘后,轉換完成,SARS變為低。TLC0834在輸入以最高位(MSB)開頭的數據流后,又以最低位(LSB)開頭重輸出一遍前面的數據流,當CS(非)變為高,內部所有寄存器清零。此時,輸出電路變為高阻狀態。如果希望開始另一輪轉換,CS(非)必須做一個從高到低的跳變,后面緊跟地址數據。此外,DI和DO可以連在一起,通過一根線連到處理器的一個雙向I/O口,因為DI端只在多路器尋址時被檢測,而此時DO端為高阻狀態。
2.3.1 數據采集模塊
由于8031無專門的供串行A/D轉換的時序接口,故用8031的P1.0口模擬TLC0834進行A/D轉換所需的時序。DI為數據輸入口,DO為數據輸出口,SARS為輸出口。
2.3.2 數字濾波子程序
數值濾波子程序采用“去掉一個最高分,去掉一個最低分”的方法,其具體做法為:連續采樣幾次,將其求累加和,同時找出其中的最大值和最小值,再從累加和里減去最大值和最小值,求剩下數據的平均值,即得有效采樣值。該程序為每個數據連續采集6次,最終結果送A,這樣就可以消除干擾的影響,提高所采集數據的真實性,防止干擾所引起的偶然性誤差。
2.3.3 數據轉換子程序
功能:由于所采集的信號都是轉換成0~5V的標準信號,以滿足A/D轉換要求,所以在顯示和打印時,應經過乘以相應的系數轉換成實際值。同時由于計算機所用的碼制大多為二進制或十六進制也應將之轉換成符合人們習慣的十進制數供顯示和打印。
入口:被轉換數據放在A中,出口:轉換結果,十位放R6中,個位放R5中,小數位放R4中。
二進制轉換成十進制子程序:
由于計算機的數據代碼通常為二進制或十六進制,不符合人們的習慣,通過該子程序功能可轉換成符合人們習慣的十進制數供顯示和打印。入口一R2R3,出口一R0R1R2R3R4R5(6位BCD碼)
2.3.4 實時時鐘芯片DS12887功能程序
帶RAM的實時時鐘DS12887是DALLAS公司最成功的產品,其主要特點:斷電情況下運行十年以上不丟失數據,計秒、分、時、天、星期、日、月、年,并有閏年補償功能,可以用二進制數碼或BCD碼表示時間日歷和警報。
內部RAM及寄存器功能。DS12887內部具有128個非易失性RAM,即當外部電壓低于3V時,外部Vcc被關閉,內部鋰電池被接通繼續為實時時鐘供電,并保護內部RAM存儲器中的數據。
評論