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