www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]基于ISA總線與KH-9300的數(shù)據(jù)采集系統(tǒng)軟件設(shè)計

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

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

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

[!--empirenews.page--]
    (1)編寫中斷服務(wù)程序由于產(chǎn)生中斷時,必須保留被中斷程序中斷時的一些現(xiàn)場數(shù)據(jù),即保存斷點,這些值都在寄存器中,以便恢復(fù)中斷時使這些值復(fù)原。以繼續(xù)執(zhí)行原來被中斷的程序。 Turbo C為此提供一種新的函數(shù)類型:inter-rupt,它將保存由該類型函數(shù)所指寄存器的值,而在退出該函數(shù)時,再復(fù)原這些寄存器的值,因而用戶的中斷服務(wù)程序必須定義成該類型的函數(shù),如中斷服務(wù)程序名為myp,則可將這個函數(shù)說明為:
    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段,在中斷服務(wù)程序中用戶可像用無符號整數(shù)變量一樣使用這些寄存器。若中斷服務(wù)程序中不使用上述寄存器,則可不寫這些寄存器參數(shù),而寫為:

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

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

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

4.2 編程注意事項
    (1)不要用任何DOS功能調(diào)用,避免DOS重入。盡量避免使用與屏幕相關(guān)、檢查狀態(tài)、讀鍵盤及任何磁盤I/O子程序:避免使用浮點(實數(shù))運算。中斷服務(wù)程序中所調(diào)用函數(shù)盡量是BIOS級庫函數(shù);(2)中斷程序執(zhí)行的時間應(yīng)盡可能的短。若 ISR中消耗時間過長,在完成一次運行前有可能被再次調(diào)用,導(dǎo)致系統(tǒng)被掛起。(3)控制變量可以是全局變量,也可通過寄存器變量傳遞給interrupt 函數(shù);(4)若實時控制系統(tǒng)對中斷響應(yīng)速度要求較高,可采用嵌入?yún)R編技術(shù)。[!--empirenews.page--]
4.3 程序調(diào)試結(jié)果
    圖3為調(diào)試結(jié)果。圖3中每1行后4個數(shù)據(jù)為每1 s所采集的4通道數(shù)據(jù),第1列是第幾次采集,即第幾秒采集,后4列是第2、3、4、5通道所采集的數(shù)據(jù)。因此采集的數(shù)據(jù)具有較高穩(wěn)定性。

5 結(jié)束語
    從程序調(diào)試數(shù)據(jù)可看出,采集到的數(shù)據(jù)具有很高的穩(wěn)定性。該系統(tǒng)可方便組成連續(xù)監(jiān)測系統(tǒng)或其他需要記錄脈沖的系統(tǒng)。同時利用Turbo C可方便的控制其端口和硬件中斷。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

成都2022年10月19日 /美通社/ -- 近期,平安養(yǎng)老險積極籌備個人養(yǎng)老金的產(chǎn)品設(shè)計和系統(tǒng)開發(fā)工作,發(fā)展多樣化的養(yǎng)老金融產(chǎn)品,推動商業(yè)養(yǎng)老保險、個人養(yǎng)老金、專屬商業(yè)養(yǎng)老保險等產(chǎn)品供給。 搭養(yǎng)老政策東風(fēng) ...

關(guān)鍵字: 溫度 BSP 東風(fēng) 大眾

廣東佛山2022年10月19日 /美通社/ -- 空間是人居生活的基礎(chǔ)單元,承載著生存與活動的最基本功能。而對于理想空間的解構(gòu)意義卻在物理性容器之外,體現(xiàn)出人們對于空間和生活深層關(guān)系的思考,同時也塑造著人與空間的新型連接...

關(guān)鍵字: 溫度 BSP 智能化 進程

上海2022年10月19日 /美通社/ -- 10月17日晚間,安集科技披露業(yè)績預(yù)告。今年前三季度,公司預(yù)計實現(xiàn)營業(yè)收入7.54億元至8.33億元,同比增長60.24%至77.03%;歸母凈利潤預(yù)計為1.73億...

關(guān)鍵字: 電子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市經(jīng)濟和信息化局發(fā)布2022年度第一批北京市市級企業(yè)技術(shù)中心創(chuàng)建名單的通知,諾誠健華正式獲得"北京市企業(yè)技術(shù)中心"認定。 北京市企業(yè)技...

關(guān)鍵字: BSP ARMA COM 代碼

北京2022年10月18日 /美通社/ -- 10月14日,國際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國軟件定義存儲及超融合市場研究報告》,報告顯示:2022年上半年浪潮超融合銷售額同比增長59.4%,近5倍于...

關(guān)鍵字: IDC BSP 數(shù)字化 數(shù)據(jù)中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都銀行集團成立60周年的紀念日。趁著首都銀行集團成立60周年與首都銀行(中國)在華深耕經(jīng)營12年的“大日子”,圍繞作為外資金融機構(gòu)對在華戰(zhàn)略的構(gòu)想和業(yè)...

關(guān)鍵字: 數(shù)字化 BSP 供應(yīng)鏈 控制

東京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式會社(NIPPON EXPRESS HOLDINGS, INC.)旗下集團公司上海通運國際物流有限公司(Nipp...

關(guān)鍵字: 溫控 精密儀器 半導(dǎo)體制造 BSP

廣州2022年10月18日 /美通社/ -- 10月15日,第 132 屆中國進出口商品交易會("廣交會")于"云端"開幕。本屆廣交會上高新技術(shù)企業(yè)云集,展出的智能產(chǎn)品超過140,...

關(guān)鍵字: 中國智造 BSP 手機 CAN

要問機器人公司哪家強,波士頓動力絕對是其中的佼佼者。近來年該公司在機器人研發(fā)方面獲得的一些成果令人印象深刻,比如其開發(fā)的機器人會后空翻,自主爬樓梯等。這不,波士頓動力又發(fā)布了其機器人組團跳男團舞的新視頻,表演的機器人包括...

關(guān)鍵字: 機器人 BSP 工業(yè)機器人 現(xiàn)代汽車

南京2022年10月17日 /美通社/ -- 日前《2022第三屆中國高端家電品牌G50峰會》于浙江寧波落幕,來自兩百余名行業(yè)大咖、專家學(xué)者共同探討了在形勢依然嚴峻的當下,如何以科技創(chuàng)新、高端化轉(zhuǎn)型等手段,幫助...

關(guān)鍵字: LINK AI BSP 智能家電

嵌入式軟件

15715 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