溫陽東 鮑遠慧 林勇
摘 要: 可編程并行接口芯片8255A是微機原理及應用課程內(nèi)容之一。為了讓學生理解、掌握并行接口的相關知識點。從認識教學目的、布置教學內(nèi)容和安排課堂教學順序等方面進行了探討,針對選通輸入輸出方式這一教學難點,分析了其形成教學難點的原因;通過安排典型的教學案例使抽象的知識點具體化,以降低教學難度。
關鍵詞: 并行接口; 8255A; 微機原理; 教學案例
中圖分類號:G642 文獻標志碼:A 文章編號:1006-8228(2013)07-68-03
0 引言
筆者所在學院目前開設的微機原理及應用課程為72學時,開設的微機原理綜合實驗課程為30學時。微機原理及應用教學內(nèi)容的順序是:計算機數(shù)據(jù)格式→8086系統(tǒng)結構→8086指令系統(tǒng)→匯編語言程序設計→存儲器設計→I/O接口→中斷和中斷控制器8259A→并行接口芯片8255A→計數(shù)器/定時器8253→串行通信和串行接口芯片8251A。具體分配到并行接口8255A教學時間是3~4學時。
8255A是Intel86系列微處理器的配套并行接口芯片,它可為86系列CPU與外部設備之間提供并行輸入/輸出的通道[1]。本文要討論的是如何通過8255A課堂教學,讓學生進一步理解無條件傳送方式、有條件傳送方式、程序中斷方式控制策略;理解無條件輸入輸出接口、有條件輸入輸出接口應具有的基本功能,為今后快速地掌握和使用這一類芯片打下基礎。
1 教學目的
從微機原理及應用教學內(nèi)容順序可以看出本課程體系是完整的,教學內(nèi)容偏后部分是常用的典型芯片,課程結束時,只要連接上外設,所構成的計算機系統(tǒng)就能工作起來。由此可見,課程的精髓是講述芯片的使用,而不是芯片的制造。另外,8255A與單片機的并行接口以及大部分并行接口芯片的設置方法相似,因此筆者的教學目的是:從硬件連線、軟件編程兩方面教會學生如何使用可編程并行接口芯片8255A,培養(yǎng)學生分析使用并行接口芯片的能力。
2 教學內(nèi)容及課堂教學安排
8255A具有3個8位并行I/O口,分別稱為PA口、PB口和PC口[2]。其中PC口又可分為2個4位并行口。我們從使用角度講述可編程并行接口芯片8255A外部引腳功能、內(nèi)部結構圖,工作方式控制字、對C口口線的置位復位字、狀態(tài)字,三種工作方式及其應用。
2.1 8255A的引腳、內(nèi)部結構和連接特點
8255A外部有40個引腳。按I/O接口的連接特點見圖1,將這40個引腳分成二大部分介紹,即一部分與系統(tǒng)總線相連,另一部分與外設相連。與系統(tǒng)總線相連引腳按數(shù)據(jù)D7~D0、地址A1 A0、控制引腳、、、RESET分類介紹;與外設相連的引腳按PA口線PA7~PA0、PB口線PB7~PB0和PC口線PC7~PC0作介紹。
在介紹8255A內(nèi)部結構圖時,指出其數(shù)據(jù)引腳通過片內(nèi)數(shù)據(jù)總線緩沖器連接到內(nèi)部總線;PA和PB口連接到內(nèi)部總線,PC口分成高4位和低4位,分別連接到內(nèi)部總線高4位和低4位。
介紹片內(nèi)地址分配情況,即PA口、PB口、PC口和控制口片內(nèi)地址。畫出8255A與8086系統(tǒng)總線連接的示意圖,強調(diào)若數(shù)據(jù)引腳連接到8086系統(tǒng)低8位數(shù)據(jù)總線上,如圖2(a)所示具有4個連續(xù)的偶地址端口;若連接到高8位數(shù)據(jù)總線上,如圖2(b)所示,具有4個連續(xù)的奇地址端口。舉例說明8086CPU對8255A讀寫操作時序,讓學生理解并行接口外部連線特點、內(nèi)部數(shù)據(jù)的流動等情況。
2.2 控制字、置位復位字和狀態(tài)字
在介紹工作控制字的各位定義及寫入口地址的同時,通過舉例使芯片可編程概念具體化,例如,PB口是作為輸入口使用、還是作為輸出口使用,受控制字的D1位控制,即由用戶通過程序設置。
置位復位字相對簡單,最高位為標志位,D3、D2、D1為PC口線的編號,當D0=0時為復位字,當D0=1時為置位字。這個字是對PC口線操作,但要寫到控制口,學生實驗中常犯的低級錯誤是寫到C口。
狀態(tài)字教學相對難些,所用教材放在工作方式后才引入,但是考慮到學生已對數(shù)據(jù)端口、控制端口和狀態(tài)端口有了解,且這些端口的內(nèi)容都是通過芯片的數(shù)據(jù)引腳傳遞等概念,所以一并在這里介紹。
2.3 工作方式
8255A有三種工作方式,即方式0:基本輸入輸出方式;方式1:選通輸入輸出方式;方式2:帶選通的雙向傳送方式。A口在這三種方式下都可以工作;B口只能在方式0、方式1下工作;C口只有簡單的輸入輸出功能,而且要在不承擔A口、B口聯(lián)絡信號情況下,才能作為輸入口或輸出口使用。
在這三種工作方式中,方式0輸入只有緩沖而無鎖存功能,CPU通過IN指令讀取的是引腳(口線)電平;方式1和方式2輸入有緩沖鎖存功能,CPU通過IN指令讀取的是鎖存器內(nèi)容。方式0和方式1輸出有鎖存而無緩沖功能,CPU送出的數(shù)據(jù)保存在鎖存器里并直接輸出到引腳;方式2的輸出有鎖存緩沖功能,CPU送出的數(shù)據(jù)保存在鎖存器里不能直接輸出到引腳。這些數(shù)據(jù)傳送的細節(jié)(關鍵點)在教材里幾乎沒有強調(diào)。
3 教學難點
教學難點是對選通方式下數(shù)據(jù)傳送過程的講解。
3.1 形成難點的原因
一般學生對74LS373、4LS244芯片的學習沒有困難,筆者的分析是由于這些芯片不可編程,內(nèi)部電路相對簡單,所以能用基本邏輯部件畫出其內(nèi)部結構圖(邏輯功能圖),比如對著74LS373結構圖,對選通信號STB和輸出允許信號所起的控制作用,學生一目了然。但是對于8255A芯片來講,教科書上只有內(nèi)部結構圖,而沒有通道的結構圖,其原因筆者認為,隨著集成技術的提高,基于大規(guī)模集成電路技術生產(chǎn)的可編程芯片,不光要具有不可編程芯片的基本功能,還要有實現(xiàn)可編程的邏輯功能部分,各功能電路以及各選擇功能電路,都十分復雜且龐大;退一步講,即使有這么一張電路圖,對于芯片的使用者也沒有必要去讀懂它,就好像軟件里使用庫函數(shù),不必去讀其源函數(shù)一樣。教學實踐證明,在這里適當引入鎖存器、緩沖器等,將有助學生理解。
3.2 選通輸入輸出教學要點
先講清楚選通數(shù)據(jù)輸入過程,接著講解PC口線具體分配,再介紹狀態(tài)字相應位定義及“0”、“1”含義,最后舉例對號入座以加深理解。選通輸出也采用同樣講課順序。
3.2.1 選通輸入輸出過程
選通輸入過程:8255利用外部(或輸入設備)提供的有效信號,將出現(xiàn)在口線(PA/PB)上的數(shù)據(jù)保存在輸入緩沖寄存器中;使其引腳信號IBF=1,同時使狀態(tài)位IBF=1(狀態(tài)字某位),表示滿;若中斷允許,引腳信號INTR=1,發(fā)出中斷請求,同時使狀態(tài)位INTR=1。以后在CPU執(zhí)行IN指令時,CPU的信號使輸入寄存器的數(shù)據(jù)出現(xiàn)在8255的數(shù)據(jù)引腳;同時使引腳信號IBF=0,狀態(tài)位IBF=0,表示空; INTR=0,撤銷中斷請求。
選通輸出過程:CPU執(zhí)行OUT指令時,CPU的信號使數(shù)據(jù)保存在口內(nèi)鎖存器,并反映到引腳 (方式2要在信號作用下才能反映到引腳);使引腳信號=0、狀態(tài)位=0,表示滿;并撤銷中斷請求INTR=0。然后在外設提供有效信號作用在引腳,使引腳信號=1、狀態(tài)位=1,表示空;若中斷允許,引腳信號INTR=1,發(fā)出中斷請求。
3.2.2 選通輸入輸出PC口線分配
A口設置為選通輸入,具體分配三根PC口線, PC5作為接收外部提供的選通信號、PC4輸出狀態(tài)信號IBFA和PC3發(fā)出中斷請求信號INTRA。同樣B口設置為選通輸入,分配三根PC口線, PC2……、PC1……IBFB和PC0……INTRB。
A口設置為選通輸出,也具體分配三根PC口線,PC7作為輸出狀態(tài)信號、PC6作為接收外部提供的應答信號和PC3發(fā)出中斷請求信號INTRA。同樣B口設置為選通輸出,使用PC2……、PC1……和PC0……INTRB[3]。
3.2.3 典型例題
例題1:已知8255口A的地址為80H,口B地址為82H,口C地址為84H,控制口地址為86H。并且口A工作在方式2,口B工作在方式1輸出。在從口C讀取狀態(tài)的指令“IN AL,84H”執(zhí)行后,AL=1101x10yB。
問題:
⑴ 如果開關K7-K0狀態(tài)依次為閉閉閉閉開開開開(即00001111B)時,在引腳PC4上施加一個負脈沖,則LED7- LED0顯示狀態(tài)依次為什么?
⑵ 若要LED7-LED0顯示狀態(tài)依次是亮亮滅滅亮亮滅滅,應該如何操作?
本問題意在通過開關的閉合、斷開,LED的亮、滅現(xiàn)象,讓學生理解方式一數(shù)據(jù)鎖存的條件。⑴答案:LED0顯示狀態(tài)依次為亮亮亮亮滅滅滅滅。⑵答案:先將開關K7-K0狀態(tài)依次設為閉閉開開閉閉開開,在引腳PC4上施加一個負脈沖。
4 結束語
微機原理及應用課程是培養(yǎng)本科生的微機軟、硬件設計與應用能力、工程意識、工程素質(zhì)和創(chuàng)新能力的一門必修課[4]。8255A是Intel公司生產(chǎn)的通用并行接口芯片,掌握其學習和設置方法,對學生學習后續(xù)課程以及將來使用的大部分并行接口芯片都有指導意義。本文所述是筆者在可編程并行接口芯片8255A組織教學中的做法和體會,旨在交流教學經(jīng)驗,探討如何培養(yǎng)本科生掌握并行接口這一類芯片的共性和提高學生實際使用能力的教學方法。
參考文獻:
[1] 鄭學堅,周斌.微型計算機原理及應用(第三版)[M].清華大學出版社,2001.
[2] 余錫存,曹國華.單片機原理及接口技術[M].西安電子科技大學出版社,2000.
[3] 周荷琴,吳秀清.微型計算機原理與接口技術(第三版)[M].中國科學技術大學出版社,2004.
[4] 鞠英男.基于TDN86/88實驗平臺的交通燈控制設計與實現(xiàn)[J].實驗室科學,2009.6:77-79