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