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