摘 要: 以單片機(jī)課程教學(xué)為背景,設(shè)計了一套基于Proteus的虛擬試驗箱,該試驗箱不僅能夠完成單片機(jī)教學(xué)基礎(chǔ)實驗內(nèi)容,并可以解決傳統(tǒng)真實試驗箱諸多問題,而且學(xué)生可以在系網(wǎng)站上下載該試驗箱進(jìn)行實驗操作,從而極大地增強(qiáng)了學(xué)生做實驗的便利性,也給學(xué)生提供了一個良好的開發(fā)性實驗平臺。
關(guān)鍵詞: 單片機(jī); Proteus; 虛擬試驗箱; 仿真
單片機(jī)是一門實踐性很強(qiáng)的學(xué)科,目前單片機(jī)的課堂及實驗教學(xué)中存在諸多問題。一方面,實驗內(nèi)容和實驗形式要根據(jù)院校不同年級學(xué)生能力不斷更新,不能以不變應(yīng)萬變;另一方面實驗所需的軟硬件設(shè)備和經(jīng)費的保障壓力越來越大,這在一定程度上影響了教學(xué)質(zhì)量的提高和學(xué)生創(chuàng)新能力的培養(yǎng)。
在此之前很多相關(guān)論文中都提到使用Proteus軟件建立單片機(jī)虛擬實驗室[4-5],讓學(xué)生通過Proteus軟件自行去設(shè)計實驗電路圖并完成實驗。這種方法自然能大大提高學(xué)生的實踐動手能力,但對于民辦本??萍墑e的院校學(xué)生來說,由于他們的基礎(chǔ)和理解力相對薄弱等因素,剛開始接觸單片機(jī)很難自行進(jìn)行電路設(shè)計并完成實驗。
因此,結(jié)合我院電子系現(xiàn)有的實際教學(xué)情況,本文設(shè)計開發(fā)了一套基于Proteus的虛擬試驗箱,該試驗箱不僅能夠完成單片機(jī)教學(xué)基礎(chǔ)實驗內(nèi)容,并可以解決傳統(tǒng)真實試驗箱諸多弊端,而且學(xué)生可以在網(wǎng)站下載該試驗箱進(jìn)行實驗操作,從而極大地增強(qiáng)了學(xué)生做實驗的便利性,也給學(xué)生提供了一個良好的開發(fā)性實驗平臺。
1 Proteus軟件簡介
Proteus 是英國Lab center 公司開發(fā)的電路分析與實物仿真軟件,是一款集單片機(jī)和SPICE分析于一身的仿真軟件,功能強(qiáng)大。它運行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路實驗平臺。
利用計算機(jī)、KEIL C51仿真器和Proteus軟件可創(chuàng)建一個可視化虛擬單片機(jī)類實驗室, 通過操作這些虛擬的實驗儀器或設(shè)備, 完成各種驗證性、設(shè)計性和綜合性實驗。利用仿真技術(shù)達(dá)到與真實效果相一致的教學(xué)要求和目標(biāo),從而在不增加硬件投入的基礎(chǔ)上, 提高學(xué)生的創(chuàng)新能力。
Proteus與其他單片機(jī)仿真軟件不同的是, 它不僅能仿真單片機(jī)CPU的工作情況, 也能仿真單片機(jī)外圍電路或沒有單片機(jī)參與的其他電路的工作情況。因此在仿真和程序調(diào)試時, 關(guān)心的不再是某些語句執(zhí)行時單片機(jī)寄存器和存儲器內(nèi)容的改變,而是從工程的角度直接看程序運行和電路工作的過程和結(jié)果。對于這樣的仿真實驗, 從某種意義上講, 解決了實驗與工程應(yīng)用脫節(jié)的問題。
2 虛擬實驗箱特點
本虛擬試驗箱除了具備相關(guān)論文中提到的使用Proteus軟件建立單片機(jī)虛擬實驗室的優(yōu)點之外,還具備以下典型優(yōu)勢:
(1) 給教學(xué)設(shè)計過程帶來了很大的靈活性,有利于教學(xué)模式的革新。教師可以根據(jù)形勢的發(fā)展,無須資金投入就可以在虛擬試驗箱中增減反映新技術(shù)新成果的新實驗內(nèi)容。
(2) 試驗箱掛網(wǎng),打破空間和時間的限制。學(xué)生可以零成本隨時隨地使用該試驗箱,只要學(xué)生能夠上網(wǎng),學(xué)生便可以在網(wǎng)上下載該試驗箱進(jìn)行實驗練習(xí)與設(shè)計。
(3) 可以構(gòu)建開發(fā)性的教學(xué)環(huán)境 ,有助于學(xué)生進(jìn)行開發(fā)性實驗。學(xué)生可以在沒有實際硬件電路的情況下完成項目先期大量的驗證工作及大部分程序的編制及調(diào)試工作,幫助學(xué)生提高工程應(yīng)用能力。
但是,虛擬試驗箱可能使學(xué)生淡化對基本技能訓(xùn)練的重視程度,忽視規(guī)范掌握儀器操作,減少學(xué)生應(yīng)對突發(fā)事件的機(jī)會、缺乏教學(xué)的藝術(shù)性等。因而,為了盡量避免上述弊端的發(fā)生,在實際的教學(xué)過程中要加強(qiáng)虛實的相互結(jié)合,采用虛實互補(bǔ)的原則安排教學(xué),并加強(qiáng)教師的實驗指導(dǎo)作用。
3 基于Proteus的單片機(jī)虛擬試驗箱的設(shè)計
單片機(jī)虛擬試驗箱的設(shè)計應(yīng)根據(jù)學(xué)生實際能力的水平制定相關(guān)實驗內(nèi)容。實驗內(nèi)容要在滿足單片機(jī)基礎(chǔ)教學(xué)基礎(chǔ)上簡單易懂、從易到難、循序漸進(jìn)、環(huán)環(huán)相扣,使學(xué)生能通過虛擬單片機(jī)試驗箱很好地掌握單片機(jī)原理,并學(xué)會單片機(jī)外圍系統(tǒng)擴(kuò)展及接口電路的設(shè)計和基礎(chǔ)應(yīng)用。
根據(jù)本院某年級情況,現(xiàn)使用Proteus設(shè)計如圖1所示的51單片機(jī)虛擬試驗箱,此試驗箱可完成如下基礎(chǔ)及綜合實驗內(nèi)容。
3.1 基礎(chǔ)實驗
(1) 點亮一個發(fā)光管;
(2) 流水燈設(shè)計、蜂鳴器發(fā)聲、繼電器控制;
(3) 數(shù)碼管的動、靜態(tài)顯示;
(4) 獨立鍵盤、矩陣鍵盤的檢測原理及實現(xiàn);
(5) 1602液晶顯示;
(6) DA、AD的工作原理及實現(xiàn);
(7) 串口通訊原理及RS232接口的使用;
(8) I2C總線擴(kuò)展存儲器AT24C1024芯片。
3.2 綜合實驗
(1) 利用51單片機(jī)的定時器設(shè)計一個時鐘系統(tǒng);
(2) I2C總線擴(kuò)展DS1307時鐘芯片設(shè)計一個高精度時鐘系統(tǒng);
(3) I2C總線擴(kuò)展DS1621溫度芯片設(shè)計一個實時溫度報警的時鐘系統(tǒng)。
4 單片機(jī)虛擬試驗箱實現(xiàn)教學(xué)使用實例
下面就以六位數(shù)碼管動態(tài)顯示實驗為例說明基于Proteus的單片機(jī)虛擬試驗箱的使用。
實驗內(nèi)容:六位共陰數(shù)碼管動態(tài)掃描顯示數(shù)123456;
實驗?zāi)康模豪斫鈹?shù)碼管動態(tài)顯數(shù)原理并學(xué)會單片機(jī)控制數(shù)碼管動態(tài)顯數(shù)。
實驗電路圖說明:使用了兩個74HC573鎖存器,取名為段鎖存器和位鎖存器,分別控制數(shù)碼管(共陰極)的段選端和位選端,兩個鎖存器都使用P0口送數(shù);并分別使用P2.0和P2.1來控制兩鎖存器的LE鎖存控制端,LE=1時選通,LE=0時鎖存。
實驗操作步驟:(1)根據(jù)實驗電路圖使用Keil C51 uVision2編寫代碼;(2)將編寫好的代碼編譯生成HEX格式文件加載到試驗箱中的51單片機(jī)中;(3)點擊試驗箱左下角運行按鍵即可完成實驗。
本實驗部分C51語言代碼如下:
uchar code d_table[]={
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d}; //共陰0~6段碼
uchar code w_table []={
0xff/*空選*/,0xfe/*選中第一位*/,0xfd,0xfb,0xf7,0xef,
0xdf}; //1~6位選碼
sbit duan=P2^0; //段鎖存器選通/鎖存端
sbit wei=P2^1; //位鎖存器選通/鎖存端
void Display_123456() //動態(tài)顯示123456函數(shù)
{
for(num=1;num<7;num++)
{
P0=w_table[num];
//送位碼(選中相應(yīng)數(shù)碼管)
wei=1; //選通
wei=0; //鎖存
P0=d_table[num];
//送段碼(即字型碼)
duan=1;
duan=0;
delay(5); //延遲5 ms
}
}
實驗效果:如圖2所示,六位數(shù)碼管同時顯示123456。
利用Proteus軟件設(shè)計的單片機(jī)虛擬試驗箱具有很好的實用性。單片機(jī)虛擬試驗箱,不僅克服了傳統(tǒng)試驗箱購買價格昂貴,實驗內(nèi)容固定,保養(yǎng)維護(hù)困難的缺點,而且可以幫助學(xué)生隨時隨地更快、更好地掌握課堂講述的內(nèi)容,加深對單片機(jī)概念、原理的理解,彌補(bǔ)課堂理論教學(xué)的不足,更進(jìn)一步增強(qiáng)學(xué)生學(xué)習(xí)單片機(jī)的興趣,大大提高學(xué)生的動手創(chuàng)新能力,并且作為個人實驗平臺,可以充分利用它所提供的資源,幫助學(xué)生提高工程應(yīng)用能力。
參考文獻(xiàn)
[1] 周潤景,張麗娜.基于Proteus的電路及單片機(jī)系統(tǒng)設(shè)計與仿真[M].北京:北京航空航天大學(xué)出版社,2006.
[2] 張毅剛.新編MCS-51單片機(jī)應(yīng)用設(shè)計[M].第三版.哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2006.
[3] 李朝青.單片機(jī)原理及接口技術(shù)[M].北京:北京航天航空大學(xué)出版社,2005.
[4] 唐勇波,徐東輝.基于Proteus的單片機(jī)課程教學(xué)與實驗改革初探[J].宜春學(xué)院學(xué)報,2009,4(31):147-149.
[5] 蘇紅旗,朱紅.關(guān)于虛擬實驗室建設(shè)的思考與探討[J].科技創(chuàng)新導(dǎo)報,2010,1:31.
[6] 葛海江,陶姍.融合Proteus于KeiluVision的C51教學(xué)模式探索與實踐[J].中國科技信息,2009,24:238.