謝方方,張 英,謝志英,陳 靜,韓月霞(軍械工程學(xué)院信息工程系,石家莊050003)
淺析案例教學(xué)法在可編程并行接口8255A教學(xué)中的應(yīng)用
謝方方,張英,謝志英,陳靜,韓月霞
(軍械工程學(xué)院信息工程系,石家莊050003)
針對傳統(tǒng)模式下可編程并行接口8255A教學(xué)的不足之處,引進(jìn)案例教學(xué)法。將8255A的理論知識點(diǎn)穿插進(jìn)案例的硬件電路和軟件編程設(shè)計中,并通過虛擬仿真環(huán)境Proteus和實(shí)驗(yàn)箱在課堂上對案例進(jìn)行驗(yàn)證,引導(dǎo)學(xué)生深度參與課堂教學(xué),提高學(xué)生的學(xué)習(xí)興趣,培養(yǎng)學(xué)生的工程實(shí)踐能力。
案例教學(xué)法;8255A;工程實(shí)踐能力
基于旁路攻擊的硬件木馬檢測研究(No.61271152)、流水線延遲電磁旁路分析新方法研究(No.51377170)
《計算機(jī)硬件技術(shù)基礎(chǔ)》是面向我院通信電子類學(xué)生開設(shè)的科學(xué)文化必修課,是一門在理論指導(dǎo)下偏重于實(shí)際應(yīng)用的課程,課程目標(biāo)是培養(yǎng)學(xué)生計算機(jī)硬件的分析和設(shè)計能力。主要講授計算機(jī)的基本構(gòu)成、匯編語言程序設(shè)計、存儲器設(shè)計及常用接口芯片使用等內(nèi)容,由于課程與工程實(shí)踐聯(lián)系緊密,因此課程偏后部分內(nèi)容即常用接口芯片的學(xué)習(xí)顯得尤為重要。
8255A作為Intel系列微處理器的配套接口芯片之一,可為86系列CPU與外設(shè)之間提供并行的輸入輸出通道。通過該芯片的學(xué)習(xí),可幫助學(xué)生理解并掌握CPU和外設(shè)并行通信時的基本硬件電路連接方式和程序控制流程,為今后快速掌握和使用其他接口芯片打下基礎(chǔ)[1]。
在傳統(tǒng)教學(xué)模式下,可編程并行接口8255A的講授依照“基本功能、引腳分布、內(nèi)部結(jié)構(gòu)、工作原理、控制字和工作方式”的順序展開,在控制字和工作方式部分列舉簡單實(shí)例說明用法。對于不具備工程實(shí)踐經(jīng)驗(yàn)的初學(xué)者而言,這種類似芯片手冊展開的教學(xué)順序不能激發(fā)他們的學(xué)習(xí)熱情,往往造成“教師講完了、學(xué)生仍然不懂”的狀況發(fā)生。為了改善現(xiàn)有的教學(xué)情形,將案例教學(xué)法引入8255A章節(jié)部分的知識講解中[2],通過科研中實(shí)際的案例串聯(lián)8255A相關(guān)的理論知識點(diǎn),并通過虛擬仿真環(huán)境Proteus[3]和實(shí)驗(yàn)箱在課堂上完成案例的設(shè)計和驗(yàn)證,引導(dǎo)學(xué)生深度參與課堂教學(xué),提高學(xué)生的學(xué)習(xí)興趣,培養(yǎng)學(xué)生的工程實(shí)踐能力。
1.1緊貼工程設(shè)備,引出8 2 5 5 A
可編程并行接口8255A雖然是隨著8086/8088處理器誕生的老芯片,但是8255A作為一款經(jīng)典芯片,其結(jié)構(gòu)設(shè)計的合理性、應(yīng)用領(lǐng)域的廣泛性仍然值得大家學(xué)習(xí),因此現(xiàn)有很多I/O接口板上的并行接口電路都是借鑒8255A的設(shè)計理念。例如,一些故障檢測設(shè)備上所采用的PCI-7396接口板,其作用主要是負(fù)責(zé)多個故障點(diǎn)的狀態(tài)監(jiān)測、故障點(diǎn)指示燈的顯示控制以及故障點(diǎn)在上位機(jī)屏幕上的位置顯示控制。該接口板所實(shí)現(xiàn)的就是4片可編程外圍并行接口芯片的功能,也就是課程中需要講解的8255A,它主要利用了8255A具有多個并行接口的結(jié)構(gòu)特點(diǎn)。
1.2設(shè)計綜合案例,串聯(lián)理論知識點(diǎn)
為了能夠更好地講解8255A的理論知識,選擇部分實(shí)現(xiàn)PCI-7396的功能,以一片8255A為核心模擬故障檢測設(shè)備上的8個故障點(diǎn)設(shè)計綜合性的教學(xué)案例展開教學(xué)。為了完成案例的設(shè)計,首先需要考慮兩個問題:
(1)故障點(diǎn)的一般狀態(tài)有幾個
(2)采用什么元器件模擬故障點(diǎn)、故障點(diǎn)的指示燈和故障點(diǎn)在上位機(jī)上的位置顯示
由于故障點(diǎn)一般有兩種狀態(tài):正在檢測和尚未檢測,因此可以選擇具有二值狀態(tài)的元器件,例如按鍵開關(guān),模擬具有兩種狀態(tài)的故障點(diǎn):按鍵按下對應(yīng)正在檢測的故障點(diǎn)、按鍵松開對應(yīng)尚未檢測的故障點(diǎn);對于故障點(diǎn)的指示燈,可以選擇常用的發(fā)光二極管進(jìn)行模擬;采用1位的共陰極數(shù)碼管顯示按鍵值,從而模擬故障點(diǎn)在上位機(jī)上的位置顯示。
由于案例中需要模擬的對象為8個故障點(diǎn),因此需要8個按鍵開關(guān)、8個發(fā)光二極管以及能夠顯示0到7這8個數(shù)字的一位共陰數(shù)碼管;另外任何外部設(shè)備的控制實(shí)質(zhì)上是在主控器的控制下完成,而課程是以8086為主線展開,因此需要一片8086作為主控器;但高速的8086和低速的開關(guān)等外設(shè)之間由于速度接口等不匹配的原因不能直接通信,因此需要可編程并行接口芯片8255A在它們之間架起一座通信的橋梁,元件清單如圖1所示。
圖1 元件清單
基于這些元件,案例所要完成的功能是當(dāng)8個按鍵開關(guān)中某個被按下后,數(shù)碼管顯示該按鍵的鍵值,并且對應(yīng)的發(fā)光二極管被點(diǎn)亮。根據(jù)工程實(shí)踐經(jīng)驗(yàn),要實(shí)現(xiàn)以上功能應(yīng)該從兩方面進(jìn)行設(shè)計:硬件電路設(shè)計和軟件編程設(shè)計。首先應(yīng)該考慮根據(jù)所選元件如何搭建硬件電路,保證元件之間的正確連接,然后在此基礎(chǔ)上運(yùn)用匯編語言編寫程序?qū)崿F(xiàn)案例所要求的功能。
(1)硬件電路設(shè)計
要完成這部分的設(shè)計,應(yīng)該首先理清誰與誰相連的問題。由于8255A是8086和3種外設(shè)即按鍵、數(shù)碼管及發(fā)光二極管之間的通信橋梁,因此硬件電路的連接問題也就可以分解為:問題1:8255A與主控器8086的連接和問題2:8255A與3種外設(shè)之間的連接。在此講解8255A與8086和外設(shè)連接時相關(guān)的信號引腳功能及分布、內(nèi)部結(jié)構(gòu)、端口選擇等知識點(diǎn),將理論知識點(diǎn)串聯(lián)進(jìn)電路搭建的過程中。
針對問題1,可以聯(lián)系課程前述章節(jié)中有關(guān)8086引腳分布的知識點(diǎn)進(jìn)一步將問題分解為8255A與8086三組總線(控制總線、數(shù)據(jù)總線和地址總線)的連接問題。8086與8255A相關(guān)的控制總線只有3根:讀信號、寫信號和復(fù)位信號,這3根信號由8086發(fā)出與8255A相應(yīng)的3根信號引腳直接相連即可。對于數(shù)據(jù)總線,8086與8255A存在數(shù)量上不完全匹配的問題:8086有16根數(shù)據(jù)線,可分為高8位和低8位兩部分,而8255A只有8根,因此需要考慮8255A的8根數(shù)據(jù)總線與8086的高8位相連還是低8位相連的問題。這部分內(nèi)容與課程前述章節(jié)中8086的奇偶存儲體知識點(diǎn)相關(guān),相應(yīng)的對應(yīng)關(guān)系如下。
偶地址存儲體<----->低8位數(shù)據(jù)總線
奇地址存儲體<----->高8位數(shù)據(jù)總線
因此如果選擇低8位數(shù)據(jù)總線需要保證8086的20根地址總線上出現(xiàn)的地址組合為偶數(shù),否則為奇數(shù)。設(shè)計時可以考慮將地址信號的最低位A0懸空。由于8255A內(nèi)部有四個寄存器:A口、B口、C口以及控制口,要完成對這四個口正確選擇,需要8086發(fā)出信號給8255A的端口選擇信號A1A0,因此剩余的19根地址線可選擇兩根作為8255A的端口選擇信號線,其他的地址線經(jīng)地址譯碼器譯碼后產(chǎn)生片選信號與8255A的片選端相連,具體的硬件電路連接如圖2所示。
圖2 8255A與8086的硬件電路連接
針對問題2,根據(jù)問題1解決過程中引入的8255A的理論知識,可以得知8255A具有3個對外的數(shù)據(jù)口A口、B口及C口,能夠與外部設(shè)備相連,因此可以將問題2分解為3個數(shù)據(jù)口與3種外部設(shè)備按鍵、數(shù)碼管及發(fā)光二極管相連的問題。根據(jù)3種元件的特點(diǎn),將8個按鍵與A口相連、1位數(shù)碼管與B口相連、8個發(fā)光二極管與C口相連,在電路連接的過程中,需要注意上拉電阻、限流電阻的使用,具體連接方式如圖3所示。
圖3 8255A與外設(shè)的硬件電路連接
通過硬件電路設(shè)計這部分內(nèi)容的逐層展開,融入了8255A的功能、引腳分布、內(nèi)部結(jié)構(gòu)等理論知識點(diǎn),以案例為基礎(chǔ)提高了學(xué)生的學(xué)習(xí)興趣[4],促進(jìn)了學(xué)生對于這部分理論知識的深入把握。
(2)軟件編程設(shè)計
完成硬件電路的搭建工作后,案例的功能并不能實(shí)現(xiàn),還需要進(jìn)行軟件編程的設(shè)計工作。要完成這部分的設(shè)計,首先應(yīng)該考慮8255A芯片的初始化,然后才是相應(yīng)功能的實(shí)現(xiàn)。如圖4所示。8255A的初始化涉及到8255A的控制字、8255A的工作方式等理論知識點(diǎn),在此引入這些知識非常合適。
在充分講解3種工作方式的基礎(chǔ)上,分析案例中采用的3種元件都屬于簡單外設(shè),與8255A通信時無需應(yīng)答聯(lián)絡(luò)信號,因此與3種元件相連的3個數(shù)據(jù)口都只需要工作在基本輸入輸出方式——方式0下即可滿足案例要求;按鍵作為輸入設(shè)備與A口相連,因此A口作輸入口使用;數(shù)碼管和發(fā)光二極管是輸出設(shè)備,分別與B口和C口相連,因此B口和C口作輸出口使用。對照8255A方式選擇控制字的格式,按照分析結(jié)果得出方式選擇控制字的內(nèi)容,通過輸出指令將結(jié)果寫入8255A的控制口即可完成初始化工作。
對于功能實(shí)現(xiàn)部分,可進(jìn)一步分解為按鍵的讀取和判定、數(shù)碼管的譯碼顯示和發(fā)光二極管的點(diǎn)亮3個小功能,結(jié)合前述硬件電路逐一講解,加深學(xué)生對8255A數(shù)據(jù)口功能的理解。
在軟件編程設(shè)計中揉入了8255A的控制字、工作方式等理論知識點(diǎn),使得學(xué)生能夠即學(xué)即用,印象深刻。
1.3實(shí)驗(yàn)進(jìn)課堂
在硬件電路設(shè)計過程中,穿插利用Proteus仿真模擬軟件選取元件清單、搭建硬件電路,讓學(xué)生直接參與到硬件電路設(shè)計的全過程中,在學(xué)習(xí)理論知識的同時,觀察知識點(diǎn)如何用,如何聯(lián)系,從而更加深入地理解這些知識點(diǎn)。
在軟件編程部分,通過預(yù)先給出電路在Proteus仿真環(huán)境下的實(shí)現(xiàn)效果,引導(dǎo)學(xué)生思考編程步驟,從而將抽象的編程過程直觀地展現(xiàn)給學(xué)生,幫助學(xué)生理清編程思路。
在完成以上兩部分設(shè)計并在Proteus下實(shí)現(xiàn)仿真功能后,通過將實(shí)驗(yàn)箱搬進(jìn)課堂,讓學(xué)生直接利用實(shí)驗(yàn)箱進(jìn)一步驗(yàn)證所設(shè)計電路,從而進(jìn)一步提高學(xué)生的工程實(shí)踐能力。
傳統(tǒng)模式下8255A的各理論知識點(diǎn)是按照先后順序逐一講解,學(xué)生經(jīng)?!皩W(xué)了就忘”,或者“教師講完了、學(xué)生仍然不懂”,通過設(shè)計綜合性的科研案例串聯(lián)講解8255A的理論知識點(diǎn)改善了以上狀況。在硬件電路設(shè)計中穿插講解8255A的功能、引腳分布、內(nèi)部結(jié)構(gòu)等知識點(diǎn),在軟件編程設(shè)計中融入了8255A的控制字、工作方式等知識點(diǎn),使得學(xué)生即學(xué)即用,并通過虛擬仿真環(huán)境Proteus和實(shí)驗(yàn)箱在課堂上完成案例的設(shè)計和驗(yàn)證,引導(dǎo)學(xué)生深度參與課堂教學(xué),提高了學(xué)生的學(xué)習(xí)興趣,培養(yǎng)了學(xué)生的工程實(shí)踐能力。
[1]周荷琴,馮煥清.微機(jī)計算機(jī)原理與接口技術(shù)[M].第5版.合肥:中國科學(xué)技術(shù)大學(xué)出版社,2013
[2]王秀之.案例教學(xué)中需要研究的幾個問題[J].中國高等教育,2006(12):44~45
[3]李現(xiàn)國,張艷.Proteus仿真在微機(jī)原理及接口技術(shù)教學(xué)中的應(yīng)用[J].實(shí)驗(yàn)技術(shù)與管理,2010,27(12):125~127
[4]陳效蘭.以案例教學(xué)調(diào)動學(xué)生學(xué)習(xí)的積極性[J].中國高等教育,2006(1):35~36
Case Teaching Mode;8255A;Engineering Practical Ability
Analysis of the App lication of Case Teaching Method in the Teaching of Programmable Parallel Interface 8255A
XIE Fang-fang,ZHANG Ying,XIE Zhi-ying,CHEN Jing,HAN Yue-xiang
(Departmentof Information Engineering,Ordnance Engineering College,Shijiazhuang 050003)
In view of the teaching shortcomings of programmable parallel interface 8255A in traditionalmode,introduces the case teachingmode.Inserts the theoretical know ledge into the process of hardware circuit design and software programming.Uses the Proteus tool to verify the designed case to guide the student deep ly involving in the classroom teaching,improves his interest in learning and cultivate his engineering practical ability.
1007-1423(2015)15-0010-04
10.3969/j.issn.1007-1423.2015.15.003
謝方方(1984-),女,講師,研究方向?yàn)樾畔踩?/p>
張英(1982-),女,助教,研究方向?yàn)閿?shù)據(jù)恢復(fù)
謝志英(1981-),女,河北秦皇島人,碩士研究生,講師,研究方向?yàn)閿?shù)據(jù)恢復(fù)
陳靜(1982-),女,河北石家莊人,碩士研究生,講師,研究方向?yàn)閿?shù)據(jù)恢復(fù)
韓月霞(1980-),女,河北邯鄲人,碩士研究生,講師,研究方向?yàn)樾酒踩?/p>
2014-12-30
2015-05-05