王根義
(陜西職業(yè)技術學院 陜西 西安 710100)
目前各行各業(yè)對計算機通信和控制應用的需求量越來越大,但計算機通信和控制的技術卻遠遠跟不上,因而不能提高微機通信和控制的性能,使微機通信和控制中的方式出現(xiàn)了死板性和局限性。本論文就是面對這種情況,采用邏輯代數(shù)知識,數(shù)字電子技術知識研究如何連接微機和8255A芯片,以靈活地應用8255A芯片進行各種通信和控制,提高微機通信和控制的檔次,并結合具體通信實例進行了編程,經(jīng)過實驗完全可行。本論文獲得了用8255A芯片進行通信和控制的新技術,總結了PC機基于用8255A芯片的多種具體可行的通信和控制的方式。
圖1 工作方式控制字Fig.1 Workingmode controlword
8255A的控制端口保存8255A的工作方式控制字的格式。
8255A的工作方式控制字的格式及各位的含義如圖1所示[1]:
8255A的PC口保存按位置位/復位控制字。
8255A的按位置位/復位控制字的格式及各位的含義如圖 2所示[2]。
8255A的工作方式控制字和PC口按位置位/復位控制字的端口地址相同,狀態(tài)字端口地址就是PC口的地址[3-4]。
圖2 PC口按位置位/復位控制字Fig.2 PC export by position/reset controlword
8255A的數(shù)據(jù)口有3個:PA、PB和PC。PA和PB都工作在方式0時,它們作為3個數(shù)據(jù)口可以無條件輸入/輸出;如果PA工作在方式1或方式2,或PB工作在方式1時,PC就有幾個引腳作為控制信號[5-6]。
8255A的A組可以工作在方式0、方式1或方式2,B組只能工作在方式0或方式。
當8255A的A口和B口工作在方式0時,C口也就工作在方式0。A口、B口、C口高4位和C口低4位可以由16種組合方式由 D4、D3、D1和 D0來確定[9]。
以A口為例,當A口作為數(shù)據(jù)口工作在方式1,輸入時,PC3、PC4和PC5引腳信號固定作為A組的聯(lián)絡信號,分別作為INTRA、IBF和STE,PC口的PC4位作為INTEA信號,PC4位的數(shù)據(jù)與PC4引腳數(shù)據(jù)不同,對PC位置位/復位的地址和對PC4口引腳訪問的地址不同;當A口作為數(shù)據(jù)口工作在方式1,輸出時,PC3、PC6和PC7引腳信號固定作為A組的聯(lián)絡信號,分別作為INTRA、ACK和OBF,PC口的PC6位作為INTEA信號,PC4位的數(shù)據(jù)與PC4引腳數(shù)據(jù)不同;INTRA為中斷請求信號,高電平有效[10-11]。
當外設接收了由CPU送給8255A的數(shù)據(jù)后 (或外設要向CPU傳送數(shù)據(jù)或請求中斷服務時),8255A就用INTR引腳的信號向CPU發(fā)出中斷請求,請求CPU再輸出后面的數(shù)據(jù)(或請求CPU取走數(shù)據(jù))。INTR是當INTEA、ACK和OBF(或IBF和STE)都為1時才為 1。
這是一種通過8位數(shù)據(jù)線與外設進行雙向通信的方式,它既能接收,也能發(fā)送數(shù)據(jù)。工作時可以用中斷方式,也可以用查詢方式與CPU聯(lián)系。方式2只限于A組實用,它用A口的8位線作為數(shù)據(jù)數(shù)據(jù)線,用C口的5位線、PC3、PC4、PC5、PC6和PC7作為聯(lián)絡線,工作時輸入或輸出數(shù)據(jù)都鎖存。當A組在方式2工作時,B組只能在方式0或方式1工作。
A組在方式 2工作時,PC3作為 INTRA、PC7OBF、PC 6作為ACK、PC4作為 STE、PC5作為IBF4、PC6位作為 INTE1、PC4位作為INTE2
8255A的3個端口PA、PB和PC的工作時可以作為數(shù)據(jù)口、控制口或地址口[3]。
8255A的3個端口被分為兩個組,其工作方式由兩組控制器對應控制。8255A的端口PA工作在方式1或方式2時,可以用端口PC的一些引腳自動配合;端口PB工作在方式1時,也可以用端口PC的一些引腳自動配合。當端口PA或端口PB工作在非方式0時,對端口PC的訪問實質上只是個別位,另外端口PC的位與對應的引腳信號不一定相同[4-10]。
PC機基于8255A的編碼控制實例用PC內(nèi)8255A的PB口(端口地址為61H),直接控制揚聲器發(fā)出聲音。
下列程序通過I/O指令時使8255A的PB口的第1位的數(shù)據(jù)交替為1和0,而PB口的第1位和揚聲器的脈沖門相連,當?shù)?位由0變?yōu)?,延遲一會兒又由1變?yōu)?時,脈沖門就先打開后關閉,產(chǎn)生了一個脈沖電流。這個脈沖電流被放大后送到揚聲器,使之發(fā)出了聲音。8255A的PB口的第0位作為定時器/計數(shù)器8253的計數(shù)器2的門控端 (當它是0時,關閉該振蕩器,OUT2=1;當它是1時,打開該振蕩器),現(xiàn)在不用該振蕩器產(chǎn)生聲音,所以把第0位置0。;聲音程序
此實例經(jīng)過上機實驗,獲得了預期的效果[6-8]。
文中創(chuàng)新點:對8255A的控制方式用新理論進行了解釋,對8255A在通信與控制中的應用提出了新的靈活的方式。文中總結出的8255A在通信與控制中的應用方式是有關學者和工程技術人員進一步開發(fā)應用8255A的有力工具。
[1]周明德.微型計算機系統(tǒng)原理與應用[M].4版.北京:清華大學出版社,2004.
[2]劉紅麗.微機接口實用技術教程[M].北京:電子工業(yè)出版社,2000.
[3]顧元剛.匯編語言與微機原理教程[M].北京:電子工業(yè)出版社,2003.
[4]呂勇.微機原理與接口技術教程與實訓[M].南京:東南大學出版社,2008.
[5]劉敏,滕華.微機原理及應用課程教改淺談[J].四川師范學院學報:自然科學版,2003(3):41-43.LIU Min,TENG Hua.Discussion of course reforming of microcomputer principle and application[J].Sichuan Teachers College Journal:Natural Science Edition,2003(3):41-43.
[6]王豐,王興寶.微機原理與接口技術[M].北京:北京航空航天大學出版社,2005.
[7]劉樂善.微型計算機接口技術及應用[M].武漢:華中科技大學出版社,2000.
[8]王曉軍.微機原理與接口技術[M].北京:北京郵電大學出版社,2001.
[9]湯曉安.“精講多練”打造微機原理與接口技術精品課程[J].高等教育研究學報,2007,30(2):58-59.TANG Xiao-an.Constructing excellent courses of microcomputer principle and interface technology by “briefly explain and practise more” [J].Journal of Higher Education Research, 2007,30(2):58-59.
[10]王豐,王興寶.微機原理與接口技術[M].北京:北京航空航天大學出版社,2005.