基于ISA總線(xiàn)與KH-9300的數據采集系統軟件設計
1 引言
該數據采集系統采用硬中斷方式,通過(guò)對KH-9300板卡上的8254定時(shí)器和8259中斷控制器編程定時(shí)觸發(fā)中斷并對外部脈沖計數,設計中每隔1 s采集1次數據,數據采集卡第0和1號通道采用串行方式并使用板卡上的內部時(shí)鐘進(jìn)行計時(shí),第2、3、4、5號通道輸人外部計數脈沖計數。所有通道采用內部門(mén)控信號。當串行的第0~1通道計數滿(mǎn)時(shí),就向板卡上的8259中斷控制器的IN1引腳發(fā)出中斷指令。通過(guò)8259中斷控制器向計算機內的8259A的中斷引腳(這里設計為第5號中斷引腳)發(fā)出中斷指令。CPU響應中斷請求,執行中斷程序,對板卡上第2、3、4、5號通道進(jìn)行數據采集,并把采集后的數據寫(xiě)入文件。
2 板卡及8254定時(shí)、計數常數的設置
時(shí)鐘跳線(xiàn)的設置:0號通道選內部時(shí)鐘,0和1兩通道級聯(lián),2~5號通道接外部脈沖,選外部時(shí)鐘。門(mén)控跳線(xiàn)設置為所有通道都選內部門(mén)控;基地址設置為280H;中斷號設置為INT5(中斷向量號為13);內部時(shí)鐘頻率設置為2 MHz。
(1)定時(shí)常數的計算 定時(shí)系數=要求定時(shí)的時(shí)間/時(shí)鐘脈沖的周期。若定時(shí)的時(shí)間為1 s,內部時(shí)鐘頻率為2 MHz。則時(shí)鐘脈沖的周期為1 s/2 MHz=0.5μs,定時(shí)系數為1s/0.5 μs=2×106=2 000 000。由于8254定時(shí)計數器6個(gè)通道為16位減計數器,每個(gè)通道計數值最大為216-1=65 5352 000 000。所以必須采用2個(gè)通道計時(shí),設計中將第0通道和第1通道串聯(lián)。由2×106=1 000×2×103,則定時(shí)系數:第0通道為2 000,第1通道為1 000。
(2)計數通道的初始化 計數通道常數設置為最大值:FFFFH。最大計數頻率為65 535 Hz/s。
(3)計數累計脈沖量計算 計數累計脈沖量=FFFFH-計數器本次讀數。
3 用Turbo C編寫(xiě)中斷服務(wù)程序的方法
C語(yǔ)言中斷服務(wù)程序可由3部分實(shí)現。即編寫(xiě)中斷服務(wù)程序、安裝中斷服務(wù)程序、激活中斷服務(wù)程序。
評論