《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 基于ISA總線與KH-9300的數據采集系統軟件設計
基于ISA總線與KH-9300的數據采集系統軟件設計
摘要: 該數據采集系統采用硬中斷方式,通過對KH-9300板卡上的8254定時器和8259中斷控制器編程定時觸發中斷并對外部脈沖計數,設計中每隔1 s采集1次數據,數據采集卡第0和1號通道采用串行方式并使用板卡上的內部時鐘進行計時,第2、3、4、5號通道輸人外部計數脈沖計數。所有通道采用內部門控信號。當串行的第0~1通道計數滿時,就向板卡上的8259中斷控制器的IN1引腳發出中斷指令。通過8259中斷控制器向計算機內的8259A的中斷引腳(這里設計為第5號中斷引腳)發出中斷指令。CPU響應中斷請求,執行中斷程序,對板卡上第2、3、4、5號通道進行數據采集,并把采集后的數據寫入文件。
Abstract:
Key words :

1 引言

    該數據采集系統采用硬中斷方式,通過對KH-9300板卡上的8254定時器和8259中斷控制器編程定時觸發中斷并對外部脈沖計數,設計中每隔1 s采集1次數據,數據采集卡第0和1號通道采用串行方式并使用板卡上的內部時鐘進行計時,第2、3、4、5號通道輸人外部計數脈沖計數。所有通道采用內部門控信號。當串行的第0~1通道計數滿時,就向板卡上的8259中斷控制器的IN1引腳發出中斷指令。通過8259中斷控制器向計算機內的8259A的中斷引腳(這里設計為第5號中斷引腳)發出中斷指令。CPU響應中斷請求,執行中斷程序,對板卡上第2、3、4、5號通道進行數據采集,并把采集后的數據寫入文件。

2 板卡及8254定時、計數常數的設置
    時鐘跳線的設置:0號通道選內部時鐘,0和1兩通道級聯,2~5號通道接外部脈沖,選外部時鐘。門控跳線設置為所有通道都選內部門控;基地址設置為280H;中斷號設置為INT5(中斷向量號為13);內部時鐘頻率設置為2 MHz。
    (1)定時常數的計算 定時系數=要求定時的時間/時鐘脈沖的周期。若定時的時間為1 s,內部時鐘頻率為2 MHz。則時鐘脈沖的周期為1 s/2 MHz=0.5μs,定時系數為1s/0.5 μs=2×106=2 000 000。由于8254定時計數器6個通道為16位減計數器,每個通道計數值最大為216-1=65 535<2 000 000。所以必須采用2個通道計時,設計中將第0通道和第1通道串聯。由2×106=1 000×2×103,則定時系數:第0通道為2 000,第1通道為1 000。
    (2)計數通道的初始化 計數通道常數設置為最大值:FFFFH。最大計數頻率為65 535 Hz/s。
    (3)計數累計脈沖量計算 計數累計脈沖量=FFFFH-計數器本次讀數。

3 用Turbo C編寫中斷服務程序的方法
    C語言中斷服務程序可由3部分實現。即編寫中斷服務程序、安裝中斷服務程序、激活中斷服務程序。

    (1)編寫中斷服務程序由于產生中斷時,必須保留被中斷程序中斷時的一些現場數據,即保存斷點,這些值都在寄存器中,以便恢復中斷時使這些值復原。以繼續執行原來被中斷的程序。 Turbo C為此提供一種新的函數類型:inter-rupt,它將保存由該類型函數所指寄存器的值,而在退出該函數時,再復原這些寄存器的值,因而用戶的中斷服務程序必須定義成該類型的函數,如中斷服務程序名為myp,則可將這個函數說明為:

    Void interrupt myp(unsigned bp,unsigned di,unsigned si,unsigned ds,unsigned es,unsigned dx,unsigned cx,unsignedbx,unsigned ax,unsiged ip,unsigned cs,unsigned flags)
    小模式下程序只有1段,在中斷服務程序中用戶可像用無符號整數變量一樣使用這些寄存器。若中斷服務程序中不使用上述寄存器,則可不寫這些寄存器參數,而寫為:

 

  
    對于硬件中斷,則在中斷服務程序結束前要將中斷結束命令字送至系統的中斷控制寄存器,其端口地址為0x20,中斷結束命令字也為0x20,即outportb(0x20,0x20)。
    在中斷服務程序中,若不允許別的優先級較高的中斷打斷它,則要禁止中斷,可用函數disable()來關閉中斷。若允許中斷,則可用開中斷函數enable()來開啟中斷。
    (2)安裝中斷服務程序定義中斷服務程序后,還需將這個函數的人口地址填人中斷向量表中,以便產生中斷時程序能轉入中斷服務程序去執行。為防止正在改寫中斷向量表時,又產生別的中斷而導致程序混亂,可先關閉中斷,待改寫完成后,再開啟中斷。

  
    其中faddr是中斷服務程序的入口地址,其函數名代表入口地址,而inum表示中斷類型號,setvect()函數設置中斷向量,上述定義的install()函數將完成把中斷服務程序入口地址填入中斷向量inum中。
    (3)中斷服務程序的激活對于硬件中斷,在相應的中斷請求線(IRQi,i=0,1,2,…,7)產生一個由低到高的中斷請求電平,這個過程必需由接口電路來實現,這個電平可用程序控制實現,如發命令outportb(端口地址,命令)。然后程序等待中斷,當中斷產生時,便去執行中斷。
    (4)恢復被修改的中斷向量為在主程序結束后,恢復原來的中斷向量以指向原中斷服務程序,在主程序開始時,存下原中斷向量的內容,用getvect()實現,如j=(char*)getvect(0x1c),這樣指針變量中將是0xlc中斷程序的入口地址,當主程序結束時,可恢復原來的中斷服務入口地址,可用setvect(0x1c,i),也可用install()函數再次安裝。

