陳智勇
【摘 要】本文主要探討了基于清華大學(xué)TPC-USB實驗系統(tǒng)平臺下,高等職業(yè)院校計算機(jī)類專業(yè)《微機(jī)原理》實驗VC++實現(xiàn)教學(xué)設(shè)計典型案例。設(shè)計了實驗教學(xué)各環(huán)節(jié)的組織與銜接,嘗試從中總結(jié)出部分內(nèi)在規(guī)律,探索出循序漸進(jìn)的實驗教學(xué)模式。以提高該課程的實驗教學(xué)效果,增強學(xué)生的學(xué)習(xí)興趣,促進(jìn)我院計算機(jī)系該課程教學(xué)水平的提升。
【關(guān)鍵詞】交通燈 匯編語言 指令 流程圖 芯片 TPC-USB VC++ ISP1581 USB2.0
《微機(jī)原理與接口技術(shù)》是一門理論性和實踐性都很強的計算機(jī)類專業(yè)的主干專業(yè)課程。筆者依據(jù)高等職業(yè)院校培養(yǎng)實用型人才的方針,結(jié)合本院計算機(jī)系教學(xué)實踐,針對于以往學(xué)生對該課程的理論與試驗難以結(jié)合,VC++/匯編語言指令與實驗流程圖脫節(jié),芯片功能引腳理解艱澀等問題,嘗試通過循序漸進(jìn)的實驗教學(xué)模式,就基于清華大學(xué)TPC-USB實驗系統(tǒng)的一典型實驗案例——交通燈控制,讓學(xué)生在實驗操作,數(shù)據(jù)驗證的過程中,潛移默化將理論知識融匯于實驗操作,將實驗流程圖“翻譯“成具體VC++指令,用實驗現(xiàn)象佐證芯片引腳功能。
一、實驗平臺簡介
我院微機(jī)原理實驗室采用的是清華大學(xué)TPC-USB實驗系統(tǒng),該系統(tǒng)由一塊USB總線接口模塊、一個擴(kuò)展實驗臺及軟件集成實驗環(huán)境組成。USB總線接口模塊通過USB總線電纜與PC機(jī)相連,模塊與實驗臺之間由一條50芯扁平電纜連接。其主要特點是USB總線接口使用ISP1581 USB2.0高速接口芯片,完全符合USB2.0規(guī)范。提供了高速USB下的通信能力。即插即用、速度快、使用方便。
二、實驗過程設(shè)計
由于我院微機(jī)原理實驗室TPC-USB實驗設(shè)備充足,教師將學(xué)生分成每兩人一組。并要求學(xué)生在實驗操作時,一名學(xué)生操作,之后另一名學(xué)生檢查,如此反復(fù)。這樣既能充分滿足學(xué)生的實踐動手需要,又能培養(yǎng)學(xué)生的團(tuán)隊協(xié)作精神,有利與實驗教學(xué)水平的提高。
(一)實驗前期準(zhǔn)備
1.實驗預(yù)習(xí)
實驗前,布置好預(yù)習(xí)的內(nèi)容,要求學(xué)生必須結(jié)合自己所學(xué)的理論知識,通過查閱8255A交通燈控制并口芯片有關(guān)資料,獲得實驗的第一手資料,做到實驗?zāi)康拿鞔_,實驗原理清楚。
2.布置實驗任務(wù)
教師不向?qū)W生提供具體的、詳細(xì)的交通燈控制實驗電路與VC++程序,只提出具體的實驗要求,讓學(xué)生通過自己的預(yù)習(xí)以及對實驗要求的理解和分析,自行設(shè)計實驗方案,小組獨立完成實驗程序編寫。
3.連接主機(jī)與TPC-USB實驗系統(tǒng)(通過50芯線纜的USB2.0接口模塊),開機(jī)—運行USB2.0接口模塊驅(qū)動程序,完成實驗硬件平臺的搭建。運行軟件集成實驗環(huán)境TPC-USB,進(jìn)入實驗環(huán)境。完成實驗軟件平臺的搭建。
(二)教師講解實驗項目
著重講解實驗的設(shè)計思想、設(shè)計方法,并演示實驗操作,通過并行接口8255A實現(xiàn)十字路口交通燈的模擬控制,掌握對并行口的使用。讓學(xué)生能夠從教師的示范中獲得啟發(fā),突出學(xué)生的主體地位,實驗過程是學(xué)生進(jìn)行思維訓(xùn)練、提高分析問題與解決問題能力的重要實踐活動,整個過程應(yīng)以學(xué)生為主體,鼓勵學(xué)生動手、動腦,采用多種方式去完成實驗任務(wù)。
(三)芯片功能分析報告
要求學(xué)生將查閱的有關(guān)資料與實驗平臺上的8255A并口芯片實物進(jìn)行對比,分析相關(guān)引腳功能,并記錄于實驗報告中,強化學(xué)生深入鉆研問題的能力培養(yǎng)。
參考如圖-1:L7、L6、L5作為南北路口的交通燈與PC7、PC6、PC5相連,L2、L1、L0作為東西路口的交通燈與PC2、PC1、PC0相連。編程使六個燈按交通燈變化規(guī)律亮滅。
(四)線纜的連接
要求學(xué)生自行完成實驗芯片8255A的相關(guān)通信引腳線的連接。再參照實驗指導(dǎo)書的連線規(guī)則,進(jìn)行檢查與校正。
(五)VC++編程實現(xiàn)
要求學(xué)生先參照TPC-USB實驗系統(tǒng)的匯編語言程序, 小組獨立自行設(shè)計交通燈控制實驗方案,繪制實驗流程圖,完成VC++實驗程序?qū)PC-USB系統(tǒng)自帶匯編語言程序的“翻譯”編寫。并記錄與實驗報告中。
交通燈控制實驗編程提示:十字路口交通燈的變化規(guī)律要求:(1)南北路口的綠燈、東西路口的紅燈同時亮30秒左右。(2)南北路口的黃燈閃爍若干次,同時東西路口的紅燈繼續(xù)亮。(3)南北路口的紅燈、東西路口的綠燈同時亮30秒左右。(4)南北路口的紅燈繼續(xù)亮、同時東西路口的黃燈亮閃爍若干次。(5)轉(zhuǎn)(1)重復(fù)。
(六)運行實驗
啟動實驗箱電源,TPC-USB軟件,運行實驗,查看實驗結(jié)果。檢查并校正錯誤。
參考程序JTD.CPP如下(注:為便于讀者理解,編者在程序中添加了部分中文注釋,上機(jī)編程時應(yīng)刪除相應(yīng)注釋)
#include
#include
#include ”…\\ApiEx.h”
#pragma commnet(lib,”…\\ApiEx.h”)
Void main()
{
Int i;
Int portc[]={0x24,0x44,0x04,0x44,0x04,0x44,0x04,0x81,0x82,0x80,0x82,0x80,0x82,0x80,oxff};*六個燈可能的狀態(tài)數(shù)據(jù)結(jié)束標(biāo)志*
if(!Startup())*打開設(shè)備*
{
Printf(“ERROR:Open Device Error!\n”)
Return;
}
Printf(“Enter any key will return!\n”);
PortWriteByte(0x28b,ox80); *輸出一個負(fù)脈沖*
for(;;)
{
For(i=0,i<14;i++)
{
PortWriteByte(0x28a,portc[i]);
if(kbhit())*判斷是否有鍵按下*
Exit(0);
If(portc[i]&0x21)
Sleep(30000)*延遲30秒鐘*
Else
Sleep(500)*延遲0.5秒鐘*
}
}
Cleanup();*關(guān)閉設(shè)備*
}
三、總結(jié)
通過該教學(xué)實驗設(shè)計在我院計算機(jī)系學(xué)生的執(zhí)行,學(xué)生能夠自覺預(yù)習(xí)實驗內(nèi)容,把握實驗原理,操作過程更為準(zhǔn)確規(guī)范,能夠循序漸進(jìn)的融匯基礎(chǔ)性,設(shè)計性和綜合應(yīng)用性知識點,建立VC++/匯編語言與實驗流程圖的溝通學(xué)習(xí)渠道。部分學(xué)生已經(jīng)開始嘗試基于交通燈控制實驗的實際項目設(shè)計。教學(xué)效果得到了明顯提高,也歷練了教師的教學(xué)創(chuàng)新能力。
參考文獻(xiàn):
[1]韓雁.微機(jī)原理與接口技術(shù).電子工業(yè)出版社,2005,1.
[2]張毅.單片機(jī)原理與應(yīng)用設(shè)計.哈爾濱工業(yè)大學(xué)出版社,2008,7.
[3]楊立.微機(jī)原理實驗指導(dǎo)書.人民郵電出版社,2008,4.
[4]蔣本珊.微機(jī)原理與接口技術(shù)實驗指導(dǎo)與習(xí)題集.人民郵電出版社,2008,08.