80C196單片機多功能教學(xué)實驗板的開發(fā)與研制
隨著微機技術(shù)的不斷發(fā)展,在許多工程領(lǐng)域單片機的應(yīng)用日趨廣泛,已逐漸取代了單板機。為了適應(yīng)這一新形勢的變化,目前許多高校及一些中等專科學(xué)校已不再開設(shè)以單板機為主的“微機原理、接口及應(yīng)用”課程,而直接講授單片機及有關(guān)技術(shù)。但是目前缺少相應(yīng)的實驗設(shè)備及教材,有些學(xué)校不得不把原來單板機的有關(guān)設(shè)備移植過來,從而大大增加了教師及學(xué)生在實驗前的準備工作及實驗難度,影響了本課程的教學(xué)效果。鑒于這種情況,我們在多年教學(xué)和科研的基礎(chǔ)上,經(jīng)過反復(fù)摸索實踐,從教學(xué)和科研兩個角度出發(fā),既能滿足各個階層有關(guān)單片機教學(xué)實驗的要求,又能便于那些搞科研的同志進行科技開發(fā)應(yīng)用,因此,我們研制了這套多功能性單片機教學(xué)科研實驗板,獻給我們的同行和廣大單片機用戶。
從教學(xué)實驗的角度出發(fā),該實驗板可適用于電類專業(yè)和非電類專業(yè)不同層次單片機教學(xué)實驗的要求,如:自動化,儀器儀表,電子技術(shù),電子測量,計算機應(yīng)用,機電一體化等各專業(yè),及機械專業(yè)。對于那些課時較少,實驗時數(shù)較少的專業(yè)學(xué)生來說,利用該板可以做各種編程實驗,和一些簡單的輸入輸出接口實驗。如開關(guān)量輸入,發(fā)光二極管顯示以及數(shù)碼管顯示等,再進一步可以做定時器實驗―如電腦時鐘,計數(shù)器實驗等。對于學(xué)時數(shù)多一些的專業(yè)學(xué)生來說,還可以加上模/數(shù)、數(shù)/模轉(zhuǎn)換實驗,打印機接口實驗,以及串行口的輸入輸出實驗。上述所有實驗內(nèi)容,都不需要學(xué)生擴展硬件,該板上提供了全部接口和器件。對于有些專業(yè),單片機原理及接口技術(shù)是一門主課,不但學(xué)時數(shù)多,而且還安排了課程設(shè)計。因此這就要求學(xué)生有一定的動手能力。所以在設(shè)計該實驗板時,我們把80C196單片機的所有控制線、地址線和數(shù)據(jù)線經(jīng)驅(qū)動后,全部引到了板子下端一排接線端子上,這就給系統(tǒng)的擴展提供了便利條件,同學(xué)們可以在面包板上設(shè)計自己的接口電路,由單片機來控制實現(xiàn)。最常見的實驗如:存儲器的擴充實驗、鍵盤/顯示接口芯片的擴展實驗、電子時鐘芯片的擴展實驗以及其它一些常用接口的實驗,若連續(xù)做的話,可以使每個同學(xué)在自己占用的實驗板上,設(shè)計成一個獨立的應(yīng)用系統(tǒng)。這對于同學(xué)們的實際工作能力,將會有一個很大的促進和提高。
1 多功能實驗板的硬件結(jié)構(gòu)
80C196多功能實驗板的硬件結(jié)構(gòu)如圖1所示。
1.1 多功能實驗板的地址分配
EPROM2764用以存放固化的實驗板監(jiān)控程序,占用地址0000H~1FFFH。RAM6264用來存放待調(diào)試的程序和數(shù)據(jù),占用地址 2000H~3FFFH。8155的CE端、EPROM2764的CE端和RAM6264的CE端分別與74LS138譯碼器的Y0、Y1和Y3相連,占用不同的地址段。
1.2 顯示器與鍵盤
可編程并行I/O接口8155的PB7~PB0口用來提供六位共陰極LED5~LED0顯示器的字形段碼,PC5~PC0用來控制顯示器的位選擇。同時 PC5~PC0也兼作鍵盤的列線,提供列掃描信號;PA1和PA0用作鍵盤的行線,通過讀行線的狀態(tài)以確定是否有鍵按下。
1.3 D/A與A/D轉(zhuǎn)換
80C196的PWM端經(jīng)過緩沖和濾波之后通過LM324連接到插座S1,可用示波器觀察波形。80C196的四路模擬輸入端ACH7~ACH4與插座 S3相連,模擬量由此引入,采用查詢方式進行A/D轉(zhuǎn)換,當查詢到A/D轉(zhuǎn)換結(jié)束后,讀取A/D轉(zhuǎn)換結(jié)果寄存器的值。片內(nèi)A/D的模擬量輸入均可由電位器調(diào)節(jié)產(chǎn)生。插座S4與80C196的EXTINT端相連,作為外部中斷輸入,可對按鈕開關(guān)的按動次數(shù)進行計數(shù)。
1.4 HSI與HSO
80C196的高速輸出引腳HSO3~HSO0通過同相驅(qū)動器74LS14輸出到插座S1,這樣就可以用示波器觀察HSO3~HSO0四個引腳的輸出波形。插座S2通過同相驅(qū)動器74LS14連接到80C196的高速輸入引腳HSI3~HSI0,被測信號可由此輸入。
將80C196的HSO設(shè)定為軟件定時器狀態(tài),軟件定時100ms中斷一次,實現(xiàn)每隔1秒鐘使8155的PA0~PA7循環(huán)輸出高電平送到發(fā)光二極管上顯示出來。
1.5 其它
將微型打印機與80C196相連,打印出指定的字型和文字。
串行口RS232C可用來進行雙向串行通訊實驗。80C196的串行接收端RXD和串行發(fā)送端TXD經(jīng)過TC232C的兩個緩沖器完成邏輯電平的轉(zhuǎn)換并由 RS232C輸出。TC232C可以在±5V供電下提供±12V的輸出電壓,能夠滿足RS232C接口要求的邏輯電平。并行輸入輸出接口,可用來連接打印機或其它I/O設(shè)備,其數(shù)據(jù)引腳來自AD7~AD0,控制線和狀態(tài)線來自 、 和AD15口。
2 多功能實驗板監(jiān)控程序簡介
80C196多功能實驗板的監(jiān)控程序框圖如圖2所示。主程序從復(fù)位后的入口地址2080H開始,置堆棧指針為00C0H,若片內(nèi)RAM不夠用,堆棧也可設(shè)在片外RAM。8155、串行口和HSO初始化分別由子程序INI-8155、INI-232和INI-HSO完成。
起始子程序?qū)⑻崾痉畔懭腼@示緩沖區(qū),然后調(diào)用顯示子程序DISPLAY在LED5上顯示提示符“—”。出現(xiàn)提示符表示已完成初始化,并在監(jiān)控程序控制下,等待接收鍵盤信息。
鍵盤掃描子程序KEY用來快速判斷有無按鍵,若有鍵按下,則調(diào)用子程序KEYIN讀入鍵值,為防止重鍵,讀入鍵值后,再次調(diào)用KEY等鍵釋放。接著對鍵值作出判斷:若鍵值<16,則是數(shù)字鍵,調(diào)用數(shù)字鍵處理程序?qū)㈡I值存入顯示緩沖區(qū);若鍵值≥16,則是命令鍵,調(diào)用相應(yīng)的命令鍵處理程序。
多功能實驗板上共有6個命令鍵:
(1)AD鍵按下后將在LED5~LED4上顯示提示信息“AD”,并在LED2~LED0上顯示80C196的模擬通道ACH4的采樣結(jié)果,且每隔0.5秒刷新一次。
(2)DA鍵按下后將在LED5~LED4上顯示提示信息“DA”,并在與插座S1相連的示波器上顯示三角波。
(3)PRINT鍵按下后將執(zhí)行打印機演示程序。
(4)SI0鍵按下后將執(zhí)行串行異步通訊演示程序,在LED5~LED3上顯示提示信息“SIO”,LED1~LED0上顯示待發(fā)送或接收信息的ASCⅡ碼。
(5)SHIFT為上下檔標志切換鍵,使該實驗板的12個鍵能作為22個鍵使用。
(6)EXECUTE是執(zhí)行鍵,輸入4位16進制數(shù)后再按下EXECUTE鍵,則轉(zhuǎn)向以該4位16進制數(shù)為首址的程序段執(zhí)行。
3 多功能實驗板的使用
多功能實驗板不僅可為80C196單片機教學(xué)提供實驗手段,而且還可直接構(gòu)成應(yīng)用系統(tǒng)。實驗或調(diào)試應(yīng)用系統(tǒng)軟件時可按圖3所示的仿真方式連線。
圖3 多功能實驗板仿真調(diào)試時的連線圖
作為一種實驗裝置,使用該實驗板可直接進行顯示與鍵盤、打印、定時中斷、HSO、HSI、D/A、A/D和串行通訊等接口實驗的軟件調(diào)試。該實驗板不但可通過EXECUTE鍵直接運行EPROM中的程序,還可通過按鍵執(zhí)行一些較復(fù)雜的演示程序。若將該多功能實驗板直接用于單片應(yīng)用系統(tǒng),可根據(jù)實際需要對其監(jiān)控程序作適當修改,調(diào)試成功后再將其寫入EPROM2764。
本文所介紹的80C196多功能實驗板已在實用中取得較好效果,廣大學(xué)生的使用表明:用它來完成80C196接口實驗,大大提高了實驗的效率和成功率。同時,將它直接用于單片機應(yīng)用系統(tǒng),可大大縮短開發(fā)周期。
參考文獻:
[1] Intel Corporation. 16-Bit Embedded Controller [M]. 1990.
[2] 方建淳. MCS96系列8098單片機原理與應(yīng)用技術(shù)[M]. 天津:天津科學(xué)技術(shù)出版社. 1990.
[3] 孫涵芳. Intel 16位單片機[M]. 北京:北京航空航天大學(xué)出版社. 1992.
[4] 李杏春. 8098單片機原理及實用接口技術(shù)[M]. 北京:北京航空航天大學(xué). 1996.
[5] 王玉巧,孔仁昌,道克剛. 8098單片機多功能實驗板的設(shè)計[J]. 實驗室研究與探索,1997,(5):68-71.
[6] 劉朝陽. 用80c196設(shè)計一個16位單片機應(yīng)用系統(tǒng)[J]. 無線通信技術(shù),2000,(3):37-40.
[7] 李志寧,張英堂,張培林. 80C196串行中斷通信中應(yīng)注意的問題[J],微計算機信息,2000,(4):71.