4 程序設計
4.1 程序說明
    程序主要分為主程序和中斷處理子程序2部分。其中主要程序是采用 I/O接口的輸入輸出函數進行初始化。包括設置KH-9300定時計數器8254和中斷控制器8259的工作方式、初值、開中斷、觸發方式,對計算機的 8259開中斷等。在主程序的最后把采集的通道數據寫入文件。而中斷處理子程序是由CPU在每次接到IRQ5中斷請求信號后立即執行,主要作用是把KH- 9300卡的第2、3、4、5號通道的計數值采集到程序的變量中。主程序和中斷處理子的程序流程分別如圖1、圖2所示。

4.2 編程注意事項
    (1)不要用任何DOS功能調用,避免DOS重入。盡量避免使用與屏幕相關、檢查狀態、讀鍵盤及任何磁盤I/O子程序:避免使用浮點(實數)運算。中斷服務程序中所調用函數盡量是BIOS級庫函數;(2)中斷程序執行的時間應盡可能的短。若 ISR中消耗時間過長,在完成一次運行前有可能被再次調用,導致系統被掛起。(3)控制變量可以是全局變量,也可通過寄存器變量傳遞給interrupt 函數;(4)若實時控制系統對中斷響應速度要求較高,可采用嵌入匯編技術。

4.3 程序調試結果

    圖3為調試結果。圖3中每1行后4個數據為每1 s所采集的4通道數據,第1列是第幾次采集,即第幾秒采集,后4列是第2、3、4、5通道所采集的數據。因此采集的數據具有較高穩定性。

 

