六通道數據采集及處理系統(tǒng)的研制
3 系統(tǒng)軟件設計
系統(tǒng)主程序框圖如圖8所示。
系統(tǒng)主程序設計為一個循環(huán)程序,在一個循環(huán)中完成以下工作:①向A/D轉換器發(fā)送命令字,讀取A/D轉換器的轉換結果,并根據來自PC機的指令,將讀取的轉換結果進行初步處理;②將數據發(fā)送給PC機;③接收來自PC機的命令,并對命令做出反應。
本系統(tǒng)中,TLC2543輸出結果設置成12位無符號整型數,輸出順序為高位在前。為了使采樣結果更準確,采取如下采樣方式:在每一個主程序循環(huán)中,由單片計算機依次讀取AIN0~AIN5六個通道的采樣數據,并將各通道的數據依次存放到單片機的RAM中,六個通道讀完一次之后,再依次讀取 AIN0~AIN5六個通道的采樣數據,并將新讀取的各通道的數據分別加入到前面讀取的結果中,這樣連續(xù)讀取8次,得到各通道8次采樣結果之和,然后將這些結果分別除以8,得到各通道8次采樣結果的平均值,并把它們作為各通道的采樣結果傳送給PC機。由于A/D轉換器輸出的結果并不直接表示電壓的大?。?00H表示0V,FFFH表示3.0V),單片機可根據來自PC機的命令,將這些結果轉換成電壓值(如將FFFH轉換成003H),結果的轉換通過調用子程序完成。
圖8 系統(tǒng)主程序框圖
系統(tǒng)主程序每循環(huán)一次,單片機向PC機發(fā)送一組數據,這一組數據包含三個部分:①三個同步字節(jié)#55H、#0AAH、#01H(供PC機識別發(fā)送內容用);②AIN0~AIN5六個通道的采樣結果;③采樣結果的累加和(供PC機校驗發(fā)送數據的正確性用)。數據的發(fā)送通過調用發(fā)送子程序實現。循環(huán)程序中有一個延時程序, PC機通過傳送延時參數控制單片機完成一次循環(huán)所需的時間,從而控制單片機向PC機發(fā)送數據的頻率。來自PC機的命令通過中斷方式讀入,每當PC機有信號傳入,就引起單片機的串行口中斷,單片機在中斷服務程序中讀入命令,并執(zhí)行收到的命令。
單片機串行口的工作方式設置成方式1,串行通信的波特率設計為4800。設波特率發(fā)生器T1的初值為x,則[4]
即 x=250(十)=#0FAH(十六)
所以 TL1=#0FAH,TH1=#0FAH.
評論