5 結束語
    從程序調試數據可看出,采集到的數據具有很高的穩定性。該系統可方便組成連續監測系統或其他需要記錄脈沖的系統。同時利用Turbo C可方便的控制其端口和硬件中斷。

 

 

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产一级揄自揄精品视频| 国产精品免费观看视频| 一二三四社区欧美黄| 午夜亚洲性色视频| 制服丝袜激情欧洲亚洲| 亚洲欧洲在线看| 亚洲电影在线免费观看| 一区二区三区在线免费视频| 国产女主播在线一区二区| 欧美先锋影音| 欧美日韩中文字幕| 欧美精品一区在线发布| 欧美激情va永久在线播放| 久久躁日日躁aaaaxxxx| 久久久久青草大香线综合精品| 亚洲欧美高清| 亚洲欧美日韩国产综合在线| 亚洲你懂的在线视频| 亚洲线精品一区二区三区八戒| 中日韩美女免费视频网址在线观看| 亚洲精品亚洲人成人网| 亚洲看片免费| 99亚洲视频| 亚洲视频专区在线| 亚洲一区二区三区四区在线观看| 亚洲午夜久久久久久久久电影网| 亚洲一区二区三区影院| 亚洲男人的天堂在线观看 | 久久国产精品99精品国产| 久久xxxx精品视频| 亚洲激情电影中文字幕| 亚洲免费成人av| 一区二区三区四区国产精品| 亚洲一区二区视频在线| 国产一区二区三区在线观看精品 | 欧美自拍偷拍午夜视频| 欧美影院精品一区| 久久精品国产第一区二区三区| 亚洲电影专区| av成人激情| 午夜视频久久久久久| 久久久精品国产免费观看同学| 久久亚洲精品视频| 欧美精品在线极品| 国产精品爽黄69| 激情综合中文娱乐网| 亚洲日韩视频| 亚洲免费视频网站| 久久精品欧美日韩| 亚洲免费不卡| 午夜免费电影一区在线观看| 久久久久久久久综合| 欧美国产先锋| 国产女人水真多18毛片18精品视频| 黄网动漫久久久| 一区二区高清视频| 欧美在线一级视频| 一区二区三区三区在线| 欧美在线看片a免费观看| 免费在线看一区| 国产精品久久久久久久久免费桃花| 国产午夜亚洲精品羞羞网站| 亚洲国产一区二区三区在线播 | 国产亚洲成av人在线观看导航| 影音先锋一区| 亚洲午夜精品| 最新亚洲一区| 欧美一区二区三区免费观看| 欧美成人在线影院| 国产精品综合av一区二区国产馆| 亚洲高清资源| 亚洲欧美日韩国产另类专区| 亚洲免费福利视频| 女女同性女同一区二区三区91| 欧美成人午夜剧场免费观看| 亚洲综合日韩在线| 国产精品亚洲成人| 久久精品99久久香蕉国产色戒| 久久成人免费网| 亚洲伊人观看| 欧美成人一区二免费视频软件| 亚洲女人天堂av| 国模套图日韩精品一区二区| 国产精品美女在线观看| 久久综合九色欧美综合狠狠| 欧美日韩国产首页在线观看| 国产精品国产三级欧美二区| 狠狠色狠色综合曰曰| 亚洲精品乱码| 亚洲成色最大综合在线| 亚洲视频高清| 亚洲理伦在线| 玖玖视频精品| 一区二区三区蜜桃网| 亚洲国产成人精品女人久久久| 一区二区三区高清在线| 久久精品欧美日韩精品| 午夜精品久久久久久久久久久| 欧美成人黑人xx视频免费观看| 国产精品一二三四| 夜夜夜精品看看| 日韩手机在线导航| 狂野欧美激情性xxxx欧美| 国产精品日韩精品| 亚洲美女视频网| 亚洲精品乱码久久久久| 久久久久久伊人| 国产亚洲成年网址在线观看| 亚洲一区二区三区精品在线| 一本大道久久精品懂色aⅴ| 欧美多人爱爱视频网站| 国产专区欧美专区| 亚洲精品小视频在线观看| 午夜在线播放视频欧美| 午夜电影亚洲| 国产精品扒开腿爽爽爽视频| 亚洲精选视频免费看| 在线视频精品一区| 欧美日韩精品免费观看视一区二区| 黑人中文字幕一区二区三区 | 亚洲资源在线观看| 亚洲图片欧洲图片av| 亚洲天堂av图片| 亚洲精品黄网在线观看| 亚洲午夜电影网| 亚洲激情在线观看| 亚洲免费在线视频| 亚洲一区二区少妇| 欧美日韩另类综合| 亚洲欧洲在线播放| 亚洲蜜桃精久久久久久久| 欧美成人首页| 亚洲国产一区二区在线| 亚洲六月丁香色婷婷综合久久| 欧美va日韩va| 亚洲精品少妇网址| 亚洲无线一线二线三线区别av| 欧美视频一区二区三区在线观看| 一本色道久久综合亚洲精品按摩 | 欧美一区二区视频网站| 国产欧美日韩另类视频免费观看| 新67194成人永久网站| 久久亚洲捆绑美女| 亚洲国产婷婷香蕉久久久久久99| 亚洲最新视频在线播放| 欧美三级电影精品| 亚洲欧美日韩网| 久久―日本道色综合久久| 亚洲国产成人久久综合| 一区二区三区视频在线观看| 国产精品久久久久婷婷| 欧美一区91| 欧美 日韩 国产在线| aa亚洲婷婷| 欧美在线影院| 亚洲高清色综合| 亚洲午夜精品一区二区三区他趣 | 宅男精品视频| 国产精品mv在线观看| 亚洲欧美日本视频在线观看| 久久精品五月婷婷| 亚洲国产精品电影| 亚洲一区二区三区在线看| 国产亚洲精品美女| 日韩视频在线你懂得| 国产精品免费一区豆花| 久久国产欧美精品| 欧美美女喷水视频| 亚洲欧美国产日韩中文字幕| 蜜臀a∨国产成人精品 | 亚洲视频二区| 久久久夜夜夜| 亚洲精品一区二区三区蜜桃久| 亚洲欧美一级二级三级| 黄色日韩网站| 亚洲性视频网站| 国产亚洲观看| 亚洲精品美女91| 国产乱肥老妇国产一区二| 久久精品国产91精品亚洲| 欧美日韩国产成人在线观看| 亚洲欧美激情四射在线日 | 亚洲激情在线| 欧美一区国产一区| 亚洲欧洲日本mm| 欧美自拍偷拍| 亚洲美女区一区| 久久琪琪电影院| 在线亚洲精品福利网址导航| 久久一区二区三区超碰国产精品| 99精品国产在热久久| 久久婷婷国产麻豆91天堂| 一本色道久久88亚洲综合88| 久久久精品欧美丰满| 一区二区三区色| 欧美国产日本高清在线| 欧美一区二区视频网站| 欧美性大战久久久久| 亚洲人成在线观看网站高清| 国产欧美精品一区二区三区介绍